今天我们要用的工具是Python的SmartQQ的API – QQBot,和网页版微信的API – itchat。首先感谢两个库的作者!下面我们开始搞事情!
备注:本文假设你已经有一点点Python基础~
首先我们下载两个要用的Python库,在命令行(Windows的CMD或者Unix的Shell)中输入:
- pip3 install qqbot
- pip3 install itchat
安装好以后,让我们进入下面的操作。
QQ版
首先我们登录SmartQQ:
- from qqbot import _bot as bot
- bot.Login(['-q', 'XXXX'])
其中,XXXX输入你自己的QQ号。如果***次登录,会跳出来一个二维码让你扫,扫一下即可,之后你的账号信息会被保存下来,下次再登录就可以直接调用了。
然后我们选择好友:
- friends = bot.List('buddy')
如果想随机抽取一部分,比如10个, 则:
- friends = random.sample(friends,10)
如果想定点发送,则:
- friends = bot.List('buddy', 'XXX')
XXX里面放好友的备注。
下面我们来给随机(或者假装随机,此处应该划重点)的好友发消息:
- for friend in friends:
- print(friend.name)
- bot.SendTo(friend,'Hello%s~这是一条来自Python机器人的消息~恭喜你被机器人抽中成为幸运的十个人之一~'%(friend.name))
如果你想联系的人正好联系你了,无论她回复什么,你都可以回复:
“现在是人工回复。”
少年,我只能帮你到这里了。
微信版
微信的操作非常类似,不过账号信息只能保存一阵子,所以需要经常扫码,如果扫码过于频繁,就会登录不上了……别问我怎么知道的,我刚想给好久没有勾搭的女神发消息呢……就崩溃了……
首先还是登录:
- import itchat
- itchat.auto_login(True)
True参数是指保存一阵子登录信息,如果不加则不保存。
获取好友列表和随机抽取:
- friends = itchat.get_friends()
随机抽取10位好友:
- import random
- friends = random.sample(friends, 10)
或者假装随机抽取好友:
- friends = itchat.search_friends(name='XXX')
XXX 填上备注/微信号/昵称。
发送消息:
- import time
- for friend in friends:
- print(friend)
- itchat.send('%s你好~这是一条来自Python机器人的问候~我随机抽取了十个人发送了这条消息~'%(friend['DisplayName']), friend['UserName'])
- time.sleep(0.5)
为了防止发送过快被封,加了一个小小的暂停。
更多
还有什么好玩的玩法呢?欢迎大家一起开发!
如果有任何问题,查阅两个库的文档:
- QQBot:pandolia/qqbot
- itchat:项目简介 – itchat