搭建电报关键词提醒机器人 telegram keyword monitor bot

前几天开发了一个电报关键词提醒机器人
已上传Github
本文描述搭建过程.

首先, 你可以看看Github项目的readme, 那是一个从头到尾按操作顺序手把手的图文教程.
如果你觉得那篇教程有点云里雾里, 那么下面, 我换一个角度来描述.

系统架构

信息源 -> 采集者 -> 本程序 -> 发布者 -> 消费者

系统中的各部分

信息源 是 你想监听的各个tg群组, 频道

采集者 是 一个tg账户
  * 推荐你注册一个新tg账户来玩.

本程序 是 本项目 main.py
  * 本程序需要 api_id, api_hash. 需要到 https://my.telegram.org/apps 申请. 这里需要登录tg账户, 可以是 采集者同账户, 也可以是不同的账户. 

发布者 是 一个tg机器人
  * 本程序需要 bot_token, 需要向 https://t.me/BotFather 申请. 向 @BotFather 发起机器人申请的tg账户, 可以和前面同账户, 也可以是不同的账户.

消费者 是 接收关键字通知消息 的用户或群组或频道

本项目的运行环境

安装python
一般你用的比较新版本的操作系统 Debian / Ubuntu, 已经自带了. 

安装 pip
apt install -y python3-pip
拉取项目
apt install -y git
git clone https://github.com/crazypeace/tg-keyword-monitor-bot
cd tg-keyword-monitor-bot
安装python依赖
pip3 install -r requirements.txt --break-system-packages

config.yaml.default 复制为 config.yaml


系统中各部分之间的关系

信息源 与 采集者 之间的关系
你自己登录 采集者账户 的身份, 加入信息源.
入群验证, 不公开群需要别人拉你, 需要管理员审批, ... 等等等等 这些问题, 需要你自己解决.

采集者 与本程序 之间的关系
编辑config.yaml

启动本程序需要 api_id, api_hash
编辑config.yaml

本程序过滤关键字的设置
编辑config.yaml

本程序与发布者的关系
编辑config.yaml

发布者 与 消费者 的关系
编辑config.yaml

运行本项目

python3 ./main.py
命令行提示你输入验证码,同时,telegram账户会收到一个验证码

将这个验证码输入到命令行
* 只有第一次运行时会需要验证码. 以后运行不需要输入验证码.

========
以上, 就是本项目的基本搭建.

========

后记

如果你需要长期运行bot.
可以启用 service
cp tg-keyword-monitor-bot.service /etc/systemd/system/
systemctl daemon-reload
systemctl enable tg-keyword-monitor-bot.service
systemctl start tg-keyword-monitor-bot.service
* 如果你的目录不是/root/tg-keyword-monitor-bot, 那么请自行编辑tg-keyword-monitor-bot.service文件的内容

如果你希望用一个管理员tg账户给bot发命令, 来修改关键字列表.
编辑config.yaml

========
为什么我要这样设计 消费者, 管理员?
这和我设想的商业化方案有关. 随后就到. 欢迎关注我的博客. :)

评论

The Hot3 in Last 30 Days

Debian10 apt update问题 更新软件源 2025-8-11

Mihomo (Clash-meta) 择优录取 url-test 自动选择能用的端口和协议

不换行空格NBSP造成Linux执行命令时出错