python做微信回复机器人_python聊天机器人代码

python做微信回复机器人_python聊天机器人代码下面这个小文章适合初学Python的童鞋哦~~~一个很好用的微信库:itchat拿使用图灵机器人设置自动回复,让机器人跟微信好友傻傻的聊天,机器人比小编还会聊天,无论是对美眉还是汉纸,上来就是爱!爱!爱!简直太辣眼睛!!!用它进行来调戏微信好友,简直6的一笔!(记住一条!千万不能对女票使用,遭遇一万点伤害)好啦,下面就来一起看一下如何使用吧!使用工具:itchat,req…

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

Jetbrains全系列IDE稳定放心使用

 

下面这个小文章适合初学Python的童鞋哦~~~

一个很好用的微信库:itchat

拿使用图灵机器人设置自动回复,让机器人跟微信好友傻傻的聊天,机器人比小编还会聊天尴尬,无论是对美眉还是汉纸,上来就是爱!爱!爱!简直太辣眼睛!!!害羞用它进行来调戏微信好友,简直6的一笔!

(记住一条!千万不能对女票使用,遭遇一万点伤害哭

好啦,下面就来一起看一下如何使用吧!

使用工具:itchat,requests

  1. 搭建python开发环境,这个就不用多说了嘛,可自行百度,需要注意一点的就是记得将python安装路径加入环境变量~

  2. 安装itchat库

    通过管理员权限运行命令提示符,直接输入以下代码:

    pip install itchat

    pip install requests

    然后会自动从网上下载资料自行安装,很简单,很傻瓜~有木有~python真的好呆萌~~~

  3. 获取一个图灵机器人API

    不要把API想的太复杂,就是一个接口啦,啥?你不明白啥是接口,唉呀~就是一个口子,你能进去,干点事情或者拿点东西再出来,就这么个东东~~(额~同学不要想多了,一不留神就开车~~吐舌头

    实现原理:当我们获取微信好友发来的消息时,我们将这个消息传给机器人的API,然后它就会根据消息做出答复,然后我们再将这个消息返回给微信好友,就OK啦!

    虽然描述的过程比较长,但是机器运行的很快,调用这个接口实现的过程真的特别~特别快~~~(哎呀~车辆转弯,请抓稳扶好~~害羞害羞

    童鞋可以从下面这个官网上注册帐号,获取图灵机器人的API:

    http://www.tuling123.com/

    注册成功后,我们就可以获得下面这个api的key啦,先拿下留用!

    python做微信回复机器人_python聊天机器人代码

    (小编将key打码了,童鞋可以自行获取无码的key,咳咳~~害羞

  4.  

    代码实现

    说了这么多,下面可以列代码了,童鞋不要紧张,代码很少哟~(如果代码让你感觉不舒服,文章底部有整理好的源代码,童鞋可以拿去自行玩耍。记住,不在太嗨了哟~~~)

    第一步:导入我们需要使用的工具

    import itchat
        import requests
        import re

    第二步:定义一个获取网页的函数

    原理:上面我们已经提到,将微信好友发来的消息传送给图灵机器人API,以下我们简称为小图。而小图实际上就是在一个网页上运行的,下面上图来看一下:python做微信回复机器人_python聊天机器人代码

    其中“text”就表示我们要跟小图说的话,这部分将被替换为微信好友发来的消息,以下定义一个抓取网页的函数:

    def getHtmlText(url):
        try:
           r = requests.get(url,timeout=30)
           r.raise_for_status()
           r.encoding = r.apparent_encoding
           return r.text
        except:
           return ""

    第三步:调用itchat封装好的装饰器

    @itchat.msg_register(['Text','Map', 'Card', 'Note', 'Sharing', 'Picture'])

    其中”Text”即表示为文字消息,除此之外还有其他的图片、表情等消息,都可以将此发给小图~它还很聪明的~~

    第四步:定义自动回复函数

    def text_reply(msg):
       # 判断一下发件人不是自己
         if not msg['FromUserName'] == Name["你的昵称"]:
            url = "http://www.tuling123.com/openapi/api?key=(此处填写您的key)&info="
            # 将获取的信息附在链接的尾部
            url = url + msg['Text']
            # 通过定义的网页抓取函数获取页面内容
            html = getHtmlText(url)
            # 以下两行代码用到了正则表达式,感兴趣的同学可以查一下哦
            message = re.findall(r'\"text\"\:\".*?\"',html)
            reply = eval(message[0].split(':')[1])
            return reply

    第五步:定义一个主函数来运行它

    if __name__ == '__main__':
         #  通过itchat扫码登录微信网页版
         itchat.auto_login()
         #  获取所有微信好友的信息
         friends = itchat.get_friends(update=True)[0:]
         #  使用字典存放好友昵称与用户名
         Name = {}
         #  好友昵称
         Nic = []
         #  好友用户名
         User = []
             for i in range(len(friends)):
                 Nic.append(friends[i]["NickName"])
                 User.append(friends[i]["UserName"])
             for i in range(len(friends)):
                  Name[Nic[i]] = User[i]
                  itchat.run()

    好啦,大功告成啦,有兴趣的同学可以一起玩玩看哦~下面附源代码:

    如果内容有错误,请看客指出哦,谢谢啦~~~

    另外补充一下,小编真的是一位很纯洁的小哥哦,嘿嘿嘿~~~

    # 源代码如下:
    # wechat autoreply
    import itchat
    import requests
    import re
    # 抓取网页
    def getHtmlText(url):
            try:
                    r = requests.get(url,timeout=30)
                    r.raise_for_status()
                    r.encoding = r.apparent_encoding
                    return r.text
            except:
                    return ""
    # 自动回复
    # 封装好的装饰器,当接收到的消息是Text,即文字消息
    @itchat.msg_register(['Text','Map', 'Card', 'Note', 'Sharing', 'Picture'])
    def text_reply(msg):
        # 当消息不是由自己发出的时候
        if not msg['FromUserName'] == Name["Jestiao"]:
            # 回复给好友
            url = "http://www.tuling123.com/openapi/api?key=您的小图key&info="
            url = url + msg['Text']
            html = getHtmlText(url)
            message = re.findall(r'\"text\"\:\".*?\"',html)
            reply = eval(message[0].split(':')[1])
            return reply
    
    if __name__ == '__main__':
        itchat.auto_login()
    
        # 获取自己的UserName
        friends = itchat.get_friends(update=True)[0:]
        Name = {}
        Nic = []
        User = []
        for i in range(len(friends)):
                Nic.append(friends[i]["NickName"])
                User.append(friends[i]["UserName"])
        for i in range(len(friends)):
                Name[Nic[i]] = User[i]
        itchat.run()
    

猜您喜欢:

超级便捷精巧绿色的屏幕分享小软件IntelexEMC 

超简单一键提取QQ群成员

一键拼接微信好友头像/玩炫朋友圈

python做微信回复机器人_python聊天机器人代码

 

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/188273.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • pycharm替换的快捷键_想要快速编写代码,你得熟悉这些快捷键!

    pycharm替换的快捷键_想要快速编写代码,你得熟悉这些快捷键!PyCharm常用快捷键导语工欲善其事必先利其器,想要快速编写代码,就必须要先熟悉快捷键,Python开发利器Pycharm常用快捷键如下,相信有了这些快捷键,你编写代码会事半功倍。1编辑Shift+F1外部文档Shift+Enter另起一行Alt+Enter快速修正Alt+Insert自动生成代码Ctrl+O重新方法Ctrl+Alt+T选中Ct…

  • 手机wifiap频段_wifi信道频率

    手机wifiap频段_wifi信道频率WifiManager wifiManager = (WifiManager)getApplicationContext().getSystemService(Context.WIFI_SERVICE);//注意用getApplicationContext可以避免android内存泄漏.WifiInfoconnectInfo= wifiManager.getConnectionInfo();根…

    2022年10月20日
  • Render,RenderChildren,RenderControl

    Render,RenderChildren,RenderControlprotectedinternalvirtualvoidRender(HtmlTextWriterwriter){this.RenderChildren(writer);}protectedinternalvirtualvoidRenderChildren(HtmlTextWriterwriter){ICollectionchildren=(th…

  • AArch64教程第一章

    AArch64教程第一章AArch64教程第一章AArch64是一个新的64位模式,它是ARMv8架构下的一部分,它于2011年随着ARM发布。它被逐步部署于智能手机和服务器。所以我认为现在学习一点关于此架构的知识是比较好的。硬件目前,有ARMv6/ARMv7的单板电脑是比较容易获得的,其中最流行的一个选择是树莓派。相反,支持64位ARMv8模式的单板电脑就没有那么多了,但是它们最近也慢慢变得流行了起来。例如,Pine64,ODROID-C2,Dragonboard410c,等等。它们中的任何一种都可以做64位开发,

    2022年10月16日
  • QTcpSocket 内存问题「建议收藏」

    QTcpSocket 内存问题「建议收藏」我自己测试也发现反复的connectToHost会有内存泄露,建议谨慎的使用!////////////////////////////////////////////////QTcpSocket类的方法connectToHost会泄露内存,即使把调用这个方法的QTcpSocket实例delete掉,内存也不会释放!反复connectToHost会导致段错误,十分危险。必须控制connectToH…

  • 如何利用js生成二维码_前端生成二维码

    如何利用js生成二维码_前端生成二维码问题来源最近在做一个项目,有这么个需求,通过生成二维码来实现网页的分享。问题分析脑海的第一反应,当然是用js来实现,自己手写?当然不是。解决方案使用QRCode.js。QRCode.js是一个用于生成二维码的JavaScript库。主要是通过获取DOM的标签,再通过HTML5Canvas绘制而成,不依赖任何库。QRCode.js:使用JavaScript生成二维码代码编写<!DOCTYPEhtml><htmllang=”en.

    2022年10月18日

发表回复

您的电子邮箱地址不会被公开。

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