9 Commits

Author SHA1 Message Date
fc7744b28a fix 2024-09-28 15:48:15 +08:00
d496c9924a fix 2024-09-28 15:45:35 +08:00
20594715d2 修复数据库迁移脚本,优化关键词表结构 2024-09-28 15:31:37 +08:00
a093f712f8 数据库与关键词管理功能的增强
- 扩展了数据库模式,为关键词添加了新字段:is_link、is_auto_added和added_at。
- 实现了新的关键词管理方法,包括AddKeyword的更新,使其能够设置链接和自动添加标记。
- 开发了CleanupExpiredLinks方法来删除过期的自动添加链接。
- 导入了time包以支持新字段的Timestamp默认值。
- 进行了迁移脚本的开发和执行,以无缝过渡到新的数据库结构。
- 更新了关键词检索方法,以支持新的关键词属性。
- 在消息处理和链接过滤服务中调整了关键词的添加逻辑。
- 重构了/list命令的响应,以区分手动添加的关键词和自动添加的链接。
- 优化了/add命令,以正确处理新的关键词属性。

注意:这些更改需要在已有的数据库中执行适当的迁移脚本,以避免数据丢失或结构冲突。
2024-09-28 15:28:26 +08:00
98ebbce6f1 创建核心函数文件, link_filter处理函数移动到对应包里, 简洁消息处理器. 2024-09-20 12:03:05 +08:00
b153581254 数据库和核心初始化优化
- 数据库:
  - 从Database实例中移除AddKeyword和RemoveKeyword中的错误返回值。现在只在发生错误时返回错误。
  - 为RemoveKeyword添加受影响行数的返回值,以判断关键词是否被成功删除。
  - 优化AddPromptReply和DeletePromptReply,使用事务确保数据的一致性和完整性。
  - 调整GetAllPromptReplies以强制刷新缓存并更新缓存时间。

- 核心:
  - 重构init.go中的全局变量初始化,移除多余注释。
  - 在main.go中添加数据库关闭操作,确保资源在程序结束时被正确释放。

- 链接过滤器:
  - 重构LinkFilter服务,移除数据库实例字段。
  - 更新LinkFilter中的数据加载和关键词操作,使用core包中的数据库方法。
  - 添加LinkFilter的Close方法以关闭数据库连接。

- 消息处理器:
  - 移除message_handler.go中handleUpdate和handleAdminCommand中的数据库参数。
  - 更新RunMessageHandler以初始化数据库并确保在结束时关闭连接。
  - 调整handleListKeywords、handleAddKeyword、handleDeleteKeyword、handleDeleteContainingKeyword、handleListWhitelist、handleAddWhitelist和handleDeleteWhitelist,移除数据库参数。

- 提示回复:
  - 在prompt_reply.go中移除全局数据库变量。
  - 更新SetPromptReply和DeletePromptReply,使用core.DB代替db。
  - 调整GetPromptReply和ListPromptReplies使用更新后的数据库访问方法。

这些更改优化了代码结构,减少了全局状态,并提高了数据库操作的可靠性。
2024-09-19 23:07:11 +08:00
f27f87b708 (服务稳定性优化与功能增强) 2024-09-19 22:39:30 +08:00
5d05e0a343 初始化时获取环境变量 2024-09-19 22:07:41 +08:00
4291640190 整体构架重构 2024-09-19 21:58:27 +08:00