编辑
2025-01-11
工具
00

目录

Midjourney接入微信机器人教程
订阅Midjourney
Midjourney - Proxy
获取用户Token
获取服务器ID、频道ID
Docker部署
Midjourney-Proxy-On-Wechat
指令说明
通用指令
管理员指令
配置说明

Midjourney接入微信机器人教程

如果要在微信机器人上使用Midjourney,需要2个步骤。

  1. 安装 midjourney-proxy 环境,是基于Discord的API,等于联通后微信和Discord建立链接,可以互通消息。
  2. 安装 midjourney-proxy-on-wechat 插件

注意

亲测代理方式容易频繁掉线,会导致Discord频繁被监控需要修改密码

建议使用新加坡服务器,一把解决代理和网络各种破问题,节省巨多时间少走弯路,也能丝滑使用midjourney-proxy,否则需要调docker网络才能通

订阅Midjourney

首先需要确认自己已经订阅了Midjourney,并创建自己的服务器和频道,参考Quick Start

Midjourney - Proxy

需要获取用户Token、服务器ID、频道ID

获取用户Token

进入Discord网页频道,F12打开network,刷新页面 找到 messages 的请求,这里的 authorization 即用户Token 后续设置到 mj.discord.user-token

获取服务器ID、频道ID

频道的url里取出 服务器ID、频道ID,后续设置到配置项

image.png

Docker部署

/xxx/xxx/config目录下创建 application.yml(mj配置项)、banned-words.txt(可选,覆盖默认的敏感词文件);参考src/main/resources下的文件

配置参考(填写时删除汉字备注):

yaml
mj: accounts: - guild-id: xxx #discord服务器ID channel-id: xxx #discord频道ID user-token: xxxx #discord用户Token

全部配置项(按需添加到上面的配置参考中):

变量名非空描述
mj.accounts账号池配置,配置后不需要额外设置mj.discord
mj.discord.guild-iddiscord服务器ID
mj.discord.channel-iddiscord频道ID
mj.discord.user-tokendiscord用户Token
mj.discord.user-agent调用discord接口、连接wss时的user-agent,建议从浏览器network复制
mj.discord.core-size并发数,默认为3
mj.discord.queue-size等待队列,默认长度10
mj.discord.timeout-minutes任务超时时间,默认为5分钟
mj.api-secret接口密钥,为空不启用鉴权;调用接口时需要加请求头 mj-api-secret
mj.notify-hook全局的任务状态变更回调地址
mj.notify-notify-pool-size通知回调线程池大小,默认10
mj.task-store.type任务存储方式,默认in_memory(内存\重启后丢失),可选redis
mj.task-store.timeout任务过期时间,过期后删除,默认30天
mj.proxy.host代理host,全局代理不生效时设置
mj.proxy.port代理port,全局代理不生效时设置
mj.ng-discord.serverhttps://discord.com 反代地址
mj.ng-discord.cdnhttps://cdn.discordapp.com 反代地址
mj.ng-discord.wsswss://gateway.discord.gg 反代地址
mj.ng-discord.resume-wsswss://gateway-us-east1-b.discord.gg 反代地址
mj.ng-discord.upload-serverhttps://discord-attachments-uploads-prd.storage.googleapis.com 反代地址
mj.translate-way中文prompt翻译成英文的方式,可选null(默认)、baidu、gpt
mj.baidu-translate.appid百度翻译的appid
mj.baidu-translate.app-secret百度翻译的app-secret
mj.openai.gpt-api-url自定义gpt的接口地址,默认不需要配置
mj.openai.gpt-api-keygpt的api-key
mj.openai.timeoutopenai调用的超时时间,默认30秒
mj.openai.modelopenai的模型,默认gpt-3.5-turbo
mj.openai.max-tokens返回结果的最大分词数,默认2048
mj.openai.temperature相似度(0-2.0),默认0
spring.redis任务存储方式设置为redis,需配置redis相关属性

终端中启动容器,映射config目录,第3行更换成实际路径,第4行中注意版本号,会不断更新。

bash
docker run -d --name midjourney-proxy \ -p 8080:8080 \ -v /xxx/xxx/config:/home/spring/config \ novicezk/midjourney-proxy:2.6.3

确认Docker状态 开通防火墙

