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

如何使我的Python discord bot在加入时赋予角色?

仲孙子辰
2023-03-14

我有一个机器人,我正在努力让它变得更好。它叫做版主机器人,我正在添加新命令。我只是到处找不到代码

如何让版主机器人在用户加入服务器时赋予他们角色。如何使服务器所有者可以配置它,以便机器人可以在不同的服务器上使用?

我还希望它对owner命令进行DM,这样他们就可以看到它,只有owner集角色才能访问该命令。

这听起来很先进,可能是,但是有人能为我写代码或者告诉我如何制作吗?

共有1个答案

甘明朗
2023-03-14

1) 要使bot在成员加入时为其提供角色,您需要在on_member_join事件中设置add_roles()。这可以通过以下方式实现:

@bot.event
async def on_member_join(member):
    role = discord.utils.get(member.server.roles, id="<role ID>")
    await bot.add_roles(member, role)

2) 要为每台服务器定制角色,您需要一些文件来保存服务器id,以及用户加入时提供的角色id(我个人会使用.db文件和sqlite3从python编辑它,但您可以做任何您想做的事情)。您还需要稍微编辑我给出的on_member_join示例,以根据成员选择角色id。服务器id,并在discord中使用角色id。乌提尔斯。get()

3) 要让机器人显示默认的帮助消息,请将pm\u help=True添加到bot()参数中。要将部分命令发送给普通用户,并将所有命令仅发送给所有者,您需要创建一个新的帮助命令。为此,您需要添加bot。删除代码顶部附近的命令(“help”),然后创建一个名为help的命令。然后,要使命令仅发送给所有者,请添加

if ctx.message.author.id == ctx.message.server.owner.id:
    await bot.send_message(ctx.message.author, <help message>)

到你的帮助命令。

希望这有帮助

 类似资料:
  • 我正在尝试做一个命令,给用户一个角色。它以前是工作的,但不是它只是给机器人一个角色。 这也发生在我的level命令上,该命令应该检查用户的级别。它检查的是机器人的水平,而不是用户的水平。

  • 我想让我的机器人直接向加入我的服务器的人发送消息,并在30秒后给他们角色。我没有收到任何错误,我的机器人没有崩溃,但它什么也不做。 我的代码: 我已经导入了,,我的机器人有权限,成员没有阻止DMs。

  • 我对用JavaScript编码非常陌生,我正在为不和谐服务器设置一个简单的事件机器人。 这在概念上非常简单,机器人真正做的只是允许任何人给他们提到的任何成员分配一个“死亡”角色。 然而,我面临的问题是: •kill命令,虽然它可以为人们提供死亡角色,并宣布一个成员被淘汰,但如果一个成员已经死亡或具有职员角色,它不会抛出相应的错误。它只是宣布该成员已被淘汰,而不管他们扮演什么角色。 •输入任何带有字

  • 如何为默认的Google App Engine(GAE)服务帐户赋予其他角色: 具体地说,我希望将“Cloud SQL Client”角色赋予默认的app engine服务帐户。当我试图修改角色时,我得到以下消息:

  • Bot只是不工作:/Bot没有给出任何错误

  • 问题内容: 我有一个像这样的元素: 我想给它的CSS类更大的优先级,而不是它的CSS ID。可能吗? (换句话说,我想将-color 设置为其) 问题答案: 不要使用,因为这是最糟糕的解决方案,如果您要切换样式,请按照这种方式进行操作。 如果您还想使用该类来定位其他元素,则不仅要 使用,还可以使用: