Coze-Discord-Bridge
免费的ChatGPT Turo 128k API
通过 discord bot
调用 coze 托管 discord bot
实现免费使用GPT-4作为API
如果觉得有用的话,别忘了点个🌟
停止维护
已停止维护,推荐一个类似的项目:
截图
功能
注:以下是最新源代码支持的功能,不是Release版本中的功能。如需查看Release版本的功能,请查看之前的Commit和API文档。配置文件同理。
- 适配
NextChat
、LobeChat
等可修改OpenAPI URL的AI平台 - 支持HTTP/HTTPS API
- 支持文生图(需
coze
配置DALL·E3
/DALL·E2
插件)返回图片url - 支持图生文(需
coze
配置GPT4V
插件)(发送的文本消息中携带图片url/自己上传base64图片) - 支持对话隔离
- 对话支持流式返回
- 支持与
openai
对齐的对话接口(v1/chat/completions
) - 支持与
openai
对齐的图像生成接口(v1/images/generations
) - 突破Discord Bot 2k字消息长度上限
- 定时活跃机器人,自定义活跃间隔,避免bot因太久未互动而离线
- 导入此jar进行二次开发 [::80%]
- WebUI
- 多个Bot负载均衡
- Token计数
大饼很甜,苦的只是猫猫
部署准备材料
-
一台Windows/Linux/...机器(只要能运行java,能联网就行)需要安装java(推荐jdk17,已知jdk8及以下版本不兼容)
-
一个代理服务器/材料一的机器在国外
-
一个手机号/Google账号
-
一个Discord账号
部署
-
下载Release或自行构建
-
运行一遍
java -jar CozeDiscordBridge-xxxxxx.jar
。如果一切正常,你可以在运行目录看到Config.yml
配置文件 -
打开配置文件,进行编辑
#Github: https://github.com/catx-feitu/coze-discord-bridge
Bots:
- #访问密钥 留空或default 表示无需密钥 通过不同的密钥链接不同的bot
Key: "default"
#登录协议
Protocol: "discord"
#Discord user token
#打开Discord(推荐注册小号,因为UserBot本身Discord就禁止)按下F12打开开发者模式
#点进网络 随便选择一个 复制请求头中的 Authorization 粘贴在这里
Token: ""
#[仅Discord可用]创建频道时使用的父频道(也可以理解成分组)打开开发者模式 右键就可以看到ID 为空关闭
CreateChannel_Category: ""
#Coze Bot所处的服务器ID 打开Discord开发者模式 右键服务器复制过来即可
Server_id: ""
#接入Coze的Bot id 邀请进服务器在用户列表右键 复制用户ID 过来即可
CozeBot_id: ""
#配置是否启用代理 代理类型 HTTP 或 SOCKS 常用于中国大陆机器部署
UsingProxy: false
ProxyIP: 127.0.0.1
ProxyPort: 8080
ProxyType: HTTP
#API端口设置为0关闭 如果HTTP和HTTPS都监听失败则无法启动
#API端口 默认8092 curl http://127.0.0.1:8092/Ping
APIPort: 8092
#API HTTPS 端口 默认8093 curl https://127.0.0.1:8093/Ping
APISSLPort: 8093
......
首先你要在Discord开发者平台创建一个Application
点击Bot,然后获取Token,复制保存到其它地方
往下滑动,开启下面三个按钮,随后点击保存
点击Oauth,勾选Bot,然后往下滑勾选Administrator(省事,如果注重安全性那么请确保链接到Coze的bot能收发和编辑消息,链接到Coze-Discord-Birdge的bot能收发消息和创建删除子频道)
复制下方生成的URL
之后第二个Bot相同的操作,这样你就有了两个Token和两个URL
打开Discord App(网页版亦可),创建一个服务器
然后依次打开两个URL,把两个bot都添加进服务器
点击左下角设置打开Discord设置
之后登录Coze AI Studio创建一个Bot
之后可以配置Bot,添加插件(要能AI画图必须添加),调整GPT设置之类的(Dialog round = 对话轮数,推荐拉满)最后点击右上角Publish
输入Token,点击保存,然后Publish
注:Changelog必填,随便写即可。如果你有强迫症的话,那就不太建议了。
如果配置正确,你应该能看到托管到Coze的机器人上线了
下滑,找到高级设置,开启开发者模式
点击左上角复制服务器ID
点击右侧复制Bot用户ID
在Config中保存这两个ID
......
#Coze Bot所在的服务器ID 开启Discord开发者模式 右键服务器复制即可
Server_id: "xxxxxx"
#接入Coze的Bot ID 邀请进服务器后在用户列表右键 复制用户ID 即可
CozeBot_id: "xxxxxx"
......
返回Discord页面 按F12打开浏览器开发者工具
点击网络(Network) 随意选择一个请求 复制请求头中的Authorization
保存到配置中
......
#Discord用户令牌
#打开Discord(建议注册小号 因为UserBot本身被Discord禁止) 按F12打开开发者模式
#进入网络标签 随意选择一个请求 复制请求头中的Authorization 粘贴到这里
Token: "xxxxxxxxxxxxxxx"
......
4.再次运行 java -jar CozeDiscordBridge-xxxxxx.jar
如下显示则正常运行 如果您使用的是Windows且控制台编码为GBK 请先执行chcp 65001
注:首次启动报错 读取 cache_names.json 失败
属正常现象 可直接忽略
5.最后可通过curl或其他工具进行测试 如果服务器中您的账号自动向机器人提问 随后机器人回答 则表示部署成功
(可选)保活功能
由于Discord/Coze的问题 当bot长时间不互动会离线 遇到这种情况需要手动去Coze重新登录 很麻烦
因此 您可以通过编辑配置开启保活功能
它可以在bot累计一段时间未被互动时自动与Coze托管的bot对话
......
# 保活功能 通过定时与Coze托管的bot互动防止因长时间未发言而被强制下线
# 内置定时器执行周期 单位分钟 设置为0关闭 关闭后也可以通过api调用保活功能
Keepalive_timer: 0
# 仅当超过指定分钟未与Coze托管的bot交互时才执行保活 单位分钟
Keepalive_maxIntervalMinutes: 720
# 保活消息发送的频道
Keepalive_sendChannel: "keepalive"
# 保活消息内容
Keepalive_sendMessage: "keepalive"
当关闭内置定时器时 您也可以通过访问端点/api/keepalive
来执行保活任务
API文档
## 免责声明
本项目中的任何代码/构建产品仅供学习使用
使用即代表您承担一切滥用所造成的后果
作者不保证软件绝对稳定 如有能力请使用[Coze API](https://www.coze.com/open)