예제 #1
0
def handle(bot):
    """Echo the message the user sent."""
    global update_id
    # Request updates after the last update_id
    for update in bot.get_updates(offset=update_id, timeout=10):
        update_id = update.update_id + 1

        if update.message:  # your bot can receive updates without messages
            if update.message.text == '/start':
                start(bot, update)
            elif update.message.text == '/help':
                help(bot, update)
            elif update.message.text == '/who':
                update.message.reply_text(who())

            elif update.message.text == '/st':
                user = TwitterUser()
                result = user.switch()
                send(bot, update, result)

            elif update.message.text.startswith('/twit'):
                content = update.message.text[6:]
                update.message.reply_text(twit(content))
            elif update.message.text.startswith('/del'):
                content = update.message.text[5:]
                update.message.reply_text(delete(content))

            else:
                update.message.reply_text('你输入了:' + update.message.text)
예제 #2
0
def switch(bot, update):
    user = TwitterUser()
    result = user.switch()
    update.message.reply_text(
        text=result,
        reply_markup=start_markup,
    )
예제 #3
0
def twit(content):
    user = TwitterUser()
    try:
        tweet = Tweet(content)
        logging.info('twitting {} ...'.format(tweet._raw))
        result = user.twit(tweet)
        return result
    except Exception as e:
        print(e)
예제 #4
0
def delete(content):
    urls = Tweet.extractURL(content)
    if not urls:
        return '仅支持贴链接删除哦😯'
    else:
        result = []
        for url in urls:
            username = url.split('/')[-3]
            user = TwitterUser(username)
            result.append(user.delete(link=url))
        return result
예제 #5
0
def twit(bot, update, content):
    user = TwitterUser()
    try:
        tweet = Tweet(content)
        logging.info('twitting {} ...'.format(tweet._raw))
        result = user.twit(tweet)
        logging.info('post success, now clearing staging')
        if result:
            clearStaging(bot, update, mode='after_post')
            return result
    except TooManyHyperLinks:
        return TooManyHyperLinks.msg
예제 #6
0
def who():
    user = TwitterUser()
    tu, thome = user.conf.username, user.conf.home_url
    report = '''
                账号:{}
                测试地址:{}
            '''.format(tu, thome)
    return report
예제 #7
0
def photo(bot, update):
    ruser = RabonaUser(update.effective_user)
    user = TwitterUser()
    user.dir = ruser.dir
    if update.message.document:
        photo_file_obj = bot.get_file(update.message.document.file_id)
    else:
        photo_file_obj = bot.get_file(update.message.photo[-1].file_id)
    local_file_name = user.savePhoto(bot, photo_file_obj)
    try:
        update.message.reply_text('嚯,要发图片喔😯')
        tweet = Tweet(local_file_name)
        logging.info('twitting photo ...')
        update.message.reply_text('在发了喔😯')
        result = user.twit(tweet)
        update.message.reply_text('发好了喔😯')
        return result
    except Exception as e:
        print(e)
예제 #8
0
def whoami(bot, update):
    user = TwitterUser()
    tu, thome = user.conf.username, user.conf.home_url
    report = '''
                账号:{}
                测试地址:{}
            '''.format(tu, thome)
    update.message.reply_text(
        text=report,
        reply_markup=start_markup,
    )
예제 #9
0
    def start_search(self):
        #new user check
        user = TwitterUser()
        if user.new_user():
            webbrowser.open(user.auth_url())
            new_user = self.popup()
            user.save_user(self.w.value)
        user.read_user_json()

        search = TwitterRequest()

        #set values for search from GUI
        search.keyword = self.keyword.get()
        search.max_results = self.max_results.get()
        search.geocode = self.geocode.get()
        search.lang = self.lang_options[self.lang_v.get()]
        search.result_type = self.result_type_v.get()
        search.max_date = self.max_date.get()
        search.session = user.auth()
        messagebox.showinfo("Estimated Time to Complete",
                            str(search.estimate_time()) + ' Seconds')

        data = search.make_request()
        save = TwitterOutput()
        #set values from GUI
        try:
            save.file_name = self.file_name
            save.out_type = self.file_type
        except:
            save.file_name = 'Output.tsv'
            save.out_type = '.tsv'
        save.result_set = data
        if save.out_type == '.json':
            save.json_output()
        elif save.out_type == '.tsv':
            save.tsv_output()
        messagebox.showinfo("Completed", "Search Completed")
예제 #10
0
파일: main.py 프로젝트: cemoulto/TwySearch
    def start_search(self):
        #new user check
        user = TwitterUser()
        if user.new_user():
            webbrowser.open(user.auth_url())
            new_user = self.popup()
            user.save_user(self.w.value)
        user.read_user_json()

        search = TwitterRequest()

        #set values for search from GUI
        search.keyword = self.keyword.get()
        search.max_results = self.max_results.get()
        search.geocode = self.geocode.get()
        search.lang = self.lang_options[self.lang_v.get()]
        search.result_type = self.result_type_v.get()
        search.max_date = self.max_date.get()
        search.session = user.auth()
        messagebox.showinfo("Estimated Time to Complete", str(search.estimate_time()) + ' Seconds')

        data = search.make_request()
        save = TwitterOutput()
        #set values from GUI
        try:
            save.file_name = self.file_name
            save.out_type = self.file_type
        except:
            save.file_name = 'Output.tsv'
            save.out_type = '.tsv'
        save.result_set = data
        if save.out_type == '.json':
            save.json_output()
        elif save.out_type == '.tsv':
            save.tsv_output()
        messagebox.showinfo("Completed", "Search Completed")
예제 #11
0
# modulo criado para "brincar" com a api

from twitter import TwitterUser

bolson = TwitterUser('jairbolsonaro')
print bolson.name
print "seguidores: " + str(bolson.followers_count)
print "tweets: " + str(bolson.tweets_count)
print "seguindo: " + str(bolson.following_count)
예제 #12
0
 def test_init(self):
     print('test0')
     self.user = TwitterUser()