使用git repo作为主存储的日记机器人
GitDiaryBot的Python项目详细描述
telegrambot,将传入的消息写入文本文件并使用Git存储库进行同步。 除了纯文本输入,它还可以理解位置、语音记录和照片。在
这个机器人应该是自托管的。 Demo bot正在多用户模式下运行,可以用于试用。在
决策和权衡
问题
我想写私人日记。我把现在对我重要的东西贴在那里。 有时我会重新组织内容,编辑旧记录。我不想分享任何一部分。在
要求
GitDiaryBot必须:
- 私人-任何第三方都不应能够查看或控制日记。
- 简单-不需要特殊的软件来读/写记录。
- 可靠-网络/硬盘驱动器故障不应导致记录丢失或未保存。
- 独立-支持自托管服务器端,私有存储库。
选择
GitDiaryBot的设计基于三个假设:
- 日记是一个单一的纯文本文件,它通过附加记录而增长。
- Git用于同步和备份。
- 新记录来自聊天机器人的消息。
虽然每个部件都可以更换,但主要目标是让这种组合起作用。在
面向对象的体系结构
调度程序正在对电报。机器人通过委派到2个类进行更新:
- 安装程序
- 接受者
接收方尝试使用传入更新中的有效用户ID加载租户。 若租户不存在,调度程序将调用安装程序来运行安装流程。在
对于成功加载的租户,调度程序调用从中提取GitDiaryBot事件的接收器 电报更新消息并调用适当的处理程序。在
处理程序使用核心类处理事件。在
核心课程的职责是:
- 保存日志记录。
- 与上游同步。
- 转录声音。
- 地理编码坐标。
- 注释照片。
核心类不允许导入核心目录之外的任何内容。在
Transformers使用核心类从其他媒体提取纯文本记录。在
技能结合电报过滤器,提取器,事件类型和处理程序。 Skillset定义租户可用的功能。在
- 项目
标签: