我有一个机器人,我正在努力做得更好。它被称为版主bot,我正在努力添加新命令。我无法在任何地方找到代码。
如何让主持人僵尸程序在加入服务器时为用户提供角色。如何让服务器所有者对其进行配置,以便机器人可以在不同的服务器上使用?
我还希望DM拥有所有者命令,以便他们可以看到它,只有所有者设置的角色能够访问该命令。
这听起来很高级,可能是,但有人可以为我编写代码或告诉我如何制作代码吗?
答案 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>)
到你的帮助命令。
希望这有帮助