制作微信发信的RESTful的API
境内微信使用太广泛了,然而微信这个倒霉玩意不像TG一样提供机器人接口,而学校核酸检测需要每天催没测的人去测核酸,太折磨了,因此先把微信发信的接口转成RESTful的API方便后续使用。主要思路是用**ItChat-UOS的接口,通过Bottle暴露到互联网上,只要post对应的参数和消息就能通过ItChat-UOS**给指定群组发送通知。
解除系统限制
1 |
|
- sudo -i
- nano /etc/security/limits.conf
- sysctl -w kernel.pid_max=65535
- reboot
- ulimit -a
这个系统最大进程数限制简直太秀了,其他服务一切正常,ssh进不去,docker可视化面板不能停止docker,还好有这个可视化面板给出了正确的错误信息 Resource temporarily unavailable。一番所搜才知道是进程数量达到最大值了,我服了。。。
- 阿里云的机器默认的vm.swappiness居然是0,淦
- nano /etc/sysctl.conf
- sysctl -p #同时加到开机启动命令里
- sysctl vm.swappiness=60
- cat /proc/sys/vm/swappiness
安装依赖
- sudo apt-get install python3-pip
- pip3 install itchat-uos==1.5.0.dev0 -i https://pypi.tuna.tsinghua.edu.cn/simple
- pip3 install bottle -i https://pypi.tuna.tsinghua.edu.cn/simple
测试itchat-uos
1 |
|
nano /home/pi/.local/lib/python3.7/site-packages/itchat/utils.py
修改print_qr的代码,改为输出QR图片的路径,自行下载扫码
python3
import itchat
# itchat.auto_login()
# itchat.auto_login(True, enableCmdQR=True)
itchat.auto_login(True, enableCmdQR=2)
itchat.send(‘Hello, Limour’, toUserName=’filehelper’)
itchat.logout() # 建议手机上点退出
获得好友和群组的UserName
- import itchat
- itchat.auto_login(True, enableCmdQR=2)
- usr = itchat.search_friends(remarkName=’Limour’)
- group = itchat.search_chatrooms(name=’相亲相爱一家人’)
- group = group[0]
- group.send(‘测试一下’)
- group.userName 即可得到群组的userName
查看消息的结构
- 平时我们分享的小程序属于’Sharing’
- 一般的文字消息属于’Text’
- 让我们捕获一个’Sharing’试试
1 |
|
- 很好,现在我们获得了一个Sharing样本
- 通过研究它,我们尝试构建自己的Sharing消息
- 先保存我们珍贵的样本
1 |
|
- nano /home/pi/.local/lib/python3.7/site-packages/itchat/components/messages.py
- nano /home/pi/.local/lib/python3.7/site-packages/itchat/__init__.py
- forward_appMsg = instance.forward_appMsg
1 |
|
- 重启python,测试一下
1 |
|
- 淦,失败了,不弄了,换成二维码图片算了,微信就是****
- 测试一下图片功能:itchat.send_image(‘./itchat/COVID.19.testing.jpg’, group.userName)
- 算了,只能小程序卡片换成二维码图片了
构建API
1 |
|
测试API
1 |
|
制作微信发信的RESTful的API
https://occdn.limour.top/2242.html