c# - 如何使我的机器人列表服务器位于其中?
问题描述
我对 C# Discord bot-coding 很陌生,在遇到一个我想问的问题后(我在网上寻找答案,但没有成功)
我想让机器人保存有关它所在服务器的数据。
基本上,我的想法是:
- 每个服务器都有自己的文件,由服务器的 id 命名
Storage\Guild\[guild id]
- 在某人更改服务器中的机器人选项后(例如服务器中的前缀,服务器中的员工),服务器的文件被编辑并保存。
- 服务器文件包含:选择什么前缀,谁可以访问审核命令等等。
我试图做类似的事情:
Context.Client.Guilds.
,但在那里迷路了。
对此有任何帮助或提示吗?
解决方案
好吧,我建议使用某种数据库,但也可以使用文本文件 ofc。至少将你的东西保存在 JSON 中,它会让事情变得更容易。
所以你可以做的是在DiscordSocketClient#JoinedGuild
事件上创建一个带有公会名称的新文本文件,你还可以设置默认值,例如默认前缀和东西。您要保存的其他内容也是如此。
因此,由于用户需要通过命令更改前缀,您可以在那里实现它。此外,当您使用文本文件时,您需要在访问它们之前确保它们存在,如果它们被删除了一些如何创建一个新文件。这也适用于您要保存的所有其他内容。
推荐阅读
- jquery - 使用 jquery 禁用当前按钮
- html - 当通过 `overflow`、`white-space` 和 `text-overflow` 截断文本时,基线以下的部分字母变得不可见
- javascript - 如何在 React 中实现基于多角色的授权
- spring - Spring Boot 云网关路由
- javascript - 当浏览器处于全屏模式时,如何禁用所有链接?
- c# - SqlDataSource 中的日期时间转换
- autodesk-forge - 如何为 Autodesk forge 创建 3d 图钉扩展?
- c - Dev C++ 未能执行错误 193 %1 不是有效的 win32 应用程序 | C 编程
- reactjs - 如何使用钩子以 MultiStep 反应形式保存 MultiSelect 值
- python-3.x - 卷积神经网络中的过拟合问题及决定卷积层和dence层的参数