Я пытался создать бота в Твиттере, который реагировал бы на определенные ключевые слова и заставлял бота рекомендовать сериал или аниме, которые мне нравятся, но я не могу понять, как сделать так, чтобы, если кто-то напишет мне в Твиттере ключевое слово «романтический фильм " бот отвечает "В настроении для любви" или, если кто-то чирикает мне "Scifi movie", бот отвечает "instertellar".
это код, который я использовал.
import tweepy
import time
CONSUMER_KEY = 'xxxxxxxxxxxx'
CONSUMER_SECRET = 'xxxxxxxxxxxxxxxx'
ACCESS_TOKEN = 'xxxxxxxxxxxxxxxxxxxxxxxxxx'
ACCESS_TOKEN_SECRET = 'xxxxxxxxxxxxxxxxxxx'
public_tweets = api.mentions_timeline()
while True:
for tweet in public_tweets:
print(tweet.text)
if tweet.text.lower() in ('Romantic movie'): api.update_status(status='@' + tweet.user.screen_name + ' I recommend the movie "Midnight in Paris"!',in_reply_to_status_id=tweet.id)
elif tweet.text.lower()in ('Romantic Manga'):
api.update_status(status='@' + tweet.user.screen_name + ' I recommend the Manga "Bakuman"!',in_reply_to_status_id=tweet.id)
api.update_status(status='@' + tweet.user.screen_name + ' Thanks for tweeting about recommendations!', in_reply_to_status_id=tweet.id)
time.sleep(5)
🤔 А знаете ли вы, что...
Python активно используется в научных и инженерных вычислениях.
Если вы проверите так:
if tweet.text.lower() in ('Romantic movie')
Вы выполняете код в своем заявлении только в том случае, если полное сообщение содержится в слове «Романтический фильм», например, если кто-то отправляет вам сообщение со словом «омантический».
Вместо этого вы хотите проверить, есть ли в тексте слово «Романтический фильм».
Итак, вам нужно написать
if 'Romantic movie' in tweet.text:
Если вы используете .lower() в своем тексте, вам также придется искать текст в нижнем регистре.
if 'romantic movie' in tweet.text.lower()
Попробуйте и дайте мне знать, если это решит вашу проблему :)