微信历史消息java_微信聊天机器人[过年防信息轰炸、自动回复拜年消息]
微信聊天機器人
背景
想靜靜的擼會兒代碼(睡覺)
學習一下
功能
自動回復(fù)好友拜年消息
好友找你聊天時,圖靈機器人自動回復(fù)
群里被@時,圖靈機器人自動回復(fù)
統(tǒng)計有多少個人主動給你發(fā)拜年消息
記錄把你拉黑的好友,方便清理微信好友列表
自動發(fā)送拜年信息給所有沒有主動發(fā)你拜年消息的好友(如果你有朋友先發(fā)給你的話)
準備
python3
pip3 intall itchat
code
#!/usr/bin/env python3
import time
import itchat
import requests
import json
from itchat.content import *
blessing = ['快樂', '新年', '過年', '吉祥', '大吉', 'new year'] # 收到的祝福關(guān)鍵詞
send_me_friends = {} # 不發(fā)送的好友微信名
set_time = '2019-02-04 00:00:00' # 設(shè)置群發(fā)時間
you_blessing = '祝愿您在新的一年里,所有的希望都能如愿,所有的夢想都能實現(xiàn),所有的等候都能出現(xiàn),所有的付出都能兌現(xiàn)。' # 你自己定義的新年祝福
@itchat.msg_register([TEXT, MAP, CARD, NOTE, SHARING])
def text_reply(msg):
if get_sys_time() >= set_stamp():
# 如果都到你設(shè)置的時間了,還是沒有人給你祝福,我看還是洗洗睡吧
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
# 當消息不是由自己發(fā)出的時候
if not msg['FromUserName'] == myUserName:
# 發(fā)送一條提示給文件助手
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']:
# 先給自己發(fā)的就加入列表,之后計時發(fā)送的時候就跳過這些用戶
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():
# 將其轉(zhuǎn)換為時間數(shù)組
time_array = time.strptime(set_time, '%Y-%m-%d %H:%M:%S')
# 轉(zhuǎn)換為時間戳
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('今年主動給你發(fā)送半年消息的有{}個人,名單如下:\n{}'.format(len(send_me_friends.keys())
, send_me_friends.values()))
群里被@的效果
小窗口聊天效果
總結(jié)
以上是生活随笔為你收集整理的微信历史消息java_微信聊天机器人[过年防信息轰炸、自动回复拜年消息]的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信小程序开发实战基础一、页面跳转,底部
- 下一篇: python--14 递归