fix(core): 🐛 优化数据库结构并添加用户状态标记
在 Telegram Bot 核心逻辑中,为消息表增加了 topic_message_id 字段以支持 话题模式。重构了 Telegram API 请求封装逻辑,增强了错误处理能力。 同时在文档中增加了关于“用户屏蔽 Bot”的常见问题说明。系统现在可以自动 检测用户屏蔽状态,并在管理界面展示屏蔽标记,当用户重新互动时会自动清 除该标记。
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Telegram Bot Worker
|
||||
yi'xia# Telegram Bot Worker
|
||||
|
||||
`tg-bot.js` 是一个部署在 Cloudflare Workers 上的 Telegram 双向私聊中继 Bot(版本 v3.68)。它会把用户私聊消息转发到管理员论坛群的独立 topic 中,管理员在对应 topic 内回复即可把消息发回用户,同时提供验证、过滤、封禁、备注、自动回复、备份和 Telegram 内联管理面板。
|
||||
|
||||
@@ -240,6 +240,36 @@ curl -X POST "https://api.telegram.org/bot<BOT_TOKEN>/setWebhook" \
|
||||
- **引用块**:以 `>`、`》` 或 `>` 开头的文本会被渲染为 HTML 引用块
|
||||
- **媒体欢迎语**:管理员可以在面板中上传图片/视频/GIF 作为欢迎语
|
||||
|
||||
### ⚠️ 常见问题:用户屏蔽 Bot
|
||||
|
||||
如果管理员回复时收到错误提示:**"⚠️ 用户已屏蔽 Bot"**,说明该用户已在 Telegram 中屏蔽了机器人。
|
||||
|
||||
**症状:**
|
||||
- 管理员可以正常接收用户消息
|
||||
- 管理员回复时显示 "用户已屏蔽 Bot" 错误
|
||||
- 用户收不到管理员的回复
|
||||
|
||||
**原因:**
|
||||
用户在 Telegram 中点击了"屏蔽机器人"(Block Bot),导致 Bot 无法再主动发消息给用户。即使用户之前发送过消息,屏蔽后 Bot 也无法回复。
|
||||
|
||||
**自动标记功能:**
|
||||
系统会自动检测并标记被屏蔽的用户:
|
||||
- 当检测到用户屏蔽 Bot 时,会自动在用户卡片上显示屏蔽状态和时间
|
||||
- 用户卡片会显示 `⛔ 用户屏蔽Bot: 是 (时间)`
|
||||
- 当用户重新发送消息或管理员解封时,自动清除屏蔽标记
|
||||
|
||||
**解决方案:**
|
||||
需要通过其他方式联系该用户,让其按以下步骤解除屏蔽:
|
||||
1. 打开与机器人的聊天窗口
|
||||
2. 点击右上角菜单(三个点或机器人名称)
|
||||
3. 选择"解除屏蔽"或"Unblock bot"
|
||||
4. 重新发送 `/start` 命令激活机器人
|
||||
|
||||
**预防措施:**
|
||||
- 在欢迎语中提醒用户不要屏蔽机器人
|
||||
- 定期检查被屏蔽的用户列表(查看用户卡片上的屏蔽状态)
|
||||
- 对于重要用户,建议通过其他渠道保持联系
|
||||
|
||||
## 安全建议
|
||||
|
||||
### 🔐 认证与授权
|
||||
|
||||
Reference in New Issue
Block a user