将数据添加到服务器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()

微信自动回复和群聊消息完善相关推荐

  1. python企业微信群聊_python调用企业微信接口发送群聊消息代码参考

    # Author: sea 2019 import requests import json import time class WebchatUtil: corpid = '必须填写你自己申请的' ...

  2. python微信群聊机器人_Python + itchat 实现微信机器人聊天(支持自动回复指定群聊)...

    Python + itchat 实现微信机器人聊天(支持自动回复指定群聊) 发布时间:2018-10-25 22:38, 浏览次数:600 , 标签: Python itchat <>Py ...

  3. Python + itchat 实现微信机器人聊天(支持自动回复指定群聊)

    Python + itchat 实现微信机器人聊天(支持自动回复指定群聊) 最近对Python上瘾,闲来无事搞个Python+itchat玩下微信机器人自动回复. 首先要打开cmd输入以下代码,安装r ...

  4. 个人微信api接口调用-给微信好友或群聊发消息

    个人微信api接口调用-给微信好友或群聊发消息 /*** 给微信好友发消息* @author wechatno:tangjinjinwx* @blog http://www.wlkankan.cn*/ ...

  5. netty之微信-群聊消息的收发及 Netty 性能优化(二十)

    群聊消息的收发及 Netty 性能优化 通过前面小节的学习,相信大家看到本小节标题就已经知道该如何实现本小节的功能了吧,为了给大家学到更多的知识,在实现了群聊消息收发之后,本小节将带给大家更多的惊喜. ...

  6. 微信隐藏功能系列:微信怎么隐藏群聊?告别社死,群聊隐藏

    微信隐藏功能千变万化,每一个隐藏功能都能够让我们眼前一亮,让我们的新鲜感得到满足.本期要给大家分享的隐藏功能是微信怎么隐藏群聊!微信群聊是一些相互认识或是互相陌生的人,所集合在一起的一个小部落,群聊的 ...

  7. IM群聊消息的已读未读功能在存储空间方面的实现思路探讨

    1.引言 IM系统中,特别是在企业应用场景下,消息的已读未读状态是一个强需求. 以阿里的钉钉为例,钉钉的产品定位是用于商务交流,其"强制已读回执"功能,让职场人无法再"假 ...

  8. 微信app清空群聊天消息的方法

    微信app是一款非常好用的社交软件,这款软件给用户提供了很多实用的功能,包括聊天功能.生活缴费.朋友圈等,极大的方便了我们的生活.我们在使用这款软件的时候,常常会加入一些群聊,并且在群中进行聊天,这样 ...

  9. IM消息重试机制Java实现_IM群聊消息的已读回执功能该怎么实现?

    本文引用了架构师之路公众号作者沈剑的文章,内容有改动,感谢原作者. 1.前言我们平时在使用即时通讯应用时候,每当发出一条聊天消息,都希望对方尽快看到,并尽快回复,但对方到底有没有真的看到?我却并不知道 ...

  10. 写一个python脚本控制微信企业版的群聊机器人完成番茄工作法的闹钟通知

    ''' 在微信企业版的群聊里,可以添加群聊机器人,群聊机器人会开放一个https接口 通过https接口就可以用代码控制群聊机器人推送消息 本脚本实现一个番茄工作法的闹钟提醒功能 作者: 林新发 '' ...

最新文章

  1. Android 5.x 权限问题解决方法
  2. 文档扫描:深度神经网络在移动端的实践
  3. java编程思想 初始化_《java编程思想》_第五章_初始化与清理
  4. 线程间到底共享了哪些进程资源?
  5. Spring启动过程——源码分析(finishBeanFactoryInitialization(beanFactory))
  6. docker rabbitmq_RabbitMQ消息中间件快速入门
  7. 百度文库下载器 V2.3.4.3 支持豆丁百度文库道客巴巴
  8. TestNG基础教程 - IntelliJ IDEA中配置TestNG.xml, 查看TestNG Report
  9. 测量学—大地测量学基础
  10. 博科查看光功率_易天教大家如何检测SFP光模块的光信号强弱
  11. python 百度翻译爬虫(可翻译句子及文章)(偷偷说一句,保姆级教程哦)
  12. java乘法口诀编程题_【视频+图文】Java经典基础练习题(二)输出9*9乘法口诀表...
  13. k60正交解码FTM1 FTM2 困惑
  14. 红杉、IDG、北极光、顺为等投资大咖怎么看智能硬件
  15. 如何在51单片机实现日程提醒(生日闹钟)
  16. DNS-over-HTTPS(DoH)简析与配置
  17. linux 黑屏后死机,如何修复各种各样的黑屏死机
  18. 前端表单七牛云php,记录一下前端分片上传七牛云踩过的坑
  19. shopee虾皮货代仓储打包系统erp铺货中转仓
  20. 【C语言】自动售货机

热门文章

  1. CMake工程从入门到进阶完整版,可以完成简单的工程创建(完结)
  2. 测试用例设计-颗粒度
  3. 占优策略名词解释_占优策略
  4. WIN10/WIN11 优启动 GHOST
  5. java读取文件之BufferedReader
  6. 大学计算机科技论文格式,大学科技论文范文3000字_优秀论文范文3000字_论文范文参考3000字...
  7. ALFA机器视觉深度学习外观缺陷检测系统软件机器视觉
  8. 时间与空间的相对性——思想实验推导狭义相对论(四)
  9. Hortonworks的开源框架SHC的使用(一)
  10. ZStack基本工作原理