Telegram双向聊天机器人

发布时间: 2024-07-16

Telegram interactive bot (Telegram 双向机器人)

一、简介

Telegram的开源双向机器人。避免垃圾信息;让被限制的客户可以顺利联系到你。 支持后台多客服。在后台群组,可以安排多个客服以同一个机器人身份持续和客户沟通。

English | 示例机器人 | 示例后台

(ps:和示例机器人说话后,去后台看看,就大概知道原理了)

(ps:示例后台是公开群组,方便大家看效果而已。自己部署,最好用私有群组,安全性还是没问题的)

image-20240708130408336

特色

  • 当客户通过机器人联系客服时,所有消息将被完整转发到后台管理群组,生成一个独立的以客户信息命名子论坛,用来和其他客户区分开来。
  • 客服在子论坛中的回复,可以直接回复给客户。
  • 客服可以通过关闭/开启子论坛来配置是否继续和客户对话。
  • 提供永久封禁方案。env内有开关。
  • 提供 /clear 命令,可以清除子论坛内的所有消息,同时也删除用户消息(极其不推荐如此使用,不过奈何也确实有时候有必要)。env内有开关。

优势

  • 借助子论坛,可以增加多个管理成员,分担客服压力。
  • 可以直观的保留和客户沟通的完整通讯记录。
  • 可以得知某句话是哪个客服回复的,维系连贯的客户服务。

二、准备工作

本机器人的主要原理是将客户和机器人的对话,转发到一个群内(自用,最好是私有群),并归纳每个客户的消息到一个子版块。 所以,在开工前,你需要:

  1. 找 @BotFather 申请一个机器人。

  2. 获取机器人的token

  3. 获得API_ID/API_HASH

  4. 建立一个群组(按需设置是否公开)

  5. 群组的“话题功能”打开。

  6. 将自己的机器人,拉入群组。提升权限为管理员。

  7. 管理权限切记包含消息管理话题管理

  8. 通过机器人 @GetTheirIDBot 获取群组的内置ID和管理员用户ID。

    image-20240703082929589image-20240703083040852

三、部署运行

1. 修改env

打开.env_example,将自己机器人的Token、账号的API_ID/HASH、管理群组ID和管理员ID补全。 另存.env_example.env

2. 获取代码/构建python venv

git clone https://github.com/MiHaKun/Telegram-interactive-bot.git
cd Telegram-interactive-bot
python3 -m venv venv
. venv/bin/activate
pip install -r requirements.txt
 

3. 执行启动

python -m interactive-bot
 

PS: 正式运营,还是需要类似PM2supervisor之类的进程管理工具,配合看门狗来实现不间断运行、自动重启、失效重启等功能。

ToDoList

  •  支持消息回复功能。消息间可以相互引用。
  •  完善下数据库。
  •  添加客户的人机识别,防止无聊的人用userbot来刷
  •  添加并识别媒体组消息。
  •  精简点代码,利用**payload来展开forwarding的参数。

项目地址:https://github.com/MiHaKun/Telegram-interactive-bot

请在下方留下您的评论.加入TG吹水群