Telegram Bot开发
平时遇到的技术/非技术问题,除了博客总结外,我经常会写到GitHub repo的issue里,目前主要是
alanhg/others-note
和alanhg/coding-note
两个repo。很多时候想去搜下以前记的这些问题,发现这种跨repo搜索效率很低,于是想到Telegram Bot来解决issue检索问题。按照这个需求,简单查了下,发现网上并没有,于是自己动手实现了下。
当前效果
通过repoadd
命令添加目标仓库,之后就可以输入任意关键词进行多repo issue检索了。效果如下
使用地址:GitHub Issue Bot
bot开发
针对bot开发也踩了些坑,这里总结下
bot创建联系
@BotFather
机器人,一番交互操作下即可bot名称/头像,命令列表等,均是在该机器人下操作设置
注意保存好bot_token,唯一决定哪个bot,及收发消息
针对bot如果需要创建命令列表,也是联系
@BotFather
,选择目标bot编辑,其中就有编辑命令。命令编辑这里有个细节点命令不要有中线
命令开始不要有/,这个是具体命令触发时需要的固定前缀,命令本身不需要再手动添加
无法增量添加命令,必须一次输入完整命令集
bot开发有很多现成的类库辅助起步
- nodejs下就可以使用node-telegram-bot-api
bot发送消息支持markdown/html几种格式,这样很方便解决消息排版问题
bot发送消息,比如提示用户搜索中,之后搜索结果有了,想更新该消息为结果列表,使用
bot.editMessageText
,参数中明确message_id及chat_id即可bot有时候想关注用户基于某条消息的回复,使用
bot.onReplyToMessage
bot服务部署需要在外网环境下,测试阶段也需要解决代理问题
写在最后
有了这个bot,以后只需要输入关键词检索是否有类似issue了。