我如何从PRAW的评论中找到Redditor的名字?例如,如果用户用机器人的关键字评论某件事,他们将收到一个PM。要发送这个,必须获得redditor的名字。我已经尝试使用以下语法,但它不起作用,并显示一个错误消息。
for comment in subreddit.stream.comments():
if keyphrase in comment.body:
plebman = comment.author
reddit.redditor(plebman).message("TEST", "BOT TESTING")
出现此错误信息
plebman = comment.author
^
TabError: inconsistent use of tabs and spaces in indentation
在PRAW中有这样的函数吗?
更新:我在PRAW文档中找到了这个命令,它可以从注释中获得作者的名字。之前的方法同样有效,但它被存储为一种未知的数据类型,称为"redditor"。该方法将值存储为字符串,消除了我之前遇到的障碍。
然后
for comment in subreddit.stream.comments():
if keyphrase in comment.body:
plebman = comment.author
reddit.redditor(plebman).message("TEST", "BOT TESTING")
现在(第三行更改)
for comment in subreddit.stream.comments():
if keyphrase in comment.body:
plebman = comment.author.name
reddit.redditor(plebman).message("TEST", "BOT TESTING")
或者总结一下
username = comment.author.name
这样名称就被存储为字符串,可以很容易地使用。