加入不和谐服务器时如何为特定成员添加角色
Posted
技术标签:
【中文标题】加入不和谐服务器时如何为特定成员添加角色【英文标题】: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)
【问题讨论】:
【参考方案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,这里有一些很好的帖子:
【讨论】:
以上是关于加入不和谐服务器时如何为特定成员添加角色的主要内容,如果未能解决你的问题,请参考以下文章