Skip to content

部署前的准备

  1. discord平台账号
  2. coze平台账号
  3. 服务器(尽量国外)

Discord平台配置

  1. 打开 discord官网 ,登陆后点击左下角设置
discord-use2
  1. 左侧菜单栏点击高级设置,右侧打开开发者模式
discord-use2
  1. 回到discord主页,点击左侧➕添加服务器。
discord-use3
  1. 右键刚刚新建好的服务器,选择复制服务器ID并记录,即环境变量GUILD_ID
discord-use4
  1. 打开 discord开发者平台 登陆后,点击右上角New Application,自定义名称(示例中为Coze-Bot)并勾选后点击Create
discord-use5
  1. 左侧菜单栏选择General Information,右侧找到APPLICATION ID点击Copy并记录,即环境变量COZE_BOT_ID
discord-use6
  1. 左侧菜单栏选择Bot,右侧打开如图所示的三个权限后点击Save Changes
discord-use7
  1. 点击Reset Token
discord-use8
  1. 点击Copy后并记作Coze-Bot-Token,后续在coze平台会用到。
discord-use9
  1. 左侧点击OAuth2,右侧在OAuth2 URL Generator中先选择bot再选择Administrator,最下方GENERATED URL中会生成URL,点击 Copy并用浏览器打开。
discord-use10
  1. 打开后选择刚刚创建好的服务器,点击继续
discord-use11
  1. 点击授权后该Bot会被邀请至该服务器。
discord-use12

至此,即将被Coze托管的Bot已创建完成。

重复5-12步再次创建一个Bot并邀请进入同样的服务器,并记录该Bot的Token,即环境变量 BOT_TOKEN ,此Bot用作监听服务器消息。

discord-use12.5
  1. 回到discord首页,进入刚刚新建好的服务器,点击F12打开开发者工具,选择NetWork
discord-use13
  1. 在服务器中发送任意消息,在开发者工具的左侧请求列表中点击messages,右侧点击Headers-Request Headers,找到Authorization,复制其value并记录,即环境变量USER_AUTHORIZATION
discord-use14

不触发账号退出或切换账号事件的情况下,此Authorization一般不会失效。

Coze平台配置

  1. 打开 coze官网 ,左侧点击Personal,右侧点击Create bot,自定义Bot名称后点击Confirm
coze-use1
  1. 左侧选择Single agent mode,中间Auto-Suggestion选择On,其他选项根据自己需求个性化配置完成后点击右上角Publish
coze-use2
  1. 点击DiscordConfigure
coze-use3
  1. 粘贴Discord平台配置中第9步记录的Coze-Bot-Token后点击Save
coze-use4
  1. 取消勾选Bot Store,勾选Discord后点击右上角的Publish
coze-use5
  1. 回到discord的服务器中即可看到被coze托管的机器人已上线,@机器人发送消息可得到响应。
coze-use6

CDP服务部署 docker版

  1. 服务器安装docker。如何安装docker

  2. 任意目录下执行如下docker命令,按照Discord平台配置中记录的环境变量配置参数。

shell
docker run --name coze-discord-proxy -d --restart always \
-p 7077:7077 \
-v $(pwd)/data:/app/coze-discord-proxy/data \
-e USER_AUTHORIZATION="MTA5OTg5N************uIfytxUgJfmaXUBHVI" \
-e BOT_TOKEN="MTE5OTk2************rUWNbG63w" \
-e GUILD_ID="11************96" \
-e COZE_BOT_ID="11************97" \
-e PROXY_SECRET="123456" \
-e TZ=Asia/Shanghai \
deanxv/coze-discord-proxy

推荐设置环境变量中的 PROXY_SECRET ,该参数即作为API Key使用。

如果出现镜像无法拉取,可以尝试使用 GitHub 的 Docker 镜像,将上面的 deanxv/coze-discord-proxy 替换为 ghcr.io/deanxv/coze-discord-proxy 即可。

  1. 启动成功后即可看到运行状态。
