项目地址:deanxv/coze-discord-proxy: 代理Discord对话Coze-Bot,实现以API形式请求GPT4模型,提供对话、文生图、图生文、知识库检索等功能。 (github.com)

参考:【serv00系列教程】部署coze-discord-proxy - 软件分享 - LINUX DO

站在论坛大佬们的肩膀上,小白(本人)自用render+railway搭建coze-discord-proxy API+ chatgpt-on-wechat - 软件分享 - LINUX DO

准备

按照项目的要求,先登录discord官网,登陆后点击设置-高级设置-开发者模式-打开。

a70d58f8f87b014908c6a.png

创建频道

在网页左侧点击添加个人服务器-->亲自创建-->仅供我和我的朋友使用

aed22ed93dabe8d76bf97.png

ae0629b9b51f019e463e0.png

在左上角右键此服务器选择 复制服务器ID(GUILD_ID)并记录,在下面右键常规频道,或者新建一个频道,右键点击此频道选择 复制频道ID(CHANNEL_ID)并记录。aed22ed93dabe8d76bf97.png

创建Discord平台Bot

第一个bot

打开 discord开发者平台 登陆,创建新应用,名字随意,这是第一个Bot,用来对接Coze

87e4b3cc98a9b21d08a4d.png

记录下 APPLICATION ID 也就是下面要用的 COZE_BOT_ID

ddb9d80cc1301afd7171d.png

点击Bot-->Reset Token生成Token,这是下面要用的对接Coze的token

27be8d93d11f7f1179f71.png

按下图开启权限并保存

2ce4c4ac56a12db1d7a39.png

第二个bot

接下来重新创建一个应用,这是第二个Bot,用来监听第一个Bot的消息并返回给我的程序

点击Bot-->Reset Token生成Token,这是下面要用的 BOT_TOKEN

27be8d93d11f7f1179f71.png

这个Token只出现一次, 记录下来

添加bot

按图所示,在两个bot下面都勾选 Administrato

67c6b5b27f31cbeaf08f3.png

然后复制安装链接到浏览器打开,将两个机器人都添加到频道97f7840755b135138397d.png

获取 AUTHORIZATION

打开 discord官网进入服务器,按F12打开开发者工具,在任一频道内发送一次消息,在开发者工具-Network中找到请求 https://discord.com/api/v9/channels/1206*******703/messages从该接口header中获取 Authorization(USER_AUTHORIZATION)并记录。

a602d2a8894e4be11c52b.png

创建Coze平台bot

打开 coze官网 创建bot并进行个性化配置(注意 Auto-SuggestionDefault/on(默认不用改))

4dd6ddc1c3e644d9c80b9.png

配置好后点击Publish发布该机器人

8b45b18a68ff66f146d9f.png

点击Discord后面的Configure,填入上面创建的第一个机器人的Tokenb904a7e3cea57008d2129.png

配置好后记得勾选,然后点击Pulish发布

09b0d4d0959eea87bc7a5.png

此时应该可以在Discord的频道中看到机器人在线了

部署

需要部署在有科学上网环境的机器中,这里使用Docker-compose方式

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
      - CHANNEL_ID=11************94  # [可选]默认频道-(目前版本下该参数仅用来活跃机器人)
      - PROXY_SECRET=123456  # [可选]接口密钥-修改此行为请求头校验的值(多个请以,分隔)
      - TZ=Asia/Shanghai

其他方式请参考项目部署

浏览器访问 http(s)://ip:port/swagger/index.html即可查看部署是否成功