Я не могу понять, почему я продолжаю получать эту ошибку. Я предполагаю, что это связано с чем-то в python 3.x, что не позволяет добавлять строки? Небольшая помощь будет оценена по достоинству. Я в основном использую бота. Я хочу, чтобы он отвечал комментарием, когда строка была найдена в другом комментарии. Затем он добавляет идентификатор комментария в текстовый файл, чтобы он не отвечал несколько раз на один и тот же комментарий.
import praw
import config
import time
import os
def bot_login():
print("Attempting to log in...")
r = praw.Reddit(username = config.username,
password = config.password,
client_id = config.client_id,
client_secret = config.client_secret,
user_agent = "Rick roll comment responder v0.1")
print("login was succesful!")
return r
def run_bot(r, comments_replied_to):
print("getting the latest 500 comments...")
for comment in r.subreddit('test').comments(limit = 500):
if "https://www.youtube.com/watch?v=dQw4w9WgXcQ" in comment.body and comment.id not in comments_replied_to and comment.author != r.user.me():
print ("Rick Roll Found!") and comment.id
comment.reply("Dont be fooled this link is a rick roll! Bleep Bleep Bloop Bloop I am a bot!")
print("replied to comment") and comment.id
comments_replied_to.append(comment.id)
with open ("comments_replied_to.txt", "a"):
f.write(comment.id + "\n")
print ("going to go sleep for 30 minutes")
#sleep for 30 minutes
time.sleep(1800)
def get_saved_comments():
if not os.path.isfile("comments_replied_to.txt"):
comments_replied_to = []
else:
with open("comments_replied_to.txt", "r") as f:
comments_replied_to = f.read()
comments_replied_to = comments_replied_to.split("\n")
comments_replied_to = filter(None, comments_replied_to)
return comments_replied_to
r = bot_login()
comments_replied_to = get_saved_comments()
print (comments_replied_to)
while True:
run_bot(r, comments_replied_to)
filter
вернулlist
и ваш код полагался на это. comments_replied_to = filter(None, comments_replied_to), если вы просто повторяетеcomments_replied_to
, это не проблема, но теперь в python 3 вам нужно принудительноlist
- person Jean-François Fabre   schedule 23.02.2017