2019独角兽企业重金招聘Python工程师标准>>>

微信聊天机器人

背景

  • 想静静的撸会儿代码(睡觉)
  • 学习一下

功能

  • 自动回复好友拜年消息
  • 好友找你聊天时,图灵机器人自动回复
  • 群里被@时,图灵机器人自动回复
  • 统计有多少个人主动给你发拜年消息
  • 记录把你拉黑的好友,方便清理微信好友列表
  • 自动发送拜年信息给所有没有主动发你拜年消息的好友(如果你有朋友先发给你的话)

准备

  • python3
pip3 intall itchat

code

#!/usr/bin/env python3import time
import itchat
import requests
import json
from itchat.content import *blessing = ['祝愿', '福', '快乐', '新年', '过年', '吉祥', '大吉', 'new year']  # 收到的祝福关键词
send_me_friends = {}  # 不发送的好友微信名
set_time = '2019-02-01 00:00:00'  # 设置群发时间
you_blessing = '祝愿您在新的一年里,所有的希望都能如愿,所有的梦想都能实现,所有的等候都能出现,所有的付出都能兑现。'  # 你自己定义的新年祝福
blacklist_dict = {}
send_status = 0@itchat.msg_register([TEXT, MAP, CARD, NOTE, SHARING])
def text_reply(msg):global send_statusif not send_status:if get_sys_time() >= set_stamp():send_status = 1send_msg(msg)# 当消息不是由自己发出的时候if not msg['FromUserName'] == myUserName:# 发送一条提示给文件助手itchat.send_msg(u"[%s]收到好友@%s 的信息:%s\n" %(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(msg['CreateTime'])),msg['User']['NickName'],msg['Text']), 'filehelper')for i in blessing:if i in msg['Text']:# 先给自己发的就加入列表,之后计时发送的时候就跳过这些用户send_me_friends[msg['User']['NickName']] = msg['User']['RemarkName']return u'[主人比较懒,早早的去撸代码(shuijiao)去了]机器人助理带主人对您说:{}'.format(you_blessing)elif check_msg(msg):returnelse:continuereturn u'[Medivh的机器人助理]说:{}'.format(tuling(msg['Text']))@itchat.msg_register(TEXT, isGroupChat=True)
def group_reply(msg):# 只有群里@自己的时候回复,其他忽视,包括@allif msg['IsAt']:itchat.send_msg(u"[%s]收到好友@%s 的信息:%s\n" %(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(msg['CreateTime'])),msg['User']['NickName'],msg['Text']), 'filehelper')return u'[Medivh的机器人助理]说:{}'.format(tuling(msg['Text']))def send_msg(msg):# 如果都到你设置的时间了,还是没有人给你祝福,我看还是洗洗睡吧friends = itchat.get_friends(update=True)for name in friends[1:]:if check_msg(msg):returnif name.NickName not in send_me_friends:print('正在给{}发消息~'.format(name.NickName))itchat.send_msg(u"[%s]收到好友@%s 的信息:%s\n" %(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(msg['CreateTime'])),'name.NickName', #msg['Text']), 'filehelper')return u'{}'.format(you_blessing)else:passreturndef tuling(info):appkey = "e5ccc9c7c8834ec3b08940e290ff1559"url = "http://www.tuling123.com/openapi/api?key=%s&info=%s" % (appkey, info)req = requests.get(url)content = req.textdata = json.loads(content)answer = data['text']return answerdef get_sys_time():sys_time = time.time()return sys_timedef set_stamp():# 将其转换为时间数组time_array = time.strptime(set_time, '%Y-%m-%d %H:%M:%S')# 转换为时间戳time_stamp = int(time.mktime(time_array))return time_stampdef check_msg(msg):if msg['Text'] == '消息已发出,但被对方拒收了。':blacklist_dict[msg['User']['NickName']] = msg['User']['RemarkName']return Trueelse:return Falseif __name__ == '__main__':itchat.auto_login(hotReload=True)# 获取自己的UserNamemyUserName = itchat.get_friends(update=True)[0]["UserName"]itchat.run()print('今年主动给你发送半年消息的有{}个人,名单如下:\n {}'.format(len(send_me_friends), send_me_friends))print('今年被拉黑了{}次,名单如下:\n {}'.format(len(blacklist_dict), blacklist_dict))

群里被@的效果

小窗口聊天效果

转载于:https://my.oschina.net/medivhxu/blog/3008091

