Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何防止我的机器人获得角色_Python_Discord_Discord.py_Bots - Fatal编程技术网

Python 如何防止我的机器人获得角色

Python 如何防止我的机器人获得角色,python,discord,discord.py,bots,Python,Discord,Discord.py,Bots,伙计们,我正在开发一个反应角色discord机器人,但每当我设置一个反应时,我的机器人也会得到这个角色,我怎么能阻止呢?我不想让我的机器人扮演每一个角色 这是我的密码 @client.event async def on_raw_reaction_add(payload): for role_id, msg_id, emoji in client.reaction_roles: if msg_id == payload.message_id and emoji == str(payload.

伙计们,我正在开发一个反应角色discord机器人,但每当我设置一个反应时,我的机器人也会得到这个角色,我怎么能阻止呢?我不想让我的机器人扮演每一个角色

这是我的密码

@client.event
async def on_raw_reaction_add(payload):
for role_id, msg_id, emoji in client.reaction_roles:
  if msg_id == payload.message_id and emoji == str(payload.emoji.name.encode("utf-8")):
   await payload.member.add_roles(client.get_guild(payload.guild_id).get_role(role_id))
编辑: 所以我在代码中添加了一个if语句,但显然它是错误的。你能告诉我它是怎么工作的吗

@client.event
async def on_raw_reaction_add(payload):
  for role_id, msg_id, emoji in client.reaction_roles:
    if msg_id == payload.message_id and emoji == str(payload.emoji.name.encode("utf-8")):
      if payload.member== client.user:
        return
      else:
        await payload.member.add_roles(client.get_guild(payload.guild_id).get_role(role_id))

简单地说,忽略反应加法器是你的机器人的情况

@client.event
原始反应添加上的异步def(有效负载):
如果payload.user_id=client.user.id:
返回
#这里还有其他东西

评论并不是提出新问题的好地方。发布新问题或编辑此问题(如果相关)。