微信自动回复和群聊消息完善
将数据添加到服务器mysql中,增加群聊消息,增加图灵机器人回复消息
import os import json import itchat import requests import pprint import time import random from pymysql import * from itchat.content import *# 2.支持的微信消息类型:TEXT文本, PICTURE图片, MAP地点, CARD名片, NOTE通知, SHARING分享, RECORDING语音, ATTACHMENT附件, VIDEO视频 """一系列初始化功能""" conn = connect(host='localhost', port=3306, database='wechat', user='root', password='******', charset='utf8') cs1 = conn.cursor()def tuling(text):url = "http://www.tuling123.com/openapi/api?" data = {"key": "********************", "info": text, }response = requests.post(url, data=json.dumps(data))content = response.textdata = json.loads(content)answer = data.get('text', "你说的是什么?")# print(answer) if data.get("list"):answer1 = data['list']for an in answer1:answer += an["source"] + an["article"] + an["icon"] + an["detailurl"]# print(an["source"]) # print(an["article"]) # print(an["icon"]) # print(an["detailurl"]) return answer# 设置接收请求 @itchat.msg_register([TEXT, PICTURE, MAP, CARD, NOTE, SHARING, RECORDING, ATTACHMENT, VIDEO]) def run(msg):"""运行程序""" global TDlistglobal fpathglobal cs1global conn# print(msg['Type']) td_name = msg["User"]["NickName"]# print(td_name) who = itchat.search_friends()text = msg["Text"]if who.get("UserName") != msg.get("FromUserName"):# print(msg['Type']) # 查询数据库,看看改用户有没有退订服务 # 1.查询操作 # 编写sql 查询语句 user 对应我的表名 sql = "select * from user_name where name=%s;" cs1.execute(sql, td_name) # 执行sql语句 results = cs1.fetchall() # 获取查询的所有记录 # print(results,"ces") if msg['Type'] == 'Text':"""文字消息""" # friend = itchat.search_friends(userName=msg['FromUserName']) # 获取发送过来的消息 if text == "退订":sql = """insert into user_name values(0,%s);""" cs1.execute(sql, td_name) # 执行sql语句 conn.commit()results = cs1.fetchall() # 获取查询的所有记录 itchat.send_msg(msg="小可爱,人家会想你的,记得有时间发送订阅开启我哦!", toUserName=msg["FromUserName"])elif text == "订阅":count = cs1.execute("delete from user_name where name=%s;", (td_name,))print(count)conn.commit()itchat.send_msg(msg="欢迎订阅,回复'美女图片'有惊喜哦!" + "----(可回复'退订'和'订阅')---来自壮壮的小助手", toUserName=msg["FromUserName"])sql = "select * from user_name where name=%s;" cs1.execute(sql, td_name) # 执行sql语句 results = cs1.fetchall() # 获取查询的所有记录 if text == "订阅":results = 1 if not results:if msg['Type'] == 'Text':"""文字消息""" # print(who.get("UserName")) # print(msg.get("FromUserName") if text =="美女图片":# 获取当前文件夹下所有的文件名 data = itchat.search_friends(userName=msg["FromUserName"])user_name = data["RemarkName"] if data["RemarkName"] != "" else data["NickName"]# print(user_name) msg_content = msg['FileName']list_dir = next(os.walk("./images"))[1]# 获取当前文件夹下所有文件 img_ur = random.choice(list_dir)img_list = os.listdir("./images/" + img_ur)img = random.choice(img_list)# print(img) # msg['Text'](".\\images\\" + str(user_name) + "-" + str(int(time.time())) + "-" + str(msg_content)) # itchat.send_msg(msg="在图片库中随机选择一张图片", toUserName=msg["FromUserName"]) ur = "./images/" + img_ur +"/"+ str(img)# print(ur) itchat.send_image(ur, toUserName=msg["FromUserName"])else:result = tuling(text)# 请求图灵机器人 # 获取好友发过来的消息 itchat.send_msg(msg=result + "----(可回复'退订'和'订阅')---来自壮壮的小助手", toUserName=msg["FromUserName"])elif msg['Type'] == 'Recording':"""语言消息""" itchat.send_msg(msg="我可以回复语音消息,但是主人没有录制~~", toUserName=msg["FromUserName"])elif msg['Type'] == 'Picture':"""图片消息""" data = itchat.search_friends(userName=msg["FromUserName"])user_name = data["RemarkName"] if data["RemarkName"] != "" else data["NickName"]# print(user_name) msg_content = msg['FileName']# 获取当前文件夹下所有的文件名 list_dir = next(os.walk("./images"))[1]# 获取当前文件夹下所有文件 aa = random.choice(list_dir)img_list = os.listdir("./images/" + aa)img = random.choice(img_list)# print(img) msg['Text']("./images/照片/" + str(user_name) + "-" + str(int(time.time())) + "-" + str(msg_content))# itchat.send_msg(msg="在图片库中随机选择一张图片", toUserName=msg["FromUserName"]) itchat.send_image("./images/" + aa +"/"+ img, toUserName=msg["FromUserName"])@itchat.msg_register([TEXT, NOTE], isGroupChat=True) def text_reply(msg):# print(msg) if (msg.isAt):text = msg["Text"]result = tuling(text)# 请求图灵机器人 # 获取好友发过来的消息 itchat.send_msg(msg=result + "----(可回复'退订'和'订阅')---来自壮壮的小助手", toUserName=msg["FromUserName"])if __name__ == '__main__':# 登陆微信 itchat.auto_login(hotReload=True, enableCmdQR=True)itchat.run()
微信自动回复和群聊消息完善相关推荐
- python企业微信群聊_python调用企业微信接口发送群聊消息代码参考
# Author: sea 2019 import requests import json import time class WebchatUtil: corpid = '必须填写你自己申请的' ...
- python微信群聊机器人_Python + itchat 实现微信机器人聊天(支持自动回复指定群聊)...
Python + itchat 实现微信机器人聊天(支持自动回复指定群聊) 发布时间:2018-10-25 22:38, 浏览次数:600 , 标签: Python itchat <>Py ...
- Python + itchat 实现微信机器人聊天(支持自动回复指定群聊)
Python + itchat 实现微信机器人聊天(支持自动回复指定群聊) 最近对Python上瘾,闲来无事搞个Python+itchat玩下微信机器人自动回复. 首先要打开cmd输入以下代码,安装r ...
- 个人微信api接口调用-给微信好友或群聊发消息
个人微信api接口调用-给微信好友或群聊发消息 /*** 给微信好友发消息* @author wechatno:tangjinjinwx* @blog http://www.wlkankan.cn*/ ...
- netty之微信-群聊消息的收发及 Netty 性能优化(二十)
群聊消息的收发及 Netty 性能优化 通过前面小节的学习,相信大家看到本小节标题就已经知道该如何实现本小节的功能了吧,为了给大家学到更多的知识,在实现了群聊消息收发之后,本小节将带给大家更多的惊喜. ...
- 微信隐藏功能系列:微信怎么隐藏群聊?告别社死,群聊隐藏
微信隐藏功能千变万化,每一个隐藏功能都能够让我们眼前一亮,让我们的新鲜感得到满足.本期要给大家分享的隐藏功能是微信怎么隐藏群聊!微信群聊是一些相互认识或是互相陌生的人,所集合在一起的一个小部落,群聊的 ...
- IM群聊消息的已读未读功能在存储空间方面的实现思路探讨
1.引言 IM系统中,特别是在企业应用场景下,消息的已读未读状态是一个强需求. 以阿里的钉钉为例,钉钉的产品定位是用于商务交流,其"强制已读回执"功能,让职场人无法再"假 ...
- 微信app清空群聊天消息的方法
微信app是一款非常好用的社交软件,这款软件给用户提供了很多实用的功能,包括聊天功能.生活缴费.朋友圈等,极大的方便了我们的生活.我们在使用这款软件的时候,常常会加入一些群聊,并且在群中进行聊天,这样 ...
- IM消息重试机制Java实现_IM群聊消息的已读回执功能该怎么实现?
本文引用了架构师之路公众号作者沈剑的文章,内容有改动,感谢原作者. 1.前言我们平时在使用即时通讯应用时候,每当发出一条聊天消息,都希望对方尽快看到,并尽快回复,但对方到底有没有真的看到?我却并不知道 ...
- 写一个python脚本控制微信企业版的群聊机器人完成番茄工作法的闹钟通知
''' 在微信企业版的群聊里,可以添加群聊机器人,群聊机器人会开放一个https接口 通过https接口就可以用代码控制群聊机器人推送消息 本脚本实现一个番茄工作法的闹钟提醒功能 作者: 林新发 '' ...
最新文章
- Android 5.x 权限问题解决方法
- 文档扫描:深度神经网络在移动端的实践
- java编程思想 初始化_《java编程思想》_第五章_初始化与清理
- 线程间到底共享了哪些进程资源?
- Spring启动过程——源码分析(finishBeanFactoryInitialization(beanFactory))
- docker rabbitmq_RabbitMQ消息中间件快速入门
- 百度文库下载器 V2.3.4.3 支持豆丁百度文库道客巴巴
- TestNG基础教程 - IntelliJ IDEA中配置TestNG.xml, 查看TestNG Report
- 测量学—大地测量学基础
- 博科查看光功率_易天教大家如何检测SFP光模块的光信号强弱
- python 百度翻译爬虫(可翻译句子及文章)(偷偷说一句,保姆级教程哦)
- java乘法口诀编程题_【视频+图文】Java经典基础练习题(二)输出9*9乘法口诀表...
- k60正交解码FTM1 FTM2 困惑
- 红杉、IDG、北极光、顺为等投资大咖怎么看智能硬件
- 如何在51单片机实现日程提醒(生日闹钟)
- DNS-over-HTTPS(DoH)简析与配置
- linux 黑屏后死机,如何修复各种各样的黑屏死机
- 前端表单七牛云php,记录一下前端分片上传七牛云踩过的坑
- shopee虾皮货代仓储打包系统erp铺货中转仓
- 【C语言】自动售货机
热门文章
- CMake工程从入门到进阶完整版,可以完成简单的工程创建(完结)
- 测试用例设计-颗粒度
- 占优策略名词解释_占优策略
- WIN10/WIN11 优启动 GHOST
- java读取文件之BufferedReader
- 大学计算机科技论文格式,大学科技论文范文3000字_优秀论文范文3000字_论文范文参考3000字...
- ALFA机器视觉深度学习外观缺陷检测系统软件机器视觉
- 时间与空间的相对性——思想实验推导狭义相对论(四)
- Hortonworks的开源框架SHC的使用(一)
- ZStack基本工作原理