基于Python实现微信自动回复功能
作者:Python学习与数据挖掘 发布时间:2021-10-17 14:01:54
标签:Python,微信,自动,回复
大家好,之前我们使用 WechatPCAPI 做了获取微信好友信息以及查看撤回消息,本文我们再使用 WechatPCAPI 来实现微信自动回复的功能。
实现自动回复的功能,我们需要用到图灵机器人,网址为:http://www.turingapi.com,我们在浏览器中输入上述网址打开,之后点击注册/登录按钮,如下图所示:
打开后如下图所示:
我们接着点击立即注册,就跳转到了注册页,如下图所示:
我们先填写必填信息,填写完之后点击注册按钮即可,注册成功之后便跳到了机器人管理页面,如下所示:
我们点击创建机器人按钮跳转到如下页面:
我们填写完相应信息之后点创建按钮,之后会跳转到机器人设置页面,如下图所示:
我们需要记录下 apikey。
有了 apikey,我们就可以实现自动回复功能了,实现代码如下所示:
import time, logging, random, requests
from queue import Queue
from WechatPCAPI import WechatPCAPI
logging.basicConfig(level=logging.INFO)
queue_recved_event = Queue()
def on_message(msg):
queue_recved_event.put(msg)
# 机器人返回消息
def reply_msg(receive_msg):
apikey = '自己的apikey'
apiurl = 'http://www.tuling123.com/openapi/api?key=%s&info=%s' % (apikey, receive_msg)
result = requests.get(apiurl)
result.encoding = 'utf-8'
data = result.json()
return data['text']
def login():
pre_msg = ''
# 初始化微信实例
wx_inst = WechatPCAPI(on_message=on_message, log=logging)
# 启动微信
wx_inst.start_wechat(block=True)
# 等待登陆成功,此时需要人为扫码登录微信
while not wx_inst.get_myself():
time.sleep(5)
print('登陆成功')
while True:
msg = queue_recved_event.get()
if 'msg::single' in msg.get('type'):
data = msg.get('data')
if data.get('is_recv', False):
msgfrominfo = data.get('msgfrominfo')
if msgfrominfo is not None:
wx_id = msgfrominfo.get('wx_id')
if wx_id != 'weixin':
receive_msg =str(data.get('msgcontent'))
reply = reply_msg(receive_msg)
wx_inst.send_text(to_user=wx_id, msg=reply)
看一下实现效果:
来源:https://blog.csdn.net/weixin_38037405/article/details/125233982


猜你喜欢
- 依托于互联网的发达,我们可以随时随地利用一些等车或坐地铁的碎片时间学习以及了解资讯。同时发达的互联网也方便人们能够快速分享自己的知识,与相同
- 在学习python代码时,看到有的类的方法中第一参数是cls,有的是self,经过了解得知,python并没有对类中方法的第一个参数名字做限
- 单线程实现单线程实现道理比较简单,这里尝试Soket连接3389,连接成功说明端口开放,否则说明没有开远程服务。随便修改了一下就ok了,代码
- 如下所示:# coding=utf-8import signalimport timedef set_timeout(num, callba
- 先上代码:import tensorflow as tfx = tf.ones(shape=[100, 200], dtype=tf.int
- 先上个效果图,就是用左右尖括号可改变中间日期的值。(点击中间显示区域有时间选择器弹框,用的插件就不说了,主要说自己原创的部分) &
- 这一款是用原生javascript实现的分页插件pagenav,页码显示jquery插件,只需要存在#pageNav,则会在其中显示页码,调
- python的数据类型有:数字(int)、浮点(float)、字符串(str),列表(list)、元组(tuple)、字典(dict)、集合
- 1. 引言本文为介绍流行的数独游戏的系列文章中的第一篇。更具体地说,我们如何构建一个脚本来解决数独难题,本文的重点在于介绍用于构建数独求解器
- 想要利用Python来操作word文档可以使用docx模块.安装: pip install python-docxfrom docx imp
- 很多时候,我发现自己需要进行生成报告、输出文件或字符串的任务。它们或多或少都会遵循某种模式,通常这些模式是如此相似,以至于我们希望拥有一个可
- 目录前言一、数组遍历方法1. forEach()2. map()3. for of4. filter()5. some()、every()6
- 在浏览器 IE6 、IE7、Firefox2+、Firefpx3+、Opera9.6+、Safari3.1+中测试以下代码:<!DOC
- 这个格式是我自创的,经常有人问我为什么,这里做个简单总结:1、分类,一个模块或者同类功能定义为一类定义,每类定义之间用段落隔开。2、分级,每
- 为了显示一个渐变而专门制作一个图片的做法是不灵活的,而且很快会成为一种不好的做法。但是遗憾的是,截至写这篇文章,可能还必须这样做,但是希望不
- # 建表CREATE TABLE `T_TEST` ( `Id` int(11) NOT NULL AUTO_INCREMENT
- 运行环境由于这是一个Python语言的软件包,因此需要你的机器上首先安装好Python语言的环境。关于这一点,请自行在网络上搜索获取方法。关
- 方法一 :这个是我在站长工具的查询页面使用的防止频繁查询,刷新页面的代码!下面函数的功能是3秒内查询页面即刷新了页面,超过2次就提示!sea
- 本文实例讲述了python RC4加密操作。分享给大家供大家参考,具体如下:# -*- conding:utf-8 -*-from Cryp
- 从字节码角度看描述器在前面的内容当中我们已经详细分析了描述器的使用和其相关的应用,我们通常使用描述器都是将其作为类的一个类属性使用,而使用的