因此,我正在尝试制作一个机器人,如果用户直接向该机器人发送消息,它将为他们赋予该用户在该服务器中的角色,并且该机器人和该机器人都在其中。我尝试根据角色添加角色ID,但无效。
这是我在想的一个例子,可能有助于更好地解释它。
role = (role ID)
member = message.author
await client.add_roles(member, role)
现在请记住,这将在直接消息中发生,而不是在服务器上发生,这会容易得多。
如果有人知道该怎么做或有任何想法,请告诉我。
谢谢
答案 0 :(得分:0)
这里,我们记录ID,然后在收到命令时访问适当的对象。
target_server_id = "123..."
target_role_id = "456..."
@bot.command(pass_context=True)
async def gimmieRole(ctx):
if not ctx.message.channel.is_private:
await bot.say("Private command only")
server = await bot.get_Server(target_server_id)
role = discord.utils.get(server.roles, id=target_role_id)
member = server.get_member(ctx.message.author.id)
if member:
await bot.add_roles(member, role)
else:
await bot.say("You are not a member")