“之前过年的时候有搞了一个微信群发的小玩意,但是可能要不是计算机的人去玩还是有点难度了。所以现在就搞一个可视化的版本来玩一下啦。”
直接到百度网盘把这个给东西下下来
然后打开 dist
文件夹,双击运行 app.exe
程序。他会自动打开一个网页。
里面有说明,看完说明,点击登录按钮,会弹出一个二维码(弹不出来看一下任务栏是否有图片预览的图标,把图片点上来)。手机微信授权登录。进入程序。
剩下的应该不用说了吧,反正就是选人,输入要群发的信息,信息里面用 %s
替代备注,先测试发送看一下效果再正式发送,避免翻车。如果你选择群好友选择的功能,你要确保你的群是保存在你的通讯录里面的。要是出啥 bug 记得和我说声哦。
上面那个打包好的虽然是可以运行发送信息,但是功能上有点单调,并且一个晚上整出来的东西会不会漏点啥,出点啥 bug,这个还真不好说。如果想要获得更加丰富的体验的话,可以去 GitHub 把我的代码搞一下,自己搞事情。
如果你要运行我的项目的话,你的电脑要配置好 Node 和 Python 的环境。这个可以去看我之前备份的文章,Python 开发环境搭建 和 Node 开发环境搭建
我在里面用的技术栈是后台 flask + 前端 vue,其中微信模块是调用了 itchat 的这个接口库。前后端都懂一点的话可以搞这两个项目。
back-end
是后台,所有的东西我都写在了 app.py
这个文件里面。
front-end
是前端 Vue 项目。
要是不会 vue 的话可以看那个 sendMessage.py
。那个是 Python 写的终端版的,可以拿去搞事情。
因为有 itchat 这个库,使用这个实现起来也是很简单的。大概的思路就是:
调用
itchat.auto_login(enableCmdQR=True)
方法调出登录二维码,授权登录网页微信。调用
itchat.get_friends()
获取你所有好友的数据调用
itchat.send(信息内容,好友id)
方法发送信息。
其中第二部获取到的好友数据是一个数组,里面每一个好友的数据都是一个对象。对象里面有几个属性的数据我们要用到分别是
NickName 好友的昵称RemarkName 你对好友的备注名称UserName 好友的 id,这个在 调用 send 方法的时候需要作为参数
像我们一般的操作就是获取到你对好友的备注,将这个处理一下拼接到发送的信息里面。然后就调用 send
发送咯。大概的逻辑如下:
friends = itchat.get_friends()for friend in friends: msg = friend[RemarkName] + ,打球! itchat.send(msg, friend[UserName]) # 不能发太快,不然容易被腾讯爸爸封的 time.sleep()
然后也可以获取通讯录中群里面的好友信息,毕竟有些信息是只会发给某个特定群里面的人是吧。这个的话,他获取好友的就会多这么一个步骤:
itchat.get_chatrooms(update=True)chatrooms = itchat.search_chatrooms(name=群的名字)chatroom = itchat.update_chatroom(chatrooms[][UserName])friends = chatroom[MemberList]
要是想搞事情的话,我们可以自己搞个定时器,发送给某个人啊,发送的内容要是有接口可以获取的话,可以搞点天气啊,每日一句啥的,反正你想咋整就咋整呗,甚至你可以搞一下微信机器人,这个 itchat 官网(https://itchat.readthedocs.io/zh/latest/)那边就有了。
最后,还是要感谢 itchat 的作者们开源出这么一个好玩的东西给我们搞。大家有空去他官网看看,可以搞出很多好玩的事情来着。