【问题标题】:How to add a role to a specific member when he joins a discord server加入不和谐服务器时如何为特定成员添加角色
【发布时间】:2021-11-23 12:34:16
【问题描述】:

我是 python 新手,所以有人可以帮助我编写代码,因为它无法正常工作。当我想要的用户加入时,它不会给它一个角色。我想让它为 特定用户 在加入discord服务器时提供角色。

   @client.event 
    async def on_member_join(member):
      member = get(member.id, id=member_id)
      role = get(member.guild.roles, id=role_id)
      await member.id(member)
      await member.add_roles(role)

【问题讨论】:

    标签: python discord discord.py


    【解决方案1】:

    我什至不知道你为什么把事情弄得这么复杂。

    由于您已经将member 作为“参数”,因此您可以使用它而不必再次定义member

    我们可以通过member.id 很容易地得到member 的ID。如果我们想将其与真实 ID 进行比较,我们执行以下操作:

    if member.id = TheIDHere:
        # Do what you want to do
    

    角色的功能是正确的,但我找不到await member.id(member) 的用途。这有什么意义/有什么用?

    最后添加角色的方式也是正确的,但代码必须正确缩进,最好使用if / else 语句,否则如果总是错误的member 加入。

    整个代码:

    @client.event
    async def on_member_join(member):
        role = discord.utils.get(member.guild.roles, id=IDOfTheRole)  # Get the role from member.guild and the id
        if member.id == TheIDHere:  # If the member.id matches
            await member.add_roles(role)  # Add the role for the specific user
        else:  # If it does not match
            return  # Do nothing
    

    您可能还需要启用members Intent,这里有一些很好的帖子:

    【讨论】:

      猜你喜欢
      • 2021-07-11
      • 2021-05-15
      • 2018-12-13
      • 2020-04-04
      • 1970-01-01
      • 1970-01-01
      • 2021-11-18
      • 1970-01-01
      • 2020-12-05
      相关资源
      最近更新 更多