需要开启某个渠道的消息通知时,需要完成以下设定:
设定 -> 通知 -> 通知渠道
中启用对应的消息渠道,并维护好对应消息渠道的相关参数,保存并重启。设定 -> 通知 -> 消息类型
中开启对应渠道对应消息类型的消息开关。系统运行状态以及发生错误时,会通过系统通知进行提醒,可登录WEB管理界面,在右上角消息提醒中心进行查看。
在企业微信控制台
我的企业->微信插件
找到二维码,使用微信扫码后可直接在微信使用,无需打开企业微信客户端。
我的企业
-企业信息
下查看企业ID
。应用管理
-自建
下查看Secret
。应用管理
-自建
下查看AgentId
。消息代理服务地址
,并将消息代理服务器的真实IP填写到企业微信应用IP白名单
中。接收消息
设置页面生成Token
和EncodingAESKey
并填入设定->通知->微信
对应项,并保存。接收消息
页面输入此地址:http(s)://DOMAIN:PORT/api/v1/message/
(DOMAIN、PORT替换为本工具的外网访问地址及端口,需要有公网IP域名并做好端口转发),能正常保存即设置成功。2022年6月后新建的企业微信应用需要有固定公网IP的代理才能接收到消息,需要使用有固定IP的VPS搭建代理服务,同时代理添加以下代码:
location /cgi-bin/gettoken {
proxy_pass https://qyapi.weixin.qq.com;
}
location /cgi-bin/message/send {
proxy_pass https://qyapi.weixin.qq.com;
}
location /cgi-bin/menu/create {
proxy_pass https://qyapi.weixin.qq.com;
}
可以使用这个项目直接搭建:wxchat-Docker
感谢 @snnh 提供的教程:使用腾讯云cdn实现企业微信反向代理
或者使用 TCP 中转服务器来实现,以 socat 为例,使用 docker compose 搭建中转服务器
version: "3.5"
services:
wxqyapi-relay:
image: alpine/socat
container_name: wxqyapi-relay
command: "TCP-LISTEN:9090,fork,reuseaddr TCP:qyapi.weixin.qq.com:443"
expose:
- "9090"
ports:
- "443:9090"
restart: unless-stopped
然后添加 hosts 将 qyapi.weixin.qq.com 指向该服务即可
ip_of_your_server qyapi.weixin.qq.com
如果 socat 服务不能使用 443 端口,需要配置 WECHAT_PROXY,比如 socat 监听的 8543 端口,需要设置 WECHAT_PROXY=https://qyapi.weixin.qq.com:8543
并同时配置 hosts
TCP 中转服务也可以通过 Nginx 实现,通常 socat 用不了 443 端口都是因为 443 被 Nginx 占用了,方法参考 https://atpx.com/blog/nginx-tcp-proxy-forward-client-ip/
设置后,只有在管理员白名单
的用户才可以使用微信应用号的菜单功能。
设置后,只有用户白名单
中的ID对应用户,才能关注你的机器人发送消息。
设置后,只有在管理员白名单
的用户才可以关注你的机器人并操作命令功能。
Socket Mode
。Event Subscriptions
、Bots
、Permissions
。其中Bot Token Scopes
赋于 chat:write
、im:read
、im:history
、channels:read
、commands
权限;Subscribe to bot events
赋于 message.im
、app_mention
权限;按需维护Interactivity & Shortcuts
菜单,类型为Global
,菜单Callback ID需与项目主页说明一致。App-Level Tokens
并赋于 connections:write
权限。全体
频道。OAuth & Permissions
中 获取 Bot User OAuth Token
,Basic Information
中 获取 App-Level Tokens
填入相关设置项中,保存。Synology Chat
。整合->机器人
中创建机器人,机器人勾选启用整合
,取消在聊天机器人列表中隐藏
,传出URL
设置为http://ip:port/api/v1/message/?token=moviepilot
,其中moviepilot
修改为环境变量中实际的API_TOKEN
的值,ip:port
为实际MoviePilot的IP地址和端口。记录机器人传入URL
和令牌
。机器人传入URL
和令牌
填入MoviePilot相关设置项,保存。+
号,添加机器人聊天。机器人密钥
和频道ID
连同服务地址
填入对应设置项,保存。http://ip:port/api/v1/message/?token=moviepilot
,其中moviepilot
修改为环境变量中实际的API_TOKEN
的值,ip:port
为实际MoviePilot的IP地址和端口。WebPush基于PWA实现让网页应用能像App客户端一样发送消息通知,实现客户端级的消息通知使用体验,开启WebPush需要满足以下条件:
SSL
。16.4
以上版本。建议将插件、站点等消息通过WebPush发送,其余媒体类消息则通知到微信等客户端,实现管理员消息通知和普通使用用户通知分离。