1. 选择您知道如何维护的运行时
在寻找最快的一种之前,请为您的项目选择最具可读性的一种。 Node.js 和 Python 已经涵盖了 Discord 的大部分用途。真正的收获来自可重现的环境:固定的运行时版本、已知的依赖项以及与代码分离的环境变量。
明确生产中使用的运行时的版本。
切勿将机器人令牌存储在存储库中。
记录最少的预期变量和权限。
2. 日志、运行状况和重启
自动重启很有帮助,但这还不够。如果机器人因无提示错误而循环,它将立即重新启动而不纠正问题。因此需要将重启策略、可读日志和健康检查点结合起来。
捕获 Discord 库初始化错误。
保留关键事件:连接、断开连接、配额、崩溃。
检查重新启动是否不会删除对调试有用的索引。
3. 单独的执行、存储和审核
当机器人成长时,它的问题不再仅仅来自代码。数据库、临时文件、Discord 权限和日志记录需要澄清。项目越社区化,就越有必要将应用层与审核和支持层区分开来。
确定重新部署后必须保留哪些内容。
规划备份的存放位置以及谁可以访问它们。
在事件发生之前而不是事件发生期间定义支持渠道。