## 做了哪些修改?
1. 可转发内容到私聊/频道/群组(有且只能有一个)
2. 关键字匹配可使用黑名单和白名模式,正则表达式匹配为白名单模式(/subscribe指令添加 -w 参数代表白名单模式)
3. 完整转发消息,但(文字+媒体)类型消息选择链接预览
4. 添加/info指令,用于获取群组或频道ID
本质上修改成了针对某些频道,过滤不需要的消息
## 自定义Bot命令
用户可以自行向Telegram的BotFather添加以下指令:
botfather -> 选择bot -> Edit Bot -> Edit Commands
发送以下内容
“`bash
start – 开始
info – 显示群组/频道ID
subscribe – 关键字1,关键字2/正则表达式 频道1,群组2 [转发目标ID] (-w)白名单参数
unsubscribe_id – id1,id2
unsubscribe_all – 删除所有规则
list – 显示所有订阅列表
help – 帮助
“`
## 快速启动
“`bash
docker run -it –name keyword_alert_bot -v $(pwd)/config.yml:/app/config.yml heavrnl/keyword_alert_bot
“`
Telegram关键字提醒机器人,用于实时监测频道/群组中的关键字消息。
确保普通Telegram账户能够在不需要验证的情况下加入指定群组。
Warning: Demo bot使用过载,建议使用 Docker 镜像自行搭建。
👉 Features:
– [x] 关键字消息订阅:根据设定的关键字和频道实时推送消息提醒
– [x] 支持正则表达式匹配语法
– [x] 支持多频道订阅 & 多关键字订阅
– [x] 支持订阅群组消息
– [x] 支持私有频道ID/邀请链接的消息订阅
## 🚀Run
### 1. 配置文件
#### config.yml.default –> config.yml
将 config.yml.default 复制到本地并重命名为 config.yml,然后根据下面申请的 api 进行配置
#### Create Telelgram Account & API
建议使用新Telegram账户[开通api](https://my.telegram.org/apps) 来使用
#### Create BOT
https://t.me/BotFather 创建机器人
### 2. 🐳Docker
配置好config.yml文件后,使用docker命令一键启动
“`
$ docker run -it –name keyword_alert_bot -v $(pwd)/config.yml:/app/config.yml yha8897/keyword_alert_bot
Please enter the code you received: 12345
Please enter your password:
Signed in successfully as DEMO; remember to not break the ToS or you will risk an account ban!
#################################################################
## ##
## ● success ##
## 🤖️Telegram keyword alert bot (Version: 20240627.f6672cf) ##
## ##
#################################################################
“`
首次运行需要Telegram账户接收数字验证码,并输入密码(Telegram API触发),之后提示success即成功启动
之后可以直接根据容器名重启或者停止:
“`
$ docker restart keyword_alert_bot
$ docker stop keyword_alert_bot
“`
## 💪Manual Build
运行环境 python3.7+
“`
$ pipenv install
$ pipenv shell
$ python3 ./main.py
“`
### crontab (optional)
– update telethon
依赖库telethon可能存在旧版本不可用的情况或其他BUG,建议通过定时任务执行依赖更新。
e.g.
“`
0 0 * * * cd /PATH/keyword_alert_bot && pipenv telethon > /dev/null 2>&1
“`
### 正则表达式匹配
使用类似JavaScript正则语法规则,用/包裹正则语句,目前可以使用的匹配模式:i,g
“`
# 订阅手机型号关键字:iphone x,排除XR,XS等型号,且忽略大小写
/subscribe /(iphone\s*x)(?:[^sr]|$)/ig com9ji,xiaobaiup
/subscribe /(iphone\s*x)(?:[^sr]|$)/ig https://t.me/com9ji,https://t.me/xiaobaiup
# xx券
/subscribe /([\S]{2}券)/g https://t.me/tianfutong
“`
“`
$ pipenv install
“`
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。