shell
[root@CVM42567 ~]# docker ps
CONTAINER ID  IMAGE                                     COMMAND               CREATED     STATUS    PORTS                                                                      NAMES
4d2c5689e560  ghcr.io/deanxv/coze-discord-proxy:latest  "/coze-discord-proxy" 2 days ago  Up 2 days 0.0.0.0:7077->7077/tcp, :::7077->7077/tcp
  1. 查看服务日志,打印如下信息并无报错异常则为启动成功。
shell
[root@CVM42567 cdp2]# docker logs -f 4d2c5689e560
[SYS] 2024/04/28 - 14:08:01 | COZE-DISCORD-PROXY vX.X.X started 
[SYS] 2024/04/28 - 14:08:03 | Environment variable check passed. 
[SYS] 2024/04/28 - 14:08:03 | Bot is now running. Enjoy It.
  1. 打开接口文档 http://<ip>:<端口>/swagger/index.html 即可开始调试或集成其他项目。
cdp-swag

CDP服务部署 docker-compose版

  1. 服务器安装docker-compose。如何安装docker-compose

  2. 任意目录下创建文件docker-compose.yml,按照Discord平台配置中记录的环境变量配置参数。

shell
version: '3.4'

services:
  coze-discord-proxy:
    image: deanxv/coze-discord-proxy:latest
    container_name: coze-discord-proxy
    restart: always
    ports:
      - "7077:7077"
    volumes:
      - ./data:/app/coze-discord-proxy/data
    environment:
      - USER_AUTHORIZATION=MTA5OTg5N************aXUBHVI  # discord用户的鉴权参数(多个请以,分隔)
      - BOT_TOKEN=MTE5OT************UrUWNbG63w  # 监听消息的Bot-Token
      - GUILD_ID=11************96  # 两个机器人所在的服务器ID
      - COZE_BOT_ID=11************97  # 由coze托管的机器人ID
      - PROXY_SECRET=123456  # [可选]接口密钥-请求头校验的值(多个请以,分隔) [作为API Key使用]
      - TZ=Asia/Shanghai

推荐设置环境变量中的 PROXY_SECRET ,该参数即作为API Key使用。

  1. 在此目录下执行docker-compose pull && docker-compose up -d命令(更新版本也可使用该命令)。

如果出现镜像无法拉取,可以尝试使用 GitHub 的 Docker 镜像,将上面的 deanxv/coze-discord-proxy 替换为 ghcr.io/deanxv/coze-discord-proxy 即可。

  1. 启动成功后即可看到运行状态。
shell
[root@CVM42567 ~]# docker ps
CONTAINER ID  IMAGE                                     COMMAND               CREATED     STATUS    PORTS                                                                      NAMES
4d2c5689e560  ghcr.io/deanxv/coze-discord-proxy:latest  "/coze-discord-proxy" 2 days ago  Up 2 days 0.0.0.0:7077->7077/tcp, :::7077->7077/tcp
  1. 查看服务日志,打印如下信息并无报错异常则为启动成功。
shell
[root@CVM42567 cdp2]# docker logs -f 4d2c5689e560
[SYS] 2024/04/28 - 14:08:01 | COZE-DISCORD-PROXY vX.X.X started 
[SYS] 2024/04/28 - 14:08:03 | Environment variable check passed. 
[SYS] 2024/04/28 - 14:08:03 | Bot is now running. Enjoy It.
  1. 打开接口文档 http://<ip>:<端口>/swagger/index.html 即可开始调试或集成其他项目。
cdp-swag

CDP服务部署 zeabur版

一键部署

Deploy on Zeabur

一键部署后 USER_AUTHORIZATIONBOT_TOKENGUILD_IDCOZE_BOT_IDPROXY_SECRET 变量也需要替换!

手动部署

  1. 首先 fork 一份代码。
  2. 进入 Zeabur,使用github登录,进入控制台。
  3. 在 Service -> Add Service,选择 Git(第一次使用需要先授权),选择你 fork 的仓库。
  4. Deploy 会自动开始,先取消。
  5. 添加环境变量 USER_AUTHORIZATIONBOT_TOKENGUILD_IDCOZE_BOT_IDPROXY_SECRET后保存。
  6. 选择 Redeploy。
  7. 如下显示运行中即为部署成功。
cdp-zeabur

Released under the MIT License.