既然你诚心诚意地问了,我就大发慈悲地告诉你~
最近给wechatircd(让IRC客户端控制微信网页版,收发文本图片、邀请删除群成员、添加朋友请求等)做大手术,折腾了很多东西……可以看这段视频以及最新的README.md。
- server建立和微信网页版的绑定,而不是之前的client登录后和网页绑定
- 全面修缮多clients支持,多个clients可以操作一个微信个人帐号,可以外接bot
- 命令行选项
--irc-nicks ray ray1
,给客户端保留的nick。防止微信用户占用这些名字 - 新的join
mode:
--join new
。收到某个群第一条消息后自动加入对应的channel。WeeChat里/close
命令关闭窗口会自动/part
。原来的--join auto
是收到/part
命令后,收到消息不会重新加入。 - 现在通过设置channel
mode来防止自动JOIN一个恼人的微信群:
/mode +m
/motd
,查看本repo最近5个commits/squit $any
,log out微信网页版- 微信朋友带有mode
+v
(voice, 通常显示为前缀+
)。IRC客户端nicklist里把这些nick会用前缀+显示。SpecialChannel#update_detail
nick0: nick1: test
会被转换成@GroupAlias0 @GroupAlias1 test
,GroupAlias0
是那个用户自己设置的名字,不是你设置的Set Remark and Tag
,对应移动端的On-screen names
- 回复12:34:SS的消息:
@1234 !m multi\nline\nreply
,会发送「Re GroupAlias: text」text
- 回复12:34:56的消息:
!m @123456 multi\nline\nreply
- 回复朋友/群的倒数第二条消息(自己的消息不计数):
@2 reply
- 粘贴检测。PRIVMSG行会被延迟0.1秒,期间发送的所有行会被打包成一个多行消息发送
!m
,@3
,nick:
可以任意安排顺序。- IRC 3.1
3.2的
server-time
,让客户端显示消息时和服务器收到的消息的时刻一致。 - 订阅号文章统一由BrandServ虚拟用户发送
- -c/--config可以接配置文件(代替命令行选项)
--irc-nicks ray ray1
保留给IRC客户端用的nick,不会被虚拟的微信用户占用
对于WeeChat,默认的anti-flood机制会让发出去的两条消息间隔至少2秒。禁用该机制使粘贴检测生效:
1
/set irc.server.wechat.anti_flood_prio_high 0
如果想用这种方式操作Telegram,请移步https://github.com/MaskRay/telegramircd 我的WeeChat配置参见WeeChat操作各种聊天软件
去年折腾这个就是嫌微信操作麻烦,这两年各种微信bot方案层出不穷,比如最近活跃的https://github.com/wechaty/wechaty、https://github.com/littlecodersh/ItChat/,我更喜欢的还是sjdy521的https://github.com/sjdy521/Mojo-Weixin,也提供了一个IRC插件(可惜我自己有很多其他需求,这个项目IRC插件部分比较简单)。然而他们从头实现微信网页版协议,代码量巨大……我不懂这些前端技术,也没有足够精力持续拥抱微信网页版变化,最初无奈下载源码后加一些自己的patch,演化到现在抄electronic-wechat注入angular,用Userscript来驱动。目前injector.js
只有600多行,很大一部分是从微信网页版挖出来的。
对于黑客来说,有这么一条铁律:从头开发个软件只是小儿科;要想在别人面前展现自己的聪明才智(并让别人对自己留下印象),就得做点更有意思的事:改进一个程序让它体积更小、跑得更快、功能更强,代码更优雅,这才是真本事。——《若为自由故:自由软件之父理查德·斯托曼传》
现在支持多客户端后,可以一边用IRC聊天,一边用一个bot自动化一些操作。IRC bot非常多,如Sopel等,能找到丰富的玩法。
另外,建议使用README.zhs.md
中提到的headless浏览器方案,可以避免每日扫码。
- 创建一个新Chromium
profile:
chromium --user-data-dir=$HOME/.config/chromium-wechatircd
,配置浏览器(injector.js
用的证书, Tampermonkey,injector.user.js
),关闭浏览器 - 安装xvfb (Arch Linux里叫
xorg-server-xvfb
) xvfb-run -n 99 chromium --user-data-dir=$HOME/.config/chromium-wechatircd https://wx.qq.com
- 等数秒待QR码加载。
DISPLAY=:99 import -window root /tmp/a.jpg && $your_image_viewer /tmp/a.jpg
,截图后用移动端应用扫码
另一种方案是x2go,参见无需每日扫码的IRC版微信和QQ:wechatircd、webqqircd。
讨论群:
- freenode channel #wechatircd
- Telegram https://t.me/wechatircd
- Gitter https://gitter.im/wechatircd/wechatircd
祝wechatircd一岁生日快乐。就是这样,喵喵喵,喵喵喵~