Munchacho Ответов: 1

Как мне заставить этого бота работать и исправить эту ключевую ошибку?


Итак, у меня есть этот бот, который я делаю для twitter. Цель бота-искать твиты, начинающиеся с "я", а затем я хочу, чтобы он копировал все, что идет после "я"." Затем ответьте "Привет ____________, я-папа!" Но в настоящее время у меня есть ключевая ошибка для моей переменной в твите. Я понятия не имею, как исправить эту ключевую ошибку. Затем я не знаю, как заставить его на самом деле сказать все, что идет после "я", поскольку он автоматически просто говорит "Привет, я Папа", а затем остальную часть твита, но мне еще предстоит протестировать новейшую версию из-за этой ключевой ошибки.

Вот мой код
import tweepy
import tweepy as tt
import tim
import sys
import importlib
from importlib import reload
from collections import defaultdict

importlib.reload(sys)

# login credentials twitter account
consumer_key = ''
consumer_secret = ''
access_token = ''
access_secret = ''

# login
auth = tt.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)
api = tt.API(auth)
search_query = "I'm"
user = api.me()
print(user.name)

max_tweets = 100

for tweet in tweepy.Cursor(api.search, q=search_query, tweet_mode='extended').items(max_tweets):
    t = tweet.full_text
    answer = "@{name} Hi {t}, I'm dad!".format(name=tweet.user.screen_name)
api.update_status(in_reply_to_status_id=answer)

print("Reply:", answer)

time.sleep(0)  # every 5 minutes


-----------------------------------------------

Обратная трассировка (самый недавний призыв последнего):
Файл "C:\Users\alexo\PycharmProjects\Twitter папа\Твиттер Daddy.py", строка 29, В модуле>
ответ = "@{name} Привет {t}, я папа!".формат(name=tweet.user.screen_name)
KeyError: 't'


Вся помощь ценится и большое вам спасибо!

Что я уже пробовал:

Много чего, я работаю на этом в течение приблизительно 12 часов. Ничего особенного, поскольку я новичок.

Richard MacCutchan

Вы объявили переменную с именем t но вы не присваиваете ему значения.

Munchacho

Я назначил его на tweet.full_text, не так ли?

Richard MacCutchan

Я не знаю Twitter, но в формате statement t не объявлен, поэтому полученный ответ, скорее всего, неполон.

1 Ответов

Рейтинг:
0

F-ES Sitecore

Вам, вероятно, нужно что-то вроде этого;

tweet_mode='extended').items(max_tweets):
    answer = "@{name} Hi {t}, I'm dad!".format(name=tweet.user.screen_name, t=tweet.full_text)