开源免费支持私有化部署的TG双向助手/TG客服机器人-Two-way tool上线Github

84次阅读
没有评论

共计 1913 个字符,预计需要花费 5 分钟才能阅读完成。

TG双向助手是由本站开发的一个功能强大、基于 Telegraf 开发的 Telegram 客服机器人。它旨在为用户和客服团队之间建立一个高效、可管理的沟通桥梁,支持多客服协作、智能分配、排队以及会话管理。

开源免费支持私有化部署的TG双向助手/TG客服机器人-Two-way tool上线Github

Github地址

https://github.com/www9hnet/Two-way-tool

核心功能

  • 多客服协作:支持多个客服账号同时在线,共同处理用户咨询。
  • 角色权限系统:内置管理员客服普通用户三种角色,权责分明。
  • 智能会话分配:自动将新用户分配给当前空闲的客服。
  • 用户等待队列:客服全忙时,新用户会自动进入等待队列,并在客服空闲时被接入。
  • 历史会话观察:一位用户的所有历史接待客服,都能以“观察者”身份收到后续会话更新,确保服务连贯性。
  • 客服申请与审批:用户可申请成为客服,由管理员在线审批,操作便捷。
  • 会话管理:客服可以轻松结束与用户的会话,或将用户拉入黑名单。
  • 黑名单系统:有效屏蔽恶意用户,被拉黑的用户消息将被机器人自动忽略。
  • 数据持久化:所有用户、客服和会话数据都将保存在本地,确保数据不丢失。
  • 私有化部署:代码开源,没有任何加密,客户数据不会被他人获取。

工作流程

  1. 用户发起咨询:普通用户向机器人发送任何非指令消息,即视为发起一次咨询。
  2. 机器人分配客服
    • 如果存在空闲客服,机器人会随机选择一位,建立会话连接。
    • 如果所有客服都在忙,用户会被告知已进入等待队列。
  3. 客服与用户沟通
    • 用户的消息会被机器人转发给指定的客服。消息会附带用户信息(如 @username(ID))和操作按钮。
    • 客服通过直接发送内容或回复由机器人转发的消息,即可将内容发送给用户。
  4. 会话结束:客服可以使用 /close 指令或点击“结束会话”按钮来关闭当前对话,之后便可接待下一位用户。

安装与部署

1.环境准备

  • Node.js (v16 或更高版本)
  • 一个通过 @BotFather 创建的 Telegram 机器人及其 Token

 

2.下载与安装


# 克隆仓库
git clone https://github.com/www9hnet/two-way-tool
cd two-way-tool

# 安装依赖
npm install

 

3.运行机器人

在项目根目录下创建一个名为 .env 的文件,并填入您的机器人 Token:

.env

BOT_TOKEN=123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11

 

4.首次初始化(关键步骤)

您可以使用 node 直接运行,或使用 pm2 进行持久化部署。

直接运行(用于调试):

node index.js

使用 PM2 部署(推荐):

</p>
# 全局安装 pm2
npm install -g pm2

# 启动并命名服务
pm2 start index.js &#8211;name tg-two-way-tool
<p dir="auto">

 

5.首次初始化(关键步骤)

机器人首次运行后,它尚未被激活。您需要成为第一个管理员来完成初始化。

  1. 向您的机器人发送 /start

  2. 然后,发送初始化指令,并将您的机器人 Token 作为参数传入: /init 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11

    注意:此操作仅需执行一次。成功后,您将自动成为管理员客服。此后 /init 指令将失效。

指令参考

命令 (Command) 描述 (Description)
/start 显示欢迎信息和基本介绍。
/bindService 申请成为客服,申请将被发送给所有管理员进行审批。
/rebind 如果您在新的设备或对话框中与机器人交互,使用此命令更新您的会话ID,确保能正常收到消息。

面向客服 (Service)

命令 (Command) 描述 (Description)
/close 关闭当前正在接待的会话。如果未接待用户,可通过回复特定用户消息来关闭该历史会话。
/block 拉黑当前正在接待的用户。如果未接待用户,可通过回复特定用户消息来拉黑该用户。
/unblock <ID或@用户名> 将指定用户从黑名单中移除。
/blacklist 查看完整的黑名单列表。

面向管理员 (Admin)

 

管理员拥有所有客服的权限,并额外拥有以下管理权限:

命令 (Command) 描述 (Description)
/init <BOT_TOKEN> (仅首次使用) 初始化机器人,并将自己设为管理员。
/list 查看所有客服及其当前状态(空闲/接待中)。
/unbindService @客服用户名 移除指定用户的客服身份。不能移除管理员或自己。

数据持久化

本机器人使用一个本地文件 (setting.json,由 db.js 管理) 来存储所有数据。请务必定期备份此文件,以防数据丢失。

 

正文完
 0
九鑫互联科技工作室
版权声明:本站原创文章,由 九鑫互联科技工作室 于2025-06-25发表,共计1913字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码