当前位置: 首页 > 知识库问答 >
问题:

如何让discord.py机器人让某人添加和删除其他人的角色

寿阳华
2023-03-14

在我的不和谐中,我有几个角色,比如“所有者”、“成员”和“监狱”。我希望bot只能由“所有者”角色访问,并希望命令如下所示:。监狱@user。然后机器人应该去掉“成员”角色,给他们“监狱”角色。

不和谐服务器最新更新请在此输入图像描述

共有1个答案

孙自怡
2023-03-14

要使命令仅可由特定角色访问,请执行以下操作:

@bot.command()
@commands.has_role("Name")
async def example(ctx):
 await ctx.send("This was an example for R.Peter!")

对于添加/删除角色,可以这样做:

@bot.command()
async def jail(ctx, member:discord.Member)
 jailrole=get(guild.roles, name="Jail")

 await member.add_roles(jailrole)

除了等待成员之外,删除角色是相同的。添加角色(监狱)成为等待成员。删除角色(监狱)

希望这能回答你的问题!

来源:

@命令。角色(“名称”)不一致。py文档

等待member.add_rolesdiscord.py文档

等待成员。删除_角色discord。py文档

 类似资料:
  • 我试图制作一个不和谐机器人,当被召唤时,它将加入作者所在的语音频道。 这是我所拥有的: 当我加入语音频道并键入命令时,我收到以下错误:

  • 我有一个关于不和的问题。皮耶。我运行我的bot所在的两个独立服务器:测试服务器和主服务器。问题是,当我在测试服务器中发送消息时,bot会将其消息发送到主服务器,而不会将其发送回调用命令的服务器(仅在函数中)。 例如: 如果我在测试服务器中键入上述内容,我的bot将以“你好!”在测试服务器中。但是,如果我尝试将此代码放入函数并调用它: 通道ID显然设置为特定服务器。因此,假设我将ID“1234”作为

  • 跟一些比较牛X的程序员交流,经常听到他们嘴里冒出一个不标准的英文单词,而loop、iterate、traversal和recursion如果不在其内,总觉得他还不够牛X。当让,真正牛X的绝对不会这么说的,他们只是说“循环、迭代、遍历、递归”,然后再问“这个你懂吗?”。哦,这就是真正牛X的程序员。不过,他也仅仅是牛X罢了,还不是大神。大神程序员是什么样儿呢?他是扫地僧,大隐隐于市。 先搞清楚这些名词

  • 我创建了一个非常基本的网站,用户登录,然后可以访问他们可以编辑的表。我希望用户能够只删除自己的详细信息,没有其他人,我不知道我应该添加到删除页面,所以它只删除登录用户的详细信息,而不删除其他人的。目前它没有删除任何细节。 这是我的注册页面 这是我的登录页面 这是我的联系页面 最后是我的删除页面

  • 我正在尝试让我的discord机器人连接到一个语音频道,目前如下所示: 基本上,当他们发送消息时,我希望它加入消息作者的语音频道“-skip”,然后我的机器人加入,在聊天中说-p scotland forever,然后离开。我收到一条错误消息,说“频道”未定义或“连接”未定义,我尝试了几种不同的方法,我想我只是没有导入插件或其他东西,这可能是我的问题,但我知道应该使用什么插件。任何帮助都将不胜感激

  • 我正试图通过discord创建一个discord机器人。py并希望创建一个显示成员pfp的命令。但是,我希望bot能够识别何时正在ping,何时正在请求pfp。我如何重新格式化它,使我的机器人识别它是否在成员ping时被引用(假设机器人的名称和id为“bot#1111”) 我希望discord用户输入的reference命令 ,membget@Bot#1111