Midjourney-Proxy-On-Wechat

机器人私聊,一行一行输入指令,安装插件

bash
#installp https://github.com/mouxangithub/midjourney.git #scanp

安装成功后,输出输入mjhelp有提示说明插件安装成功输入mj_help有提示说明插件安装成功 输入mj_admin_password 密码(未配置mj_admin_password则临时密码为123456,认证完后请尽快输入$set_mj_admin_password进行修改) 输入代理地址,如果你和我一样使用了海外服务器,那么只需要设定一个代理地址:

bash
$set_mj_url mj代理地址 mj_api_secret请求参数 discordapp代理地址

进行设置MJ服务器信息

无需其他配置,直接使用即可:

指令说明

通用指令

  • $mj_help 说明文档
  • $mj_admin_password 口令 进行管理员认证(如未配置,临时管理员密码为123456)
  • $mj_admin_cmd 查询管理员指令

管理员指令

  • $set_mj_admin_password 新口令 进行设置新密码(此方式会直接写入config.json方便重启直接使用)
  • $set_mj_url mj代理地址 mj_api_secret请求参数 discordapp代理地址 进行设置MJ服务器信息(此方式会直接写入config.json方便重启直接使用)
  • $stop_mj: 暂停MJ服务
  • $enable_mj: 启用MJ服务
  • $clean_mj: 清除MJ服务缓存
  • $g_prefix : 查询前缀
  • $s_prefix 前缀类名 前缀: 设置前缀
  • $r_prefix 前缀类名 前缀或序列号: 移除前缀
  • $set_mj_admin_password 口令: 修改管理员口令
  • $g_admin_list : 查询管理员列表
  • $s_admin_list 用户ID或昵称: 设置管理员列表
  • $r_admin_list 用户ID或昵称或序列号: 移除管理员列表
  • $c_admin_list : 清空管理员列表
  • $g_wgroup : 查询白名单群组
  • $s_wgroup 群组名称: 设置白名单群组
  • $r_wgroup 群组名称或序列号: 移除白名单群组
  • $c_wgroup : 清空白名单群组
  • $g_wuser : 查询白名单用户
  • $s_wuser 用户ID或昵称: 设置白名单用户
  • $r_wuser 用户ID或昵称或序列号: 移除白名单用户
  • $c_wuser : 清空白名单用户
  • $g_bgroup : 查询黑名单群组
  • $s_bgroup 群组名称: 设置黑名单群组
  • $r_bgroup 群组名称或序列号: 移除黑名单群组
  • $c_bgroup : 清空黑名单群组
  • $g_buser : 查询黑名单用户
  • $s_buser 用户ID或昵称: 设置黑名单用户
  • $r_buser 用户ID或昵称或序列号: 移除黑名单用户
  • $c_buser : 清空黑名单用户
  • $s_limit : 设置每日作图数限制

配置说明

前往插件目录/plugins/midjourney 找到config.json.template,复制成config.json,并进行修改,修改后重启插件即可。

json
{ "mj_url": "", // midjourney-proxy的服务地址 "mj_api_secret": "", // midjourney-proxy的api请求头,如果midjourney-proxy没配置此处可以不配 "mj_tip": true, // 是否发送请求提示,让漫长的等待不会枯燥,如果嫌啰嗦可关闭,即:发送一些成功的内容 "mj_admin_password": "", // MJ管理员密码 "daily_limit": 3, // 普通用户每日作图数 "discordapp_proxy": "", // cdn.discordapp.com反代地址 "imagine_prefix": "[\"/i\", \"/mj\"]", // imagine画图触发前缀 "fetch_prefix": "[\"/f\"]", // fetch任务查询触发前缀 "up_prefix": "[\"/u\"]", // up图片放大和变换触发前缀 "pad_prefix": "[\"/p\"]", // 垫图画图触发前缀 "blend_prefix": "[\"/b\"]", // 混图画图触发前缀 "describe_prefix": "[\"/d\"]", // 图生文触发前缀 "queue_prefix": "[\"/q\"]", // 查询正在执行中任务触发前缀 "end_prefix": "[\"/e\"]", // 结束存储打包发送任务(目前用于混图)触发前缀 "reroll_prefix": "[\"/r\"]" // 重新绘制触发前缀 }
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Golovin

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!