农历2019年的最后一篇文章,推荐一个Python的第三方库itchat,是一个可以对微信进行操作的库。非常的简单方便~
我们使用pip install itchat
来安装这个聊天模块
安装完之后import itchat
再写几行代码就能够自动回复了~
我们只需要把你想回复的函数定义成一个函数加上itchat的装饰器
@itchat.msg_register
就可以获取当前对方发给你的消息了~
import itchat from itchat.content import * @itchat.msg_register([TEXT]) def reply(msg): if "拜年" in msg['Text'] or '新年快乐' in msg['Text']: itchat.send('谢谢你呀!新年快乐呀!', msg['FromUserName']) itchat.send_image('timg.jpg', msg['FromUserName']) itchat.auto_login(enableCmdQR=False, hotReload=True) itchat.run()
怎么样是不是很简单~
除了文字信息,我们还可以处理对应的表情信息,语音信息,图片信息,连接分享,只需要在@itchat.msg_register
里面添加相应的参数即可
@itchat.msg_register([PICTURE,RECORDING,VIDEO,SHARING])
所有的文字自动回复都可以使用send方法进行回复。
send方法里面有两个参数,第一个是你要发送的信息,第二个是你要发送的对象,msg的本质是一个字典,把所有的属性都存在里面。我们可以使用msg['FromUserName']直接取到发送信息的用户,并且可以使用send方法对他进行回复。
除了语言文字之外,我们还可以发送:
图片、文件、视频等消息。
在上面的代码中,我就是做了一个简单的回复:对于发过来的消息,如果有“拜年”,“新年快乐”的字样,就开启自动回复。
当然你,除此之外你还可以做个优化,如果是你的小可爱发的消息,肯定要与众不同对吧,那我们可以判断一下msg['FromUserName']的值,然后在发送对应的消息:
这里说一下,这个对应的值需要你去手动取一次(让他先给你发一次消息,你就可以取到值了),这个name不是微信用户名,而是一串@开头的字符串,例如:
@9a66a56312142314532ca644bfac870b4afe8f2c6174cfe13xxxxxx
if msg['FromUserName'] == "@9a66a56312142314532xxxx": itchat.send('谢谢小可爱,爱你哦!么么哒~', msg['FromUserName'])
那么如果你有一群小可爱的话,我们照样也能做~
if msg['FromUserName'] in ["@9a66a563e8f2c6174cfe13", "@9a66a563121423145324b4", "@9a66a5631211dca617fe33"]: itchat.send('谢谢小可爱,爱你哦!么么哒~', msg['FromUserName'])
怎么样,是不是很方便
解放你的双手,可以尽情的做你想做的事儿啦~
来来来赶紧来试试吧~