微信自动回复设置(Python几十行代码轻松实现微信自动回复机器人「含源码」)

最近因为太无聊,考虑能不能做点好玩的事。刚刚在CSDN的推荐下看到大榭做的微信自动回复机器人,很有意思,就想着可以自己做一个。在这里,写下我的具体想法和实施过程。

首先我选择找了一个有自动回复功能的机器,调用了它的API,上网搜了一下,发现大家都推荐图灵机器人。然后我就溜过去找图灵机器人,最后发现它收费!!!该死,是不是才刚刚开始结束?后来开始百度大法,终于找到了一个免费的机器人API:青云客。我测试了一下,但是真的还可以,主要是白嫖。




还好不是特别怂。

找到这个怎么办?官网给了API,我们可以直接调用这个机器人。

在这里,我们可以开始手工编写Python文件。这里主要用两个库,itchat和request(理论上只需要下载这两个库,但是,我们用itchat登录微信网页,完成一系列操作,这两年微信网页都贴不上去。从一手资料来看,腾讯似乎准备放弃微信网页了。这里的解决方案是下载另一个库- itchat-uos。下载后还是按照下面的思路,最后没有问题!!!至于具体原理,应该是这个itchat-uos在原来的基础上加了点东西然后让它有效继续登录网页版(大胆猜测,不喷))


个人微信设置自动回复

def get_response(msg): url = 'http://api.qingyunke.com/api.php?key=free&appid=0&msg={}'.format(urllib.parse.quote(msg)) html = requests.get(url) return html.json()["content"] while (1) : msg = input() print("原话 >>", msg) res = get_response(msg) print("机器回复 >>", res)


def get _ response(msg): URL = & # 39;http://api.qingyunke.com/api.php? key = free & appid = 0 & msg = { } & # 39;。format(URL lib . parse . quote(msg)) html = requests . get(URL) return html . JSON()[& # 34;内容& # 34;] while(1): msg = input() print(& # 34;原话>:& gt",msg) RES = get _ response(msg) print(& # 34;机器回复>:& gt",res)

很好,已经转移了。接下来要完成的任务就是让它接管我们的微信。原理大概是:将接收到的信息临时存储转发给机器人,然后发送机器人的回复。这个原理听起来真的有点难吗?但是你要知道我们用的是Python。别人不多,小偷多!!这里需要itchat库发挥作用,我刚才说的这些都可以实现。

直接去代码解释一下:

@ it chat . msg _ register(it chat . content . text) def青云_ reply(msg): message = & # 39;我收到了:& # 39;+msg[& # 39;正文& # 39;] reply = get _ response(msg[& # 39;正文& # 39;]] 返回回复或消息 it chat . auto _ log in(hot reload = true) it chat . run()在这里,这句话开头的短语@就知道是用来登录的,它会调用一个二维码让你扫码登录微信。然后可以用Python解析网页代码,得到微信接受的信息。这里的内部函数就是我前面说的逻辑处理,一气呵成的获取信息,转发然后返回。

后两个代码是设置是否自动登录,登录一次后点击下次使用。

run方法是用来循环的(不可能一次只回复一个!!)

最后看实际练习。




齐,成功了。




该死,就是个没用的小女朋友。

这里给出了完整的源代码。

#coding=utf8 import urllib.parse import itchat import requests ​ ​ def get_response(msg): url = 'http://api.qingyunke.com/api.php?key=free&appid=0&msg={}'.format(urllib.parse.quote(msg)) html = requests.get(url) return html.json()["content"] ​ # while (1) : # msg = input() # print("原话 >>", msg) # res = get_response(msg) # print("机器回复 >>", res) ​ @itchat.msg_register(itchat.content.TEXT) def qingyun_reply(msg): message = 'i received:' + msg['Text'] reply = get_response(msg['Text']) return reply or message ​ itchat.auto_login(hotReload=True) itchat.run() ​

您可以还会对下面的文章感兴趣

使用微信扫描二维码后

点击右上角发送给好友