微信聊天机器人[过年防信息轰炸、自动回复拜年消息]相关推荐

  1. 自己动手用Android和Xposed编写一个微信聊天机器人——《微信聊天精灵》实现关键词自动回复。

    出于爱好和需要,想着自己来编写一个微信聊天机器人,能实现以下功能: 能实时获取到微信聊天消息: 能进行文本自动回复: 能够设置关键词: 能够根据关键词匹配,进行内容回复: 能实现聊天消息云端备份: 已 ...

  2. python微信聊天机器人_python实战项目,使用itchat模块制作微信聊天机器人

    前言 对于咱们热爱折腾的青年来说,经常会有很多好玩的新奇创意想法,可是,有时候就缺少一个接口,实现交互.比如说,咱们博客的 python实战项目,有些的确比较好玩,但是似乎只能在电脑上跑跑程序,怎么运 ...

  3. 基于ChatGPT实现微信聊天机器人

    ChatGPT近期以强大的对话和信息整合能力风靡全网,可以写代码.改论文.讲故事,几乎无所不能,这让人不禁有个大胆的想法,能否用他的对话模型把我们的微信打造成一个智能机器人,可以在与好友对话中给出意想 ...

  4. Python30行代码实现微信聊天机器人(基于WXPY+百度理解与交互技术UNIT)

    引言: 前几天看到新闻说一个程序员开发了微信聊天机器人陪女朋友聊天,感觉有兴趣,之前听说过WXPY,由于本人Python真的很菜,一直没有动手,受新闻启发开发了一个简单的基于Python微信机器人.有 ...

  5. 一个简单有趣的微信聊天机器人

    微信已经成了中国人生活中基本的通讯工具(除了那些自由开源人士以外),前两天发现微信机器人的项目,其实早就有了.想着自己也做一个吧,顺便加了一些小小的功能. 释放我的机器人 微信扫一扫加他,跟他尬聊吧, ...

  6. 【Python】uiautomation+openai构建基于chatGPT的微信聊天机器人

    目录 前言 一.uiautomation是什么? 二.openai怎么使用? 三.使用步骤 1.前期准备 2.引入库 3.主程序 4.演示效果 总结 前言 人工ai对话技术最近火热,相信很多人会想到做 ...

  7. 微信聊天机器人更新啦(持续更新)

    2016年的时候写了个微信聊天机器人,更新一段时间后就没有更新了:今年年初的时候,又写了一个微信聊天机器人,后续用户反映没怎么更新. 之所以没有及时更新,主要是因为软件自身不稳定,体验效果差.例如,2 ...

  8. Itchat 微信聊天机器人

    微信聊天机器人(Itchat) 不务正业,想起干点啥有意思的事,于是想起了用聊天机器人去调戏微信好友也许会有点意思吧,于是参照别人写的东西,自己也浅尝一下.基本原理还是很简单的,就是让机器人替你去聊天 ...

  9. 搭建属于自己的基于ChatGPT的微信聊天机器人(方法)

    文章目录 1. GitHub开源项目 2. 前期准备 (1) 获取openAI API key 3. 准备部署环境 (1) 配置代理 (2) 配置python环境 4. 部署 (1) 修改配置文件 ( ...

最新文章

  1. 最近在招标中评审出一个政府信息化软件
  2. Redis持久化机制 -全量同步与增量同步的区别
  3. 引入spring-boot-starter-actuator,控制台没有mapper的映射信息打印问题
  4. Linux软件安装之YUM
  5. CentOS 初体验二十五:redis常用命令:sorted set
  6. 解决ubuntu上网慢
  7. 大年初三闪光灯下的树和远处的花炮
  8. 西门子ddc_铁门关西门子两通电动阀VVF42.25-10C+SKD60西
  9. 使用JavaScript实现页面选项自动添加行以及删除行 javaweb
  10. 全缓冲、行缓冲和无缓冲
  11. HP-UX的终端TERM要设置成什么,才能输入中文呢?
  12. linux系统的空间满的问题
  13. 20200221:在排序数组中查找元素的第一个和最后一个位置(leetcode34)
  14. 算法:回溯十一 Subsets数组的子数组集合4种解法
  15. vue中实现分片大文件上传
  16. 2020 IDEA插件无法安装问题
  17. (二)外显子组数据分析之原始数据sra数据下载
  18. 计算机九九乘法口诀表,九九乘法口诀表
  19. [源码和文档分享]基于QT的英文文献的编辑与检索系统的实现
  20. 阿里云智能编码插件Cosy,让你的开发过程既高效又轻松

热门文章

  1. 解决Chrome插件安装时.cxr 程序包无效:CRX_HEADER_INVALID
  2. asp版茶叶礼品卡券、海鲜礼品卡券、大闸蟹礼品卡券、龙虾礼品卡券-提货系统-生成卡密源码
  3. uniapp上传图片压缩并转base64码、base64转图片路径
  4. try的动词用法_词汇精选:try的用法和辨析
  5. 【Matlab路径规划】蚁群算法求解机器人栅格地图最短路径规划问题【含源码 1580期】
  6. 关于python搞笑段子_Python在手,段子我有
  7. linux文件取消只读fstab,Linux去除fstab文件只读属性的方法
  8. qt multi-touch linux,I.MX6 linux Qt 同时支持Touch、mouse
  9. EasyYapi接入简单实战
  10. 项目实施管理过程中问题自我总结