我正在制作一个reddit机器人,它回复某些特定评论。
但我收到此错误:invalid_grant错误处理请求
我无法找到解决方案。
这是我的代码,我正在使用Python。
import praw
import time
import config
def login():
r = praw.Reddit(user_agent = "test bot",
username = config.username,
password = config.password,
client_id = config.client_id,
client_secret = config.client_secret)
print("logged in")
return r
cache = []
def run_bot(r):
subreddit = r.subreddit("Test")
comments = subreddit.get_comments(limit=25)
for comment in comments:
comment_text = comment.body.lower()
if "xD" in comment_text and comment.id not in cache:
comment.reply("xD")
cache.append(comment.id)
while True:
r = login()
run_bot(r)
time.sleep(5)
回溯:
logged in
Traceback (most recent call last):
File "xdbot.py", line 28, in <module>
run_bot(r)
File "xdbot.py", line 19, in run_bot
comments = subreddit.get_comments(limit=25)
File "D:\Programming\Phyton\lib\site-packages\praw\models\reddit\base.py", line 31, in __getattr__
self._fetch()
File "D:\Programming\Phyton\lib\site-packages\praw\models\reddit\base.py", line 66, in _fetch
params=self._info_params)
File "D:\Programming\Phyton\lib\site-packages\praw\reddit.py", line 367, in get
data = self.request('GET', path, params=params)
File "D:\Programming\Phyton\lib\site-packages\praw\reddit.py", line 451, in request
params=params)
File "D:\Programming\Phyton\lib\site-packages\prawcore\sessions.py", line 174, in request
params=params, url=url)
File "D:\Programming\Phyton\lib\site-packages\prawcore\sessions.py", line 108, in _request_with_retries
data, files, json, method, params, retries, url)
File "D:\Programming\Phyton\lib\site-packages\prawcore\sessions.py", line 93, in _make_request
params=params)
File "D:\Programming\Phyton\lib\site-packages\prawcore\rate_limit.py", line 32, in call
kwargs['headers'] = set_header_callback()
File "D:\Programming\Phyton\lib\site-packages\prawcore\sessions.py", line 134, in _set_header_callback
self._authorizer.refresh()
File "D:\Programming\Phyton\lib\site-packages\prawcore\auth.py", line 328, in refresh
password=self._password)
File "D:\Programming\Phyton\lib\site-packages\prawcore\auth.py", line 142, in _request_token
payload.get('error_description'))
prawcore.exceptions.OAuthException: invalid_grant error processing request
答案 0 :(得分:0)
请仔细检查您的凭据,this note说明。
请记住,用户名是您的 reddit的帐户名,而不是机器人名称。
答案 1 :(得分:0)
除了您的凭据无效之外,另一种可能性是您的机器人已因过多的登录尝试而超时。您可以通过尝试在Reddit上手动登录您的bot并查看其内容来进行检查。
答案 2 :(得分:0)
此外,您的代码将无法运行,因为您使用了“lower”命令并且您比较的字符串中有一个大写字母。