首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何通过直接消息discord.py为用户分配服务器中的角色

如何通过直接消息discord.py为用户分配服务器中的角色
EN

Stack Overflow用户
提问于 2018-08-08 09:50:47
回答 1查看 1.7K关注 0票数 0

因此,我正在尝试制作一个机器人,如果用户直接向机器人发送消息,它将在用户和机器人都在的服务器中为他们提供一个角色。我尝试仅根据角色ID添加角色,但这不起作用。

下面是我所想的一个例子,这可能有助于更好地解释它。

代码语言:javascript
复制
role = (role ID)

member = message.author
await client.add_roles(member, role)

现在请记住,这将在直接消息中发生,而不是在服务器中,因为在服务器中这会更容易。

如果有人知道如何做到这一点或有任何想法,请让我知道。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-08 10:05:04

在这里,我们记录ids,然后在收到命令时访问相应的对象。

代码语言:javascript
复制
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")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51737572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档