使用电报bot和Twitter状态获取旧更新

时间:2019-07-12 14:29:17

标签: python twitter telegram telegram-bot

因此,我一直在使用Python-Telegram-Bot和Tweepy编写一个简单的bot,以从指定的用户名中检索最新状态。 它可以工作,但是一旦用户发布新的推文,该漫游器就不会更新最后的推文。它会一遍又一遍地返回相同的旧推文。

这是我当前的代码,分为两个文件。首先,我的tweepy代码:

import tweepy

class twitter():
    def __init__(self, api_key, api_secret_key, access_token, access_token_secret):
        self.api_key = api_key
        self.api_secret_key = api_secret_key
        self.access_token = access_token
        self.access_token_secret = access_token_secret

    def auth(self):
        auth = tweepy.OAuthHandler(self.api_key, self.api_secret_key)
        auth.set_access_token(self.access_token, self.access_token_secret)

        api = tweepy.API(auth)

        tuits = api.user_timeline(screen_name = "twitter_username", count = 1, include_rts = True, tweet_mode = 'extended')
        return tuits

    def post(self, tweets):
        for status in tweets:
            return(f"Creado en {status.created_at}", status.full_text)


def main():
    api_key = "api_key_string"
    api_secret_key = "api_key_secret_string"
    access_token = "access_token_string"
    access_token_secret = "access_token_secret_string"

    tw = twitter(api_key, api_secret_key, access_token, access_token_secret)

    autenticacion = tw.auth()
    postear = tw.post(autenticacion)
    return postear

现在的机器人代码:

import telegram
from telegram.ext import *
import essubte


essubte_bot = telegram.Bot(token="telegram_token_string")
essubte_updater = Updater(essubte_bot.token)

def start(bot, update, pass_chat_data = True, subte = essubte.main()):
    update.message.chat_id
    bot.sendMessage(chat_id = update.message.chat_id, text = subte)

start_handler = CommandHandler('start', start)

dispatcher = essubte_updater.dispatcher

dispatcher.add_handler(start_handler)

essubte_updater.start_polling()
essubte_updater.idle()

while True:
    pass

我已经为此工作了两天,我不知道为什么会这样。 要尝试这一点,您将需要一个Twitter令牌和一个电报bot令牌。

谢谢。

0 个答案:

没有答案