机器人在他已经回复的地方回复评论

2024-09-30 08:15:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我和普拉写了一个机器人。我将评论id保存在一个名为cache的列表中,以避免bot回复他已经回复的评论。 这是我用来保存id的方法

def saveCache(id):
    cache.append(id)

    data = open("cache.txt", "a")
    data.write(id)
    data.write('\n')
    data.close()

这也起到了作用。在

重新启动后,bot应将文件中的所有ID加载到列表中: 缓存=[]

^{pr2}$

输出正确。在

但是机器人会回复他已经回复过的评论。在

我的“测试”不正确吗?在

 if id not in cache
     saveCache(id)
     comment.reply(message_to_reply_with)

Tags: 方法txtidcache列表datadefbot
1条回答
网友
1楼 · 发布于 2024-09-30 08:15:02

当你从缓存.txt,列表中的条目还包含尾随的“\n”。所以你的比赛会失败。在

尝试使用此方法读取不带换行符的行。在

with open('cache.txt', 'r') as f:
    cache = [ line.rstrip('\n') for line in f ]

相关问题 更多 >

    热门问题