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

时间:2018-05-01 03:31:40

标签: python discord discord.py

我有一个机器人,我正在努力做得更好。它被称为版主bot,我正在努力添加新命令。我无法在任何地方找到代码。

如何让主持人僵尸程序在加入服务器时为用户提供角色。如何让服务器所有者对其进行配置,以便机器人可以在不同的服务器上使用?

我还希望DM拥有所有者命令,以便他们可以看到它,只有所有者设置的角色能够访问该命令。

这听起来很高级,可能是,但有人可以为我编写代码或告诉我如何制作代码吗?

1 个答案:

答案 0 :(得分:1)

1)要让机器人在加入时为其提供角色,您需要在add_roles()事件中设置on_member_join。这可以通过

完成
@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示例,以根据文件中的member.server.id选择角色ID,并使用discord.utils.get()中的角色ID

3)要让机器人DM 任何人显示默认帮助消息,请将pm_help=True添加到您的Bot()参数中。要让部分命令成为普通用户,并且只发送给所有者,您需要创建一个新的帮助命令。为此,您需要在代码顶部附近添加bot.remove_command('help'),然后创建一个名为help的命令。然后,要将命令仅发送给所有者,请添加

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

到你的帮助命令。

希望这有帮助