瞎折腾之itchat

起因

前一段时间为了为了某个目的呢,坚持在公共号签到,…有时候就忘了这回事了…,然后就断掉了…
哇,这个就很气,所以想搞个脚本扔服务器上跑着,每天定时签到,岂不美哉~~
网上查阅资料,看到大家对itchat比较推崇,就拿出一点时间学一学。

来一波官方介绍:

itchat是一个开源的微信个人号接口,使用python调用微信从未如此简单。
使用不到三十行的代码,你就可以完成一个能够处理所有信息的微信机器人。
当然,该api的使用远不止一个机器人,更多的功能等着你来发现,比如这些。
该接口与公众号接口itchatmp共享类似的操作方式,学习一次掌握两个工具。

折腾

最基本的东西都在官方文档与项目主页有所介绍,就不重复造轮子了,只写一点自己比较感兴趣的地方…

群发消息

1
2
3
4
5
6
7
8
9
import itchat
from itchat.content import *
itchat.auto_login()
str = u'狗年大吉,万事如意'
user_list = itchat.get_friends()[1:][0]['UserName']
#若为公共号群发
#mps_list = itchat.get_mps()[1:][0]['UserName']
for user in user_list:
itchat.send(srt,user)

自动回复消息

1
2
3
4
5
6
7
8
9
10
11
12
import itchat
from itchat.content import *
itchat.auto_login(hotReload = True)
@itchat.msg_register(TEXT)
def text_reply(msg):
msg.user.send('%s' % msg.text)
@itchat.msg_register([PICTURE, RECORDING, ATTACHMENT, VIDEO])
def download_files(msg):
msg['Text'](msg['FileName'])
return '@%s@%s' % ({'Picture': 'img', 'Video': 'vid'}.get(msg['Type'], 'fil'), msg['FileName'])

向好友发送消息

1
2
3
4
5
6
7
8
#coding:utf-8
import itchat
from itchat.content import *
itchat.auto_login(hotReload = True)
friend_name = itchat.search_friends(name='xxxx')
user = friend_name[0]['UserName']
itchat.send('test',user)

公共号发送消息

1
2
3
4
5
6
7
8
9
#coding:utf-8
import itchat
from itchat.content import *
itchat.auto_login(hotReload = True)
mps = itchat.search_mps(name='T00ls')
mps_name = mps[0]['UserName']
itchat.send('3',mps_name)

定时签到

掌握以上基本用法以后,就可以来整一波定时发送了.. 定时采用的是apscheduler框架,cron的触发方式测试了好多次不奏效… 暂时不明白为啥… 先用interval触发吧。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#coding:utf-8
import itchat
from itchat.content import *
from apscheduler.schedulers.blocking import BlockingScheduler
from datetime import datetime
def job():
mps = itchat.search_mps(name='xxx')
mps_name = mps[0]['UserName']
itchat.send('3',mps_name)
# BlockingScheduler
scheduler = BlockingScheduler()
scheduler.add_job(job, 'interval', hour=23,minutes=50,seconds=50)
scheduler.start()

扔服务器上,后台运行脚本,你就可以安心干别的事了~~

more

itchat还有更多的玩法,可以设计一个简单的图灵机器人,类似于QQ小冰的感觉,有兴趣的可以去网上查阅资料。

参考链接

官方文档就是最好的教程~~
https://itchat.readthedocs.io/zh/latest/
https://github.com/littlecodersh/ItChat/
https://lz5z.com/Python%E5%AE%9A%E6%97%B6%E4%BB%BB%E5%8A%A1%E7%9A%84%E5%AE%9E%E7%8E%B0%E6%96%B9%E5%BC%8F/

本文标题:瞎折腾之itchat

文章作者:tkcharlotte

发布时间:2018年02月24日 - 18:02

最后更新:2018年02月25日 - 19:02

原始链接:boombao.net/2018/02/24/itchat/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

-------------本文结束感谢您的阅读-------------