render部署coze-discord-proxy

引言

首先先看看PaaS平台

Fly.ioRailwayRenderGlitchAdaptableCyclicZeabur
(收费)
长时间不活动关闭15 分钟5 分钟是*
需要信用卡
免费计划-$5*750 小时1000 小时无*10000 次请求/月$5
内存256MB512MB512MB512MB256MB1GB512MB
磁盘空间3GB1GB 200MB*1GB512MB*1GB
可写磁盘 是*是*
网络带宽160GB$0.10/GB100GB4000 次请求/时100GB
可用 Dockerfile否*
GitHub 集成

本来是用用免费的Zeabur,刚注册就发现收费了。Render提供一个月时长,刚好够用。

再看看项目

搭建的版本是v3.2.3

coze-discord-proxy: 代理Discord-Bot对话Coze-Bot,实现API形式请求GPT4对话模型/微调模型 (github.com)

官方教程(docker搭建)

视频教程(docker搭建)

1 Discord

1.1 创建服务器与频道

https://discord.com/

创建一个服务器,选择亲自创建 —-> 仅供我和我的朋友使用 —-> 创建

image-20240218224602804

然后下面就是默认的频道了:

image-20240218224839998

然后右击频道和服务器,然后复制服务器ID、频道ID,后续配置coze-discord-proxy时候需要使用到。

1.2 创建Discord应用

需要把coze发布到Discord上,也就需要创建两个bot。

Discord开发者平台 (opens new window)创建两个 Application ,应用程序的类型为Bot

一个是与coze bot进行绑定的应用(campus),一个是用来向coze bot发起消息的应用(coze-gateway)

两个应用的创建/配置的过程是一样的(3.0.0版本以上)。

先看一下最后的成果图:

image-20240218224357507

1.2.1 创建

填入两个bot的名称即可,创建之后,进去把APPLICATION ID保存一下,这是应用ID,后面需要用。

image-20240218225401503

1.2.2 获取Token

刷新一下token就能获取了。注意token只能在刷新后的第一次能看见,所以需要保存好。

image-20240218230305100

1.2.3 设置bot权限

这三个开启一下

image-20240218225705427

1.3 邀请bot到服务器

  • 两个应用的邀请的过程是一样的(3.0.0版本以上)。
  • 需要生成邀请链接才能邀请到服务器

点击OAuth2 —-> URL Generator —-> bot —-> 按照下图勾选相应的权限。

image-20240218225839145

然后滑到页面底部会给bot生成邀请链接。

复制该链接,并在浏览器中访问它以便将应用添加到我们的服务器。

image-20240218230722585

image-20240218230844678

2 Coze Bot

访问Coze官网,然后注册一个Coze账号,目前支持Google账号和手机号注册。说明:中国大陆地区的手机号也可以直接注册使用!

直接用github登录也行。

2.1 创建一个Bot

注册之后进入到Coze页面,然后点击Create Bot创建一个Bot,命名为campus

image-20240218231237393

image-20240218231434110

2.2 发布到Discord

与coze bot进行绑定的应用(campus)的token填进去,然后点击右上角的发布按钮就可以了。

这时回到discord.com就可以看到campus机器人已经上线了(头像有个小绿点)。

image-20240218231705819

image-20240218231731306

3 在Render上部署

3.1 部署

创建一个Web Service --> Deploy an existing image from a registry

  • 镜像链接填deanxv/coze-discord-proxy,next。
  • 服务器地址随便。
  • Instance Type选择free
  • 然后环境变量填写这些就行
环境变量备注例子
BOT_TOKEN主动发送消息的Bot-TokenMTE5OTk2xxxxxxxxxxxxxxrwUrUWNbG63w
GUILD_ID两个机器人所在的服务器ID119xxxxxxxx796
COZE_BOT_ID与coze关联的机器人ID119xxxxxxxx7
CHANNEL_ID频道ID119xxxxxx24
PORT端口必须为443443
PROXY_SECRET[可选]接口密钥123456
TZ地区Asia/Shanghai

开始运行后在日志里会输出,就开始运行了

Feb 18 09:44:30 PM[SYS] 2024/02/18 - 21:44:30 | COZE-DISCORD-PROXY v3.2.3 started 
Feb 18 09:44:30 PM[SYS] 2024/02/18 - 21:44:30 | Environment variable check passed. 
Feb 18 09:44:30 PM[SYS] 2024/02/18 - 21:44:30 | Bot is now running. Enjoy It. 
Feb 18 09:44:33 PMYour service is live 🎉

这时回到discord.com就可以看到coze-gateway机器人已经上线了(头像有个小绿点)。

3.2 自定义域名(可选)

在创建后的Web Service里的Settings --> Custom Domains里就可以自定义域名。

3.3 保活

在开头讲过,Render的服务在15分钟后没有数据就会休眠,所以可以用一些实时监控来保活。比如D监控 - DNSPod

4 测试

可以使用官方的测试网站NextChat进行测试。

如果一直报错:"message": "Failed to fetch",可以是因为浏览器限制了,可以打开开发者工具在head加上

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
分类: PHPGPT 标签: GPT

评论

暂无评论数据

暂无评论数据

目录