python - discord.py 通过命令创建新命令
问题描述
所以我想创建一个基本上可以通过使用创建另一个命令的命令,然后将它与公会ID一起保存到一个json文件中。示例:-add_command {命令触发器} {内容}。这可能吗,如果可以,我该怎么做?
解决方案
我猜这就是你的意思...
使用的命令: -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
然后,您可以收听带有您的机器人前缀的消息并使用dict 进行回复。
请注意,JSON 并不总是用于存储数据的最佳选择,因此您可能需要深入研究数据库以确保数据安全。
每次机器人启动时,您还必须将 JSON 数据加载到机器人中。
我是 Programming/discord.py 的新手,所以我还建议您加入discord.py 官方 Discord 服务器并在那里寻求帮助(:
推荐阅读
- import - RxJS 模块更新后报错。怎么解决?
- python - Keras ImageDataGenerator Fit 导致内存泄漏
- python - crontab 未按预期运行
- javascript - 用 jest 测试一个函数
- c++ - 为什么 C++ 不允许两个具有相同名称的函数/类模板,仅在非类型模板参数(整数类型)的类型上有所不同?
- scheme - 如何避免球拍中的加载循环?
- javascript - 如何根据javascript代码中的父类来改变子类的文本?
- java - HashMap 使用流和子字符串
- python - Python:如何使用 super() 初始化 2 个超类?
- blockchain - 仅将唯一键推送到 Solidity 中的数组