微信历史消息java_微信聊天机器人[过年防信息轰炸、自动回复拜年消息]

微信聊天机器人

背景

想静静的撸会儿代码(睡觉)

学习一下

功能

自动回复好友拜年消息

好友找你聊天时,图灵机器人自动回复

群里被@时,图灵机器人自动回复

统计有多少个人主动给你发拜年消息

记录把你拉黑的好友,方便清理微信好友列表

自动发送拜年信息给所有没有主动发你拜年消息的好友(如果你有朋友先发给你的话)

准备

python3

pip3 intall itchat

code

#!/usr/bin/env python3

import time

import itchat

import requests

import json

from itchat.content import *

blessing = ['快乐', '新年', '过年', '吉祥', '大吉', 'new year'] # 收到的祝福关键词

send_me_friends = {} # 不发送的好友微信名

set_time = '2019-02-04 00:00:00' # 设置群发时间

you_blessing = '祝愿您在新的一年里,所有的希望都能如愿,所有的梦想都能实现,所有的等候都能出现,所有的付出都能兑现。' # 你自己定义的新年祝福

@itchat.msg_register([TEXT, MAP, CARD, NOTE, SHARING])

def text_reply(msg):

if get_sys_time() >= set_stamp():

# 如果都到你设置的时间了,还是没有人给你祝福,我看还是洗洗睡吧

friends = itchat.get_friends(update=True)

for name in friends:

if name.NickName not in send_me_friends:

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:

pass

# 当消息不是由自己发出的时候

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)

else:

continue

return u'[Medivh的机器人助理]说:{}'.format(tuling(msg['Text']))

@itchat.msg_register(TEXT, isGroupChat=True)

def group_reply(msg):

if 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 tuling(info):

appkey = "e5ccc9c7c8834ec3b08940e290ff1559"

url = "http://www.tuling123.com/openapi/api?key=%s&info=%s" % (appkey, info)

req = requests.get(url)

content = req.text

data = json.loads(content)

answer = data['text']

return answer

def get_sys_time():

sys_time = time.time()

return sys_time

def set_stamp():

# 将其转换为时间数组

time_array = time.strptime(set_time, '%Y-%m-%d %H:%M:%S')

# 转换为时间戳

time_stamp = int(time.mktime(time_array))

return time_stamp

if __name__ == '__main__':

itchat.auto_login()

# 获取自己的UserName

myUserName = itchat.get_friends(update=True)[0]["UserName"]

itchat.run()

print('今年主动给你发送半年消息的有{}个人,名单如下:\n{}'.format(len(send_me_friends.keys())

, send_me_friends.values()))

群里被@的效果

052d65407a5a2dfb7dd129339ff98535.png

小窗口聊天效果

e8e75c49a3bcf24b0243a12a8b21aac1.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值