Я начал с python некоторое время назад и сделал простой бот для Reddit. К сожалению, функционал бота работает только на сообщениях, которые сделаны до запуска бота в терминале. Если после запуска бота в подреддит отправляется сообщение, бот не комментирует и не извлекает эти сообщения.
Еще одна вещь, которая может быть связана с тем, что консоль выдает «Нет соответствующих сообщений прямо сейчас». дважды вместо одного Я не уверен, что это связано.
Вот код, который я считаю важным для этой проблемы, если вам нужно больше контекста, дайте мне знать!:
def mainloop():
counter1 = 0 # Counts submissions in new that have been crawled
for submission in subreddit.new(limit=5): # Get the 5 newest submissions
counter1 = counter1 + 1
callings = ['canada', 'canadian', '??'] # Triggers
normalized_title = submission.title.lower()
normalized_text = submission.selftext.lower()
while True:
if submission.id not in posts_replied_to: # If the post is new to the bot
time.sleep(30) # Keep spam low
for canadian_mentions in callings:
if canadian_mentions in normalized_title: # If trigger is in title
# Make the reply, print to console, then add the post to the replied storage
submission.reply(reply_text)
print("Bot replying to : ", submission.title, "\n")
posts_replied_to.append(submission.id)
elif canadian_mentions in normalized_text: # If trigger is in text body
# Make the reply, print to console, then add the post to the replied storage
submission.reply(reply_text)
print("Bot replying to : ", submission.selftext, "\n")
posts_replied_to.append(submission.id)
else:
print("No applicable posts right now.")