项目地址:GitHub - kkyu9527/Tg_pm_bot
项目的起因
最初是听别人说 Telegram 存在一个“双向”的机制。会导致你的账号无法在群组发消息,只能给双向联系人发送消息。为了避免这种情况,可以用机器人代替我接收消息。
初版逻辑:私聊转发
第一版是一个简单的实现。用户直接给机器人发消息,机器人再把消息转发给我。但随着使用次数增多,这种方式逐渐显得混乱。不同用户的消息混在一起,很难看清谁发了什么,也不利于后续整理。
改进方案:群组 + 话题
后来在别的群看到了一种新的方法:把机器人加入一个群组,再用“话题”功能将每个用户的消息分别归类。这样每个用户就有了一个独立的话题,所有与该用户相关的消息都聚合在一起,结构清晰,也方便我后续回复。
我把这个逻辑加到项目里,不断测试和优化,现在已经比较稳定了。
这里展示一下大概的样子
可以看到,现在不同的用户在不同的话题,并且回复消息直接回复即可,不需要其他操作。
前提是先创建一个独立的群组,然后在群组设置中打开话题模式,最后把bot拉到群组里。
项目使用说明
具体运行方式已经在仓库的 README 中写得比较详细了,这里不再赘述。
不过有几点可以额外说明:
- 请注意不要在本地已有同名数据库的情况下运行,否则可能冲突。
- 配置项都写在
.env文件里,敏感信息不应提交到远程仓库。
总结
这个项目从一个小想法出发,到现在具备了稳定运行的能力,也解决了我自己在使用 Telegram 时的实际需求。如果你也有类似的需求,或许它能给你一些参考。
补充说明
一开始我的设想是使用Ai的Api进行回复内容,但是后来发现效果不好,删除了。
更新
折腾了好几天,慢慢发现bug,慢慢修复bug。最终版也是完成了,以后大概不动了,私聊bot就应该只转发消息,不需要其他花里胡哨的功能。
现在的最终版是主人在话题发送消息后,可以编辑和删除发出来的消息(目前我用了四五款其他私聊bot还没有一个有这个功能)
就这样吧,没啥需要改了的,Ai相关的函数调用也删了,没啥用。


