我想创建一个机器人,该机器人将通过响应使用户获得角色。 该代码似乎正在工作,但控制台出现错误。 但是我得到一个错误。
Ignoring exception in on_reaction_add
Traceback (most recent call last):
File "/home/pi/.local/lib/python3.7/site-packages/discord/client.py", line 312, in _run_event
await coro(*args, **kwargs)
File "slh.py", line 47, in on_reaction_add
await user.add_roles(user, newrole)
File "/home/pi/.local/lib/python3.7/site-packages/discord/member.py", line 641, in add_roles
await req(guild_id, user_id, role.id, reason=reason)
File "/home/pi/.local/lib/python3.7/site-packages/discord/http.py", line 223, in request
raise NotFound(r, data)
discord.errors.NotFound: 404 Not Found (error code: 10011): Unknown Role
Ignoring exception in on_reaction_add
Traceback (most recent call last):
File "/home/pi/.local/lib/python3.7/site-packages/discord/client.py", line 312, in _run_event
await coro(*args, **kwargs)
File "slh.py", line 47, in on_reaction_add
await user.add_roles(user, newrole)
File "/home/pi/.local/lib/python3.7/site-packages/discord/member.py", line 641, in add_roles
await req(guild_id, user_id, role.id, reason=reason)
File "/home/pi/.local/lib/python3.7/site-packages/discord/http.py", line 223, in request
raise NotFound(r, data)
discord.errors.NotFound: 404 Not Found (error code: 10011): Unknown Role
我不知道为什么会收到此错误。因为我的不和谐中存在“角色”角色。我尝试将discord.utils.get与name =“ channelname”和id =“ 723xxxxx”一起使用。两者都带来相同的错误。
机器人拥有不和谐的所有特权/权利。 谁可以帮助我解决此问题?
代码如下:
@bot.event
async def on_reaction_add(reaction, user):
if reaction.emoji == '✅':
newrole = discord.utils.get(user.guild.roles, name="testrole")
await user.add_roles(user, newrole)
希望有人可以帮助我。
答案 0 :(得分:0)
问题是它正在尝试添加user
作为角色。您可以简单地删除它,而不必将其作为参数传递,因为您已经在类中调用了该函数。改用它:
await user.add_roles(newrole)