总体功能或思想
1、根据 itchat文档 实现简单的聊天回复功能
2、添加敏感词汇过滤、添加一些日常对话的回答
3、获取群成员信息,收到消息后,如果是女同胞发言,则给出提示
4、接入图灵机器人,提升日常会话能力

软件安装:
pip install itchat
pip install itchat_uos

import itchat
import requests
import json
from itchat.content import *tuling = 1
daily_count = 32
flag = 0roomslist = []
ChatRoom = {}# 你要管理的群的列表
groupList = [
"tee22",
"ARM-Trustzone-TEE-ATF",
"None123"
]def auto_chat(text):data = {"perception": {"inputText": {"text": text}},"userInfo": {"apiKey": "xxxxxxxxxxxxxxx",  ## 你的图灵机器人KEY"userId": '123',}}req = json.dumps(data).encode('utf8')r = requests.post('http://openapi.tuling123.com/openapi/api/v2', data=req).textprint(r)r=json.loads(r)['results']for resutl in r:return resutl['values']['text']def lc():global ChatRoomprint('机器人HH在线')group  = itchat.get_chatrooms(update=True)for g in group:print(g['NickName'])if g['NickName'] in groupList:itchat.send("[机器人HH上线] -- Hello,我是进化版HH,你有什么问题,可以直接问我, 但记得要艾特我哦!", g['UserName'])for i in getchatrooms():roomslist.append(i['NickName'])for n in roomslist:if(n=="ARM-Trustzone-TEE-ATF"):#填你想要分析的群名字ChatRoom = itchat.update_chatroom(getroom_message(n), detailedMember=True)breakdef ec():print('机器人HH在线退出')def getroom_message(n):#获取群的username,对群成员进行分析需要用到itchat.dump_login_status() # 显示所有的群聊信息,默认是返回保存到通讯录中的群聊RoomList = itchat.search_chatrooms(name=n)if RoomList is None:print("%s group is not found!" % (name))else:return RoomList[0]['UserName']def getchatrooms():#获取群聊列表roomslist = itchat.get_chatrooms()return roomslistdef check_sensitive(message):global flagreplay = ""flag = 1if u'逼' in message:replay = u'含有敏感词汇,请注意言辞'elif u'卧槽' in message:replay = u'含有敏感词汇,请注意言辞'elif 'SB' in message:replay = u'含有敏感词汇,请注意言辞'elif 'sb' in message:replay = u'含有敏感词汇,请注意言辞'elif u'傻' in message:replay = u'含有敏感词汇,请注意言辞'elif u'草' in message:replay = u'含有敏感词汇,请注意言辞'elif u'妈' in message:replay = u'含有敏感词汇,请注意言辞'elif u'MD' in message:replay = u'含有敏感词汇,请注意言辞'elif u'辣鸡' in message:replay = u'含有敏感词汇,请注意言辞'elif u'垃圾' in message:replay = u'含有敏感词汇,请注意言辞'else:flag = 0return replay@itchat.msg_register([TEXT, MAP, CARD, NOTE, SHARING, PICTURE, RECORDING, ATTACHMENT, VIDEO], isGroupChat=True)
def group_reply_text(msg):global flagglobal ChatRoomglobal tulingglobal daily_countprint("group_reply_text enter")message = msg['Text']    for i in ChatRoom['MemberList']:if msg['ActualNickName'] == i['NickName']:if i['Sex'] == 2:print("There's a girl")itchat.send("Hint : There is a girl appearing", msg['FromUserName'])replay = check_sensitive(message)if flag == 1:itchat.send(replay, msg['FromUserName'])returnif 'HH_rebot' not in message:returnif tuling == 1:replay = auto_chat(msg['Content'])# 用api得到回复内容itchat.send(replay, msg['FromUserName'])daily_count = daily_count +1if daily_count >= 99:itchat.send("[进化版HH 下线了] -- Sorry, 我今天聊的太多了,要去休息了!", g['UserName'])itchat.send("[机器人HH上线] -- Hello,进化版HH哥哥去睡觉了,接下来你有什么问题,我可以帮着回答, 但记得要艾特我哦!!", g['UserName'])tuling = 0;returnflag = 0if u'干什么' in message:replay = u'在忙呢'elif u'生气' in message:replay = u'生气对身体不好'elif u'?' in  message:replay = u'哈哈,我也不知道'elif u'不理你' in message:replay = u'乖,忙完给你买糖吃'elif u'涛' in message:replay = u'他是我主人'elif u'厉害' in message:replay = u'不不不,辣鸡一个'elif u'你好' in message:replay = u'你好哇'elif u'好吧' in message:replay = u'再见'elif u'博客' in message:replay = u'您是想看群主博客吗,可参考链接:\n https://blog.csdn.net/weixin_42135087/article/details/107037145'elif u'视频' in message:replay = u'您是想看群主哔哩哔哩吗,可参考链接:\n https://space.bilibili.com/482877928'elif u'你是谁' in message:replay = u'我是我们群的机器人啊'elif u'名字' in message:replay = u'你不会点开我的头像查看吗'elif u'叫什么' in message:replay = u'我叫HH_rebot'elif u'岁' in message:replay = u'年龄是我的隐私,不要调戏人家好不'else:flag = 1if flag == 1:replay = u'对不起,我还不能理解您说的什么。正在进化中....'itchat.send(replay, msg['FromUserName'])@itchat.msg_register('Text')
def text_reply(msg):message = msg['Text']print("11111111111111111111111:" + msg['FromUserName'])replay = u'[机器人自动回复]呵呵,您继续吹!'if u'干什么' in message:replay = u'在忙呢'elif u'逼' in message:replay = u'含有敏感词汇,请注意言辞'elif u'生气' in message:replay = u'生气对身体不好'elif u'?' in  message:replay = u'哈哈,我也不知道'elif u'不理你' in message:replay = u'乖,忙完给你买糖吃'elif u'涛' in message:replay = u'他是我主人'elif u'厉害' in message:replay = u'不不不,辣鸡一个'elif u'你好' in message:replay = u'你好哇'elif u'好吧' in message:replay = u'再见'#itchat.send("test",toUserName=msg['FromUserName'])return replayitchat.auto_login(loginCallback=lc, exitCallback=ec)
itchat.run()

参考
1、使用图灵机器人和itchat实现微信自动回复

itchat群机器人的自动画实现相关推荐

  1. 手把手教你定制一个夸夸群机器人

    2019年3月,三八妇女节送女友什么礼物好?最近有女网友在网上吐槽,男友把她拉进百人群,群友整整夸了她三分钟."他说是某宝上卖的夸夸群,这种沙雕男朋友还留着么?" 夸人还能挣钱?你 ...

  2. Blender钢铁机器人建模与动画全流程制作视频教程

    Blender钢铁机器人建模与动画全流程制作视频教程 流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确) ...

  3. Asp.Net Core对接钉钉群机器人

    钉钉作为企业办公越来越常用的软件,对于企业内部自研系统提供接口支持,以此来打通多平台下的数据,本次先使用最简单的钉钉群机器人完成多种形式的消息推送,参考钉钉开发文档中自定义机器人环节,此次尝试所花的时 ...

  4. 妖帝q群机器人_有关酷Q 晨风机器人,契约 qqlite qqlight ,mypc等QQ机器人关停一事的一点想法...

    估计有不少朋友都使用过QQ机器人,因为很多网友每天都要管理很多个QQ交流群,如果一个人管理,估计都得累死,所以一般都会使用QQ机器人来帮助自己管理. 只是腾讯自身的QQ机器人实在不给力,功能太鸡肋,而 ...

  5. python 企业微信群机器人_企业微信群机器人应用:使用python从网站抓取行业资讯并定时推送...

    在企业经营过程中,及时了解行业相关信息(市场动态.竞品策略.行业数据等等)是非常必要的.通常情况下,商品部门.营销部门.市场部门可能都会安排专门的人员定期进行这些信息的搜集.整理,再进行内部的分享. ...

  6. 建立p2p互相连接的社区集群机器人设计(一)

    集群机器人基本概念 用一组机器人来解决完成一项复杂的任务,这种设计来自于群居的生物物种,而人类正是这种类别 一群蚂蚁比一只蚂蚁能完成的任务更多,同理,在于社区内的一群机器人能完成的任务大大超越个人的能 ...

  7. CMU科学家们带一群机器人开房,并收集了28,000种不同的姿势

    机械栗 发自 凹非寺  量子位 出品 | 公众号 QbitAI  来自卡耐基梅隆大学 (CMU) 的四个科学家,在一篇论文里说,他们带着一群机器人去住Airbnb了. 也不知道,近来忙于应付纽约市 ...

  8. div区域内容抓取_企业微信群机器人应用:使用python从网站抓取行业资讯并定时推送...

    在企业经营过程中,及时了解行业相关信息(市场动态.竞品策略.行业数据等等)是非常必要的.通常情况下,商品部门.营销部门.市场部门可能都会安排专门的人员定期进行这些信息的搜集.整理,再进行内部的分享. ...

  9. 钉钉群机器人关键词自动回复_企业微信营销机器人怎么接入?

    企业微信群功能除了具备办公能力,企业微信群管理方面的优势主要体现在外部客户群.有群聊数据统计.消息群发.分配离职资产管理.自动回复等一些功能!但是这些功能都需要我们需要逐步摸索,今天我就给大家来讲解关 ...

最新文章

  1. Linux下MySQL登录报错1045,linux下 root 登录 MySQL 报错的问题
  2. python 仪表盘-python仪表盘
  3. 漫谈设计模式--3分钟理解桥接模式:笔和画的关系
  4. Windows CE 6.0中断处理过程(转载)
  5. vue-cli3使用cdn引入
  6. Python中的@classmethod修饰符
  7. Native方式运行Fabric(非Docker方式)
  8. JSP-Runoob:JSP 自定义标签
  9. jq动态拼接html页面及数据
  10. 最安全的php加密,安全性 - 使用PHP进行最简单的双向加密
  11. Python爬虫:数据存储——TXT文本文件
  12. linux ubuntu git报错fatal: unsafe repository git config --global --add safe.directory解决方案
  13. 6264.斐波那契(快速幂)
  14. 三十.什么是vm和vc?
  15. 【Java设计模式 面向对象设计思想】一 再谈面向对象和封装、抽象、继承、多态四大特性
  16. linux系统vi光标移动字符,Linux vi中移动光标命令
  17. 《西部世界》S2E9:蝶化庄周,浮生若梦
  18. 使用海龟编辑器用Python身高体重
  19. BuzyBox 命令大全
  20. 程序员用 Python 破解同事的加密压缩包!不小心知道了……

热门文章

  1. tag+标签+php,ZBLOG PHP代码实现侧栏彩色标签TAG关键字样式方法
  2. windows 2012 apache php mysql_Windows Server 2012 R2搭建 Apache+PHP+MYSQL环境
  3. 解读全球海缆地图,带你看懂隐藏的秘密
  4. 图解防雷技术基础知识
  5. 如何区分ABS和PVC光纤槽道?
  6. android格式化手机号正则,Android验证手机号的正则表达式
  7. 成功解决TypeError: ‘float’ object cannot be interpreted as an index
  8. Dataset之Cityscapes:Cityscapes数据集的简介、安装、使用方法之详细攻略
  9. 「CF622F」The Sum of the k-th Powers「拉格朗日插值」
  10. 用MYSQL的存储过程创建百万级测试数据表