因此,我一直在使用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令牌。
谢谢。