57 lines
1.4 KiB
Markdown
57 lines
1.4 KiB
Markdown
# Telegram 用户监听机器人
|
||
|
||
基于 **Pyrogram Userbot + Bot** 的监听与通知项目:
|
||
- Userbot 监听所有群消息
|
||
- Bot 负责规则配置与发送通知
|
||
|
||
## 功能
|
||
- `/watch 群ID 用户ID 关键词1 关键词2` 添加监听规则
|
||
- `/unwatch 群ID 用户ID` 删除规则
|
||
- `/list` 查看所有规则
|
||
- `/notify 目标ID` 设置通知目标(不设置则默认通知给你自己)
|
||
|
||
触发通知包含:群名、用户名、用户ID、关键词、消息内容。
|
||
|
||
## 运行前准备
|
||
1. 在 https://my.telegram.org 申请 `api_id` 与 `api_hash`。
|
||
2. 获取 Userbot 的会话字符串(Session String)。
|
||
|
||
生成 Session String 示例:
|
||
```bash
|
||
python - <<'PY'
|
||
from pyrogram import Client
|
||
|
||
api_id = int(input("API_ID: "))
|
||
api_hash = input("API_HASH: ")
|
||
|
||
with Client("user", api_id=api_id, api_hash=api_hash) as app:
|
||
print(app.export_session_string())
|
||
PY
|
||
```
|
||
|
||
## 本地运行
|
||
```bash
|
||
pip install -r requirements.txt
|
||
|
||
export TG_API_ID=123456
|
||
export TG_API_HASH=your_api_hash
|
||
export TG_BOT_TOKEN=123456:bot_token
|
||
export TG_USER_SESSION_STRING=your_user_session_string
|
||
|
||
python main.py
|
||
```
|
||
|
||
## Docker 运行
|
||
```bash
|
||
docker compose up -d --build
|
||
```
|
||
|
||
## 规则存储
|
||
- 默认存储在 `./rules.json`
|
||
- 可通过环境变量 `RULES_PATH` 自定义
|
||
- 支持多用户独立配置
|
||
|
||
## 注意事项
|
||
- 需要确保 Userbot 已加入目标群
|
||
- Bot 需要能够向通知目标发送消息
|