作者 | Ahab

来源 | Ahab杂货铺(ID:PythonLearningCamp)

编辑 | Jane




马上就要过年了,好多小伙伴都已经顺利到家。在这提前祝大家:新年快乐。





昨天发现自己的 itchat 终于可以登陆了(差不多被封了两个月),马上就要过年了,必须用 itchat
搞点事情--实现自动回复微信好友新年祝福。当然除了这个还可以做个祝福语群发助手,但是比较怂怕再次被封,毕竟上次就是因为群发被封的。话不多说,来看今天的程序。





程序介绍







先上图让大家感受一下




这是第三次写关于 itchat 的文章了,没什么技术含量,照着 API
写就可以,程序的功能简单地说就是当微信好友给你发新年祝福时,你随机回复一条祝福语,同时,自动回复过的好友不再回复,祝福语前面会加上微信好友的备注/昵称,这样看起来不是特别像自动回复。用到的模块:itchat
模块、requests 模块以及一些 Python 自带的模块。




具体实现




*
获取新年祝福语





也许大家会有疑问自动回复的祝福语从哪获取呢?给大家推荐一个神奇的网站爱集合数据。




传送门:




http://www.xjihe.com/home/api




我们用到的祝福语就是通过这个网站来获取。










具体获取哪种数据,网站已经做了很详细的说明,大家照着实现就可以,然后 apiKey 需要自己注册获取。




1# 获取新年祝福语
2def GetRandomGreeting():
3    res = requests.get(
"http://www.xjihe.com/api/life/greetings?festival=新年&page=10", headers = {
'apiKey':'sQS2ylErlfm9Ao2oNPqw6TqMYbJjbs4g'})
4    results = res.json()['result']
5    return results[random.randrange(len(results))]['words']





通过 requests 进行请求,获取新春祝福语,使用 random 随机生成。





*
发送新年祝福语




# 发送新年祝福语
2def SendGreeting(msg):
3    global replied
4    friend = itchat.search_friends(userName=msg['FromUserName'])
5    if friend['RemarkName']:
6        itchat.send((friend['RemarkName']+','+GetRandomGreeting()), msg[
'FromUserName'])
7    else:
8        itchat.send((friend['NickName']+','+GetRandomGreeting()), msg[
'FromUserName'])
9    replied.append(msg['FromUserName'])







信息的发送通过 itchat 来实现,关于 itchat 之前做过很多次介绍,消息的发送在智障机器人的文章已经做了详细介绍,这一模块比较简单,大家也可以参照
API 来实现。




API:

https://pypi.org/project/itchat/1.0.11/




# 文本消息
[email protected]_register([TEXT])
3def text_reply(msg):
4    if '年' in msg['Text'] and msg['FromUserName'] not in replied:
5        SendGreeting(msg)
6
7
8# 其他消息
[email protected]_register([PICTURE, RECORDING, VIDEO, SHARING])
10def others_reply(msg):
11    if msg['FromUserName'] not in replied:
12        SendGreeting(msg)






这里做了一个简单的判断,如果对方给你发送的消息中含有【年】,就认为是对方给你发送新春祝福,实现自动回复,当然你也可以将这个判断条件设置的更加准确。如果收到图片,语音,视频,表情包等消息,则不会自动回复。




项目地址:

https://github.com/AhabWang/AhabCode




(本文为AI科技大本营转载文章,转载请联系作者。)



推荐





推荐阅读


*
iPhone曝严重漏洞,用户接听FaceTime前或被“监听”!
<https://blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/86716408>

*
熬夜写代码,不如换女装入GitHub获上千Star?
<https://blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/86684726>

*
“百练”成钢:NumPy 100练
<http://mp.weixin.qq.com/s?__biz=MzU5MjEwMTE2OQ==&mid=2247484553&idx=1&sn=37c72ffaaf7e74d21f28ac91b8f0c522&chksm=fe25aed7c95227c1b594a7d999fefca08b2460c82952623ea5d318b6e87e3f9ef58752a8abe2&scene=21#wechat_redirect>

*
小学生手写Python程序解魔方!这是高手,这绝对是高手!
<http://mp.weixin.qq.com/s?__biz=MzU5MjEwMTE2OQ==&mid=2247484553&idx=2&sn=48cf51b1b3dbc29a31f6c9ee6a6770a1&chksm=fe25aed7c95227c1c2abc6e802735591cb240c683093e9d620bde6d96e045f84b6f116c62ead&scene=21#wechat_redirect>

*
鏖战九载,Google 是否会因 Oracle 而弃用 Java?
<https://blog.csdn.net/csdnnews/article/details/86710261>

*
小心!你的脸正在成为色情片主角 <https://blog.csdn.net/csdnsevenn/article/details/86710219>

*
聊聊云计算:为什么构建网站时常会用到负载均衡
<https://blog.csdn.net/FL63Zv9Zou86950w/article/details/86710193>

*
年度大戏!以太坊大神怒怼智能合约之父,尼克·萨博到底做错了啥?
<https://blog.csdn.net/Blockchain_lemon/article/details/86710294>

*
嫁人当嫁程序员 <https://blog.csdn.net/csdnsevenn/article/details/78383365>



点击“阅读原文”,打开CSDN APP 阅读更贴心!

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信