黑帽联盟

 找回密码
 会员注册
查看: 697|回复: 0
打印 上一主题 下一主题

[安全教程] 基于Crisp客服系统的Telegram机器人,支持TG回复代替网页回复,支持自动关键词回复

[复制链接]

895

主题

38

听众

3322

积分

管理员

Rank: 9Rank: 9Rank: 9

  • TA的每日心情

    前天 13:01
  • 签到天数: 1643 天

    [LV.Master]伴坛终老

    Crisp Telegram Bot via Python


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



    25.jpg



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

    Python 版本需求 >= 3.8


    现有功能
    • 基于Crisp客服系统
    • 自动推送文字、图片到指定聊天
    • 自动基于关键词回复对应内容
    • 支持回复后推送回对应客户



    计划功能
    • 回复图片功能(需要Crisp订阅)
    • 兼容GPT实现更智能的自动回复
    • 基础回复语料库模型
    • 客制化产品语料库模型



    常规使用
    # 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
    • 私聊 https://t.me/BotFather
    • 输入 /newbot,并为你的bot起一个响亮的名字
    • 接着为你的bot设置一个username,但是一定要以bot结尾,例如:v2board_bot
    • 最后你就能得到bot的token了,看起来应该像这样:123456789:gaefadklwdqojdoiqwjdiwqdo



    申请 Crisp 以及 MarketPlace 插件
    • 注册 https://app.crisp.chat/initiate/signup
    • 完成注册后,网站ID在浏览器中即可找到,看起来应该像这样:https://app.crisp.chat/settings/website/12345678-1234-1234-1234-1234567890ab/
    • 其中 12345678-1234-1234-1234-1234567890ab 就是网站ID
    • 前往 MarketPlace, 需要重新注册账号https://marketplace.crisp.chat/
    • 点击 New Plugin,输入名字以及描述。会获得开发者ID和Key,可能会不够用。
    • 需要Production Key,点击Tokens,再点击 Ask a production token,再点击Add a Scope。
    • 需要 2 条read和write权限:website:conversation:sessions 和 website:conversation:messages
    • 保存后即可获得ID和Key,
    • 接下来激活插件,点击Settings,拉到最下面,点击Activate Plugin,接着会让你输入插件的名称进行确认,紧接着还会有账户密码验证。这样就激活插件了,此时点击右上角 Install Plugin on Website 即可。



    服务部署
    # 如果使用常规使用中的 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

    帖子永久地址: 

    黑帽联盟 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与黑帽联盟享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和黑帽联盟的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、黑帽联盟管理员和版主有权不事先通知发贴者而删除本文

    勿忘初心,方得始终!
    您需要登录后才可以回帖 登录 | 会员注册

    发布主题 !fastreply! 收藏帖子 返回列表 搜索
    回顶部