よくある○○%で言葉がそろう系のbotを作成していて、サブ要素的な感じでbotをメンションした人へリプライをする機能を実装したいです。現在はscheduleモジュールを使って10秒おきにプログラムを実行しているのですが、うまくメンションしたアカウントを取得できていないのか、メンションをしても一向にリプライが送られてきません。どうすればよいか、有識者の方ご教授願います。
import tweepy import random import time import datetime import schedule def job(): print(datetime.datetime.now()) schedule.every(10).seconds.do(job) Twitter_ID = "---------------------------" SCREEN_NAME = '---------------------------------' CONSUMER_KEY = "---------------" CONSUMER_SECRET = "----------------------------------------------" ACCESS_TOKEN = "-----------------------------------------------------" ACCESS_TOKEN_SECRET = "------------------------------------------------" auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET) item_list = [...割愛...] api2 = tweepy.API(auth) status = api2.mentions_timeline() for mention in status: reply_text = "@"+str(mention.user.screen_name)+" "+ random.choice(item_list) api2.update_status(status = reply_text, in_reply_to_status_id = mention.id) while True: schedule.run_pending() time.sleep(1)
プログラムはこんな感じです。
最初の実行ではしっかりとプライが届いていますが、一度実行した後にメンションした場合にはリプライが届いていないといった感じです。
試したこと
while文での無限ループを試みたのですがそれもうまくいきませんでした。先述の通り、scheduleモジュールで10秒ごとに実行してもうまくいっていません。
実現したいこと
botをメンションしたツイートへリアルタイムで自動でリプライをできるようにしたい。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/26 04:56