黑帽联盟

标题: 基于Crisp客服系统的Telegram机器人,支持TG回复代替网页回复,支持自动关键词回复 [打印本页]

作者: 定位    时间: 2023-9-26 15:38
标题: 基于Crisp客服系统的Telegram机器人,支持TG回复代替网页回复,支持自动关键词回复
Crisp Telegram Bot via Python


以下内容本人亲测有效,以下是测试截图:
24.png



25.jpg



一个简单的项目,让 Crisp 客服系统支持透过 Telegram Bot 来快速回复

Python 版本需求 >= 3.8


现有功能


计划功能

常规使用
# apt install git 如果你没有git的话
git clone https://github.com/DyAxy/Crisp_Telegram_Bot.git
# 你需要安装好 pip3 的包管理
cd Crisp_Telegram_Bot
pip3 install -r requirements.txt
cp config.yml.example config.yml
nano config.yml
# 编辑 line 3 为你的Bot Token
# 编辑 line 4、5 为信息发送的聊天ID
# 编辑 line 7 为你的 Crisp Marketplace 插件 ID
# 编辑 line 8 为你的 Crisp Marketplace 插件秘钥
# 编辑 line 9 为你的 Crisp 网站ID
# 编辑 line 11 为自动关键词回复,你可以复制成多行,每个关键词用 `|` 隔开即可,在 `:` 后输入自动回复内容
python3 bot.py
# 如果第一次运行正常并测试完成,那么可以使用接下来的部署方法常驻进程

小技巧
把指定的admin_id设置成群这样可以在群里让多个苦力快速回复


申请 Telegram Bot Token


申请 Crisp 以及 MarketPlace 插件

服务部署
# 如果使用常规使用中的 git 方式拉取文件,那么可以直接使用该方式
# 当前处于 Crisp_Telegram_Bot 目录内
# 在部署前,建议尝试使用一下命令测试是否正常运行
/usr/bin/python3 bot.py
# 正常运行后开始部署服务
cp Systemd/crisp_telegram_bot.service /etc/systemd/system/
# 重读服务守护
systemctl daemon-reload
# 启动服务
systemctl start crisp_telegram_bot
# 设为开启启动
systemctl enable crisp_telegram_bot

# 常用命令
# 停止服务
systemctl stop crisp_telegram_bot
# 重启服务(重启服务会需要一段时间,切莫着急)
systemctl restart crisp_telegram_bot
# 取消开启启动
systemctl disable crisp_telegram_bot
# 查看服务状态
systemctl status crisp_telegram_bot



Docker部署
1. 安装Docker
详细方法参详Linux发行版Wiki 或https://docs.docker.com/desktop/get-started/(或者直接谷歌一下‘docker安装’)

2. 部署容器
2.1 下载compose文件
curl -JL https://github.com/DyAxy/Crisp_Telegram_Bot/raw/master/docker-compose.yml.example -o docker-compose.yml

2.2 使用环境变量进行配置
编辑docker-compose.yml文件,按照自己的情况将参数值填写到environment下的各项当中。
同时保持volumes相关内容处于注释状态。 详细说明见下面的“环境变量说明

2.3 运行容器
docker compose -f docker-compose.yml up


3. 环境变量说明
容器未挂载config.yml时,entrypoint.sh会根据环境变量生成config.yml。
选项/参数说明
BOT_TOKEN
BOT_ADMIN_ID管理员tg id,使用半角逗号(,)分隔。
e.g. 123456789,321654987,555555,111222
CRISP_IDCrisp Marketplace 插件 ID
CRISP_KEYCrisp Marketplace 插件秘钥
CRISP_WEBSITECrisp 网站ID
CRISP_MSGAPI可选值为: rtm / rest
使用rtm时crisp消息实时推送,每条消息只在markread时消耗1次restful api
使用rest时,你懂的
BOT_AUTOREPLY自动回复设置,详见[color=var(--fgColor-accent, var(--color-accent-fg))]常规使用,新增的时候整行复制往下写。
注:"\0"是留着给entrypoint转义用的,别删。


4. tagname说明
tag
说明
image size
latestalpine 3.17 + python 3.8 21.png
3.8同latest 26.png
3.9alpine 3.17 + python 3.9 27.png
3.10alpine 3.17 + python 3.10 22.png
3.11alpine 3.17 + python 3.11 23.png


特别说明
某些v2board自定义主题没有向crisp push data,需要用户自行实现,详见https://docs.crisp.chat/guides/chatbox-sdks/web-sdk/
本项目包含一个v2board的示例:
https://github.com/DyAxy/Crisp_Telegram_Bot/blob/master/Assistant/JavaScript/v2board.js






欢迎光临 黑帽联盟 (https://bbs.cnblackhat.com/) Powered by Discuz! X2.5