相关文章推荐
豪气的苦瓜  ·  从一个“理塘”到N个“理塘” <br ...·  2 年前    · 
谈吐大方的火车  ·  分享一款pc版微信对话生成器,免费使用,无需 ...·  2 年前    · 
气势凌人的围巾  ·  钢铁雄心4 ...·  2 年前    · 
暴走的黄豆  ·  人声后摇用英文怎么说? - 知乎·  2 年前    · 
儒雅的单车  ·  Evaluation of the ...·  2 年前    · 
Code  ›  python做微信回复机器人_Python自动化脚本开发者社区
python 机器人 python函数 微信开发
https://cloud.tencent.com/developer/article/2158184?from=article.detail.2225116&areaSource=106000.9&traceId=nvcPVp2-zJFNFDO-64drH
单身的麦片
2 年前
作者头像
全栈程序员站长
0 篇文章

python做微信回复机器人_Python自动化脚本

前往专栏
腾讯云
备案 控制台
开发者社区
学习
实践
活动
专区
工具
TVP
文章/答案/技术大牛
写文章
社区首页 > 专栏 > 全栈程序员必看 > 正文

python做微信回复机器人_Python自动化脚本

发布 于 2022-11-10 15:13:43
518 1
举报

大家好,又见面了,我是你们的朋友全栈君。

Python几十行代码轻松实现 微信 自动回复 机器人

最近因为太无聊了就考虑能不能做一些好玩的东西出来,正好在CSDN的推荐上看到大佬做的微信自动回复机器人,觉得很有趣,因此想着自己也能动手做一个。在此就写下我的具体思路和实现过程吧。

首先,我是选择先找一个具有自动回复功能的机器,调用其API,上网搜索了一下,发现大家伙都推荐图灵机器人,然后我就溜过去找了一下图灵机器人,最后发现: 它收费!!!可恶啊,难道刚开始就要结束了吗?后来我又开始了百度大法,最后发现了一个免费的机器人API: 青云客。测试了一手,着实还行,主要是白嫖啊。

扔个链接: 青云客智能聊天机器人API (qingyunke.com)

还好,不至于特别弱智。

找到这个以后能干啥呢?人家官网给了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)

跑一遍,试试水

好得很呐,调过来了,接下来要完成的使命就是,让它来接管我们的微信,原理大概就是:把接受到的信息暂存起来转发给机器人,再把机器人的回复发出去,原理是不是听起来有点难,确实。但你要知道我们用的是Python啊,别的不多,库贼多!!,这里就需要itchat这个库发挥作用了,我刚刚说的那些它都能实现。

直接上代码来解释吧:

@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()

这里这个开头@开头那句望文生义就知道是用来登录的,它会调用一个二维码过来让你扫码登录,登录到微信网页版,然后就可以利用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']
 
推荐文章
豪气的苦瓜  ·  从一个“理塘”到N个“理塘” <br />四川每年将评选一批“天府旅游名IP”- 四川省人民政府网站
2 年前
谈吐大方的火车  ·  分享一款pc版微信对话生成器,免费使用,无需网络_哔哩哔哩_bilibili
2 年前
气势凌人的围巾  ·  钢铁雄心4 新秩序:欧洲末日mod(TNO)国家介绍:中国军阀介绍
2 年前
暴走的黄豆  ·  人声后摇用英文怎么说? - 知乎
2 年前
儒雅的单车  ·  Evaluation of the effect of fish oil in the prevention of pressure ulcers in patients admitted to the intensive care unit - PMC
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号