You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
6vision 29490741fd Ensure compatibility for /wxcomapp URL with trailing slash 3 months ago
..
README.md Update README.md 1 year ago
wechatcomapp_channel.py Ensure compatibility for /wxcomapp URL with trailing slash 3 months ago
wechatcomapp_client.py fix: ensure get access_token thread-safe 1 year ago
wechatcomapp_message.py fix: ensure get access_token thread-safe 1 year ago

README.md

企业微信应用号channel

企业微信官方提供了客服、应用等API,本channel使用的是企业微信的自建应用API的能力。

因为未来可能还会开发客服能力,所以本channel的类型名叫作wechatcom_app

wechatcom_app channel支持插件系统和图片声音交互等能力,除了无法加入群聊,作为个人使用的私人助理已绰绰有余。

开始之前

  • 在企业中确认自己拥有在企业内自建应用的权限。
  • 如果没有权限或者是个人用户,也可创建未认证的企业。操作方式:登录手机企业微信,选择创建/加入企业来创建企业,类型请选择企业,企业名称可随意填写。 未认证的企业有100人的服务人数上限,其他功能与认证企业没有差异。

本channel需安装的依赖与公众号一致,需要安装wechatpyweb.py,它们包含在requirements-optional.txt中。

此外,如果你是Linux系统,除了ffmpeg还需要安装amr编码器,否则会出现找不到编码器的错误,无法正常使用语音功能。

  • Ubuntu/Debian
apt-get install libavcodec-extra
  • Alpine

需自行编译ffmpeg,在编译参数里加入amr编码器的支持

使用方法

1.查看企业ID

  • 扫码登陆企业微信后台
  • 选择我的企业,点击企业信息,记住该企业ID

2.创建自建应用

  • 选择应用管理, 在自建区选创建应用来创建企业自建应用
  • 上传应用logo,填写应用名称等项
  • 创建应用后进入应用详情页面,记住AgentIdSecert

3.配置应用

  • 在详情页点击企业可信IP的配置(没看到可以不管),填入你服务器的公网IP,如果不知道可以先不填
  • 点击接收消息下的启用API接收消息
  • URL填写格式为http://url:port/wxcomappport是程序监听的端口,默认是9898 如果是未认证的企业,url可直接使用服务器的IP。如果是认证企业,需要使用备案的域名,可使用二级域名。
  • Token可随意填写,停留在这个页面
  • 在程序根目录config.json中增加配置(去掉注释),wechatcomapp_aes_key是当前页面的wechatcomapp_aes_key
    "channel_type": "wechatcom_app",
    "wechatcom_corp_id": "",  # 企业微信公司的corpID
    "wechatcomapp_token": "",  # 企业微信app的token
    "wechatcomapp_port": 9898,  # 企业微信app的服务端口, 不需要端口转发
    "wechatcomapp_secret": "",  # 企业微信app的secret
    "wechatcomapp_agent_id": "",  # 企业微信app的agent_id
    "wechatcomapp_aes_key": "",  # 企业微信app的aes_key
  • 运行程序,在页面中点击保存,保存成功说明验证成功

4.连接个人微信

选择我的企业,点击微信插件,下面有个邀请关注的二维码。微信扫码后,即可在微信中看到对应企业,在这里你便可以和机器人沟通。

向机器人发送消息,如果日志里出现报错:

Error code: 60020, message: "not allow to access from your ip, ...from ip: xx.xx.xx.xx"

意思是IP不可信,需要参考上一步的企业可信IP配置,把这里的IP加进去。

### Railway部署方式(2023-06-08已失效)

公众号不能在Railway上部署,但企业微信应用可以!

填写配置后,将部署完成后的网址**.railway.app/wxcomapp,填写在上一步的URL中。发送信息后观察日志,把报错的IP加入到可信IP。(每次重启后都需要加入可信IP)

测试体验

AIGC开放社区中已经部署了多个可免费使用的Bot,扫描下方的二维码会自动邀请你来体验。