首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

拜年祝福消息自动回复

应用环境:

马上就要过年了,面对各种(群发)祝福忙不暇接(不厌其烦),懒得手动粘贴回复了就写了一个这个。

资源:

python3.6 itchat库

内容:

数据库链接部分:

直接连进了本地的mysql,为了防止某些撤回,或者说消息太多了漏看,也可以学习一下新的拜年姿势,后续也可以做做对比什么的。

配置自己的host(数据库主机地址),user(登录用户名),pssword(密码),database(数据库名)

自定义方法 addMsg 用于向数据库中插入最新的消息内容,涉及两个参数name发送人昵称 con信息内容

自定义方法 selectMsg 用于在数据库中查询该用户是否向你发送过消息,避免重复发送,涉及一个参数 item 用户发送的信息列表本身

(代码如下图)

消息回复部分:

主要针对对方发送的文字信息,或者群里@到你的信息,经过筛选和存储后,给对应发送人回复消息

(代码如下图)

信息筛选部分:

这一块比较简单,主要针对接收到的消息判断是否包含某些字或者词进行回复

(代码如下图)

存完的信息如下

全部代码:

全部代码:

# coding-utf-8

import mysql.connector

import itchat,time

from itchat.content import *

#初始化参数

words=['新年','快乐','幸福','如意','过年好']#用于判断包含的关键词列表

#验证是否包含的方法

def yanzheng(msgu):

ifhas = False

for word in words :

if msgu.find(word)>=0 :

ifhas = True

break

return ifhas

#链接数据库

host="localhost", # 数据库主机地址

user="root", # 数据库用户名

passwd="", # 数据库密码

database="newyear" #数据库名

)

mycursor = mydb.cursor()

def addMsg(name,con):

sql = "INSERT INTO messages (user,content,`times`) VALUES (%s, %s ,%s)"

val = (name, con,time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))

mycursor.execute(sql, val)

mydb.commit()

return mycursor.rowcount

def selectMsg(item):

sql2 = "SELECT * FROM messages WHERE user = %s"

val2 = (item['User']['NickName'],)

mycursor.execute(sql2, val2)

myresult = mycursor.fetchall()

#print(myresult)

if myresult :

toadd = addMsg(item['User']['NickName'],item['Text'])

if toadd == 1 :

print(item['User']['NickName'],'又给你发了一条消息,已记录')

return 0

else :

toadd = addMsg(item['User']['NickName'],item['Text'])

if toadd == 1 :

return 1

#微信消息获取

@itchat.msg_register([TEXT, MAP, CARD, NOTE, SHARING])#文字消息接受

def simple_reply(msg):

cunzai = yanzheng(msg['Text'])

if cunzai :

tosel = selectMsg(msg)

if tosel == 1 :

itchat.send_msg('可爱的祈代表主人祝您及您的家人新年快乐呐~主人也会一直爱着您喏~',toUserName=msg['FromUserName'])

itchat.send_msg('(づ ̄3 ̄)づ╭❤~',toUserName=msg['FromUserName'])

@itchat.msg_register([PICTURE, RECORDING, ATTACHMENT, VIDEO])#图片消息

def img_reply(msg):

itchat.send('@img@%s' % 'mmd.jpg',toUserName=msg['FromUserName'])

@itchat.msg_register(TEXT, isGroupChat=True)#这个是回复群消息

def text_reply(msg):

if msg.isAt:

cunzai = yanzheng(msg['Text'])

if cunzai :

itchat.auto_login(True)

itchat.run()

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190201G0BF1J00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券