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

python做微信回复机器人_Python自动化脚本Python几十行代码轻松实现微信自动回复机器人最近因为太无聊了就考虑能不能做一些好玩的东西出来,正好在CSDN的推荐上看到大佬做的微信自动回复机器人,觉得很有趣,因此想着自己也能动手做一个。在此就写下我的具体思路和实现过程吧。首先,我是选择先找一个具有自动回复功能的机器,调用其API,上网搜索了一下,发现大家伙都推荐图灵机器人,然后我就溜过去找了一下图灵机器人,最后发现:它收费!!!可恶啊,难道刚开始就要结束了吗?后来我又开始了百度大法,最后发现了一个免费的机器人API:青云客。测试了一手

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

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

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

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

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

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

还好,不至于特别弱智。

找到这个以后能干啥呢?人家官网给了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做微信回复机器人_Python自动化脚本

好得很呐,调过来了,接下来要完成的使命就是,让它来接管我们的微信,原理大概就是:把接受到的信息暂存起来转发给机器人,再把机器人的回复发出去,原理是不是听起来有点难,确实。但你要知道我们用的是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方法就是用来循环的(不可能一次只回复一条吧!!)

最后看看实操

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

齐活,成功了

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

可恶啊,就是有点废女朋友。

这里给出完整的源代码

#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()
​

然后我还闲的无聊把它打包的一下,要的评论区私一下俺,俺发你。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186973.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • jmeter测试系统最大并发_jmeter高并发测试

    jmeter测试系统最大并发_jmeter高并发测试操作流程:1.先添加一个线程组2.添加一个查看树*多线程测试指的是在短时间内多次重复请求*多进程测试指的是同一时间内多次重复请求下面图文展示操作步骤:一、添加线程组先新建一个测试计划如下图:创建线程组:在新建的测试计划上右键如下图:线程组参数详解:1.线程数意思是请求多少次2.Ramp-UpPeriod(inseconds)…

    2022年9月30日
    4
  • pycharm 打不开了_pycharm激活成功教程之后打不开

    pycharm 打不开了_pycharm激活成功教程之后打不开pycharm打不开问题总结1:第一步:进入如下路径,找到cmd.exe,右键选择“以管理员身份运行”;第二步:在打开的cmd窗口中,输入netshwinsockreset,按回车键;第三步:重启电脑;第四步:重启后,双击pycharm图标就能打开了!2:你下载的应该是官方版的,然后自己加了网上下载的.jar激活成功教程插件,并添加了这个插件的路径到.vmoptions文件。打不开是因为你修改…

    2022年8月28日
    2
  • mysql获取当前时间+1天_mysql获取当前时间,前一天,后一天[通俗易懂]

    mysql获取当前时间+1天_mysql获取当前时间,前一天,后一天[通俗易懂]负责的项目中,使用的是mysql数据库,页面上要显示当天所注册人数的数量,获取当前的年月日,我使用的是CURDATE(),错误的sql语句eg:SELECTCOUNT(*)FROMUSERWHEREregisterDate>=CURDATE()ANDregisterDate<CURDATE()+1;虽然获取到的数量在测试环境中是正确的,但在发布到线上的时候,发…

    2022年10月5日
    4
  • java.lang.Class类详解

    java.lang.Class类详解1.Class类与类的关系 Java程序运行时,系统一直对所有的对象进行所谓的运行时类型标识。这项信息纪录了每个对象所属的类。虚拟机通常使用运行时类型信息选准正确方法去执行,用来保存这些类型信息的类是Class类。Class类封装一个对象和接口运行时的状态,当装载类时,Class类型的对象自动创建。说白了,Class类对象就是封装了一个类的类型信息,可以通过该对象操作其对应的类,即发射机制。

    2022年5月29日
    35
  • bug与漏洞

    bug与漏洞

    2021年7月31日
    78
  • ionic4 ion-reorder-group组件拖拽改变item顺序

    ionic4 ion-reorder-group组件拖拽改变item顺序

    2021年6月29日
    77

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号