首页 > 解决方案 > discord.py 通过命令创建新命令

问题描述

所以我想创建一个基本上可以通过使用创建另一个命令的命令,然后将它与公会ID一起保存到一个json文件中。示例:-add_command {命令触发器} {内容}。这可能吗,如果可以,我该怎么做?

标签: pythonpython-3.xdiscorddiscord.py

解决方案


我猜这就是你的意思...

使用的命令: -add_command 嘿“欢迎!:D”

结果: -嘿-> Bot 的回答将是 <欢迎!:D >

如果这是您想要完成的,那么...(没有完整的代码共享,因为您自己没有上传任何代码,所以我不知道您是否理解这些东西,最好学习而不是复制)。

add_command 部分看起来像......

@client.command()
@commands.has_permissions(administrator=True)
# ^ Don't let random people create commands lol (unless you want them too...)
async def add_command(ctx, command_trigger, content):
    client.triggered_commands[message.guild.id][command_trigger] = content
    # ^ your client/bot can save your triggers globally for you :)
    # Do some json manipulation here to save the dict too.
    ctx.send("Command saved!") #Let the user know

对于 json 操作,请参阅此(示例)和/或此(文档)

然后,您可以收听带有您的机器人前缀的消息使用dict 进行回复。

请注意,JSON 并不总是用于存储数据的最佳选择,因此您可能需要深入研究数据库以确保数据安全。

每次机器人启动时,您还必须将 JSON 数据加载到机器人中。

我是 Programming/discord.py 的新手,所以我还建议您加入discord.py 官方 Discord 服务器并在那里寻求帮助(:


推荐阅读