返回顶部
首页 > 资讯 > 后端开发 > Python >python_库学习_02_微信自动回复
  • 696
分享到

python_库学习_02_微信自动回复

自动回复 2023-01-30 22:01:23 696人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

    一、python发展的趋势日益庞大,微信也有对应的库itchat。这次的实例做做成可在任意电脑运行的微信自动回复机器人exe.文件。 二、完成这个小应用我们需要装一些库,, itchat;这个东东不出意外直接pip install

 

 

一、python发展的趋势日益庞大,微信也有对应的库itchat。这次的实例做做成可在任意电脑运行的微信自动回复机器人exe.文件。

二、完成这个小应用我们需要装一些库,,

itchat;这个东东不出意外直接pip install itchat 就行了

PS :当时这个库的用法确实卡了一会,网上看了很多文章,很杂,对于我个人而言这个库的使用并不需要那么麻烦,

直接打开cmd,cd 到你需要打包的py文件的文件夹位置直接使用命令:pyinstaller -F 文件名.py

-h, --help 查看帮助
-v, --version 查看 PyInstaller 版本
--clean 清理打包过程中的临时文件
-D, --onedir 默认值,生成 dist 目录
-F, --onefile 在 dist 文件夹中只生成独立的打包文件第 
-p DIR, --paths DIR 添加 Python 文件使用的第三方库路径
-i <.ico or .exe,ID or .icns>,--icon <.ico or .exe,ID or .icns >指定打包程序使用的图标(icon)文件
三、现在我们还需要一个准备工作,www.tuling123.com 接入图灵机器人的api,

应用原理就是别人发信息给你,你转给机器人,机器人回复你转给发信息给你的人

在图灵123网站申请一个免费机器人,

ps:详情可参照图灵网的api使用文档不是很难

 

四、itchat 

itchat要注册消息类型,比如注册了TEXT(itchat.content.text),就会接收文本消息,其他消息不会触发函数。消息类型见库中的content.py文件
消息类型判断,msg[‘Type’]
消息发起者,msg[‘FromUserName’]
消息接收者,msg[‘ToUserName’]
文本消息,msg[‘Content’]
文件名字,msg[‘FileName’]在python中,函数通过def关键字、函数名和可选的参数列表定义。通过return关键字返回值

import itchat
itchat.auto_login()   # 可设置hotReload = True等于记住密码,不用每次登陆扫码
itchat.run()

 

 

#coding=utf8

import requests import itchat KEY = '8edce3ce905a4c1dbb965e6b35c3834d' def get_response(msg): # 这里我们就像在“3. 实现最简单的与图灵机器人的交互”中做的一样 # 构造了要发送给服务器的数据 apiUrl = 'Http://www.tuling123.com/openapi/api' data = { 'key' : KEY, 'info' : msg, 'userid' : 'wechat-robot', } try: r = requests.post(apiUrl, data=data).JSON() # 字典的get方法在字典没有'text'值的时候会返回None而不会抛出异常 return r.get('text') # 为了防止服务器没有正常响应导致程序异常退出,这里用try-except捕获了异常 # 如果服务器没能正常交互(返回非json或无法连接),那么就会进入下面的return except: # 将会返回一个None return # 这里是我们在“1. 实现微信消息的获取”中已经用到过的同样的注册方法 @itchat.msg_reGISter(itchat.content.TEXT) def tuling_reply(msg): # 为了保证在图灵Key出现问题的时候仍旧可以回复,这里设置一个默认回复 defaultReply = 'I received: ' + msg['Text'] # 如果图灵Key出现问题,那么reply将会是None reply = get_response(msg['Text']) # a or b的意思是,如果a有内容,那么返回a,否则返回b # 有内容一般就是指非空或者非None,你可以用`if a: print('True')`来测试 return reply or defaultReply itchat.auto_login() itchat.run()

--结束END--

本文标题: python_库学习_02_微信自动回复

本文链接: https://lsjlt.com/news/179932.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作