Skip to content

最佳实践

1. 线程安全

  • WS 线程 / 事件回调中调用游戏 API,必须用 lumen.run_on_main 包裹
  • lumen.mc.runcmd / lumen.mc.broadcast 已内置主线程调度,可直接用
  • storage 读写是线程安全的,可直接在任意线程调用

2. 事件命名

  • 自定义事件建议用 <插件名>.<动作> 格式,避免冲突:lumen.emit("economy.transfer", ...)
  • 监听 OneBot 事件前判断 group_id in lumen.plugin.config_manager.main_groups,避免响应无关群

3. 资源清理

  • 事件监听器由 LumenContext 自动管理,on_unload 无需手动 off
  • 自定义的定时任务、文件句柄、网络连接需在 on_unload 中手动清理

4. 配置持久化

  • createConfig 只负责表单渲染与事件通知,不会自动保存配置
  • 需在 config.update.<name> 事件中调用 lumen.storage.write 自行持久化
  • 加载时用 lumen.storage.read("config.json", default) 读取

5. 错误处理

  • 事件回调中抛出的异常会被事件总线捕获并记入日志,不会崩溃服务器
  • 但建议在关键逻辑中 try/except,避免静默失败

6. 多群适配

  • lumen.plugin.config_manager.main_groups(list[int])获取全部主群
  • 需要广播到所有主群时遍历该列表
  • 不要硬编码群号,让用户在配置里填

基于 MIT 许可协议发布