要过年啦!啥?朋友太多?用python实现一个完美的自动回复吧

昨天逛聚能聊的时候,看到一个话题2018程序员拜年的奇思妙想,涨姿势了,里面给出了一个实现自动回复的代码。

第一次接触itchat,虽然之前也听说过,这个可以用来弄微信机器人。

于是,强烈的搞事情精神驱使着我,在网上又搜了一下。

itchat详细讲解请看:SegmentFault-python实现微信接口(itchat)

然后看了简书上的一个代码:12行Python代码,自在随心应付微信拜年群发

本来以为直接可以用,确实可以。

简书中这段代码的优点:

  1. 这个自动回复代码设置了防止对一个人重复发问候,防止聪明的朋友怀疑是自动回复,然后重复发“新年好”,而你不停的“回复”新年问候,这样设置了防止重复,就能有效避免了尴尬情况发生。即使怀疑也不至于太尴尬。
  2. 自动提取你对好友的备注名称最为回复的称呼,这样是不是更逼真了呢?

但也有缺点:

  1. 但是里面的的短息祝福语API稍微有点老套
  2. 有时候会自动回复“ 我的猴年愿望:从今天起你只准疼我一个,要宠我,不许骗我,答应我的每一件事都要做到,对我说的每一句话都要真心”
  3. 自动回复的内容老套,而且不能控制,万一对方是基(女)友(票),回复错了怎么办。。。

于是稍微简单的修改了一下,代码可直接用在python3环境中,你只需下载一个itchatrequests的包。

# -*- coding:utf-8 -*-
import itchat, time, requests, random
from itchat.content import *

replied = []

@itchat.msg_register([TEXT])
def text_reply(msg):
    if '年' in msg['Text'] and msg['FromUserName'] not in replied:
      sendGreeting(msg)

@itchat.msg_register([PICTURE, RECORDING, VIDEO, SHARING])
def other_reply(msg):
  if msg['FromUserName'] not in replied:
    sendGreeting(msg)

def sendGreeting(msg):
  global replied
  friend = itchat.search_friends(userName=msg['FromUserName'])
  itchat.send((friend['RemarkName']+' '+getRandomGreeting()), msg['FromUserName'])
  replied.append(msg['FromUserName'])

##列表中的祝福语可以替换成你想要的,可能我这个也俗套了。。。
greeting_list=['狗年送你五只狗:机灵诡秘如猕狗,健康快乐像马狗,富贵悠然似金丝狗,无忧无虑比猿狗,聪明伶俐胜孙狗。',' 大红灯笼高高挂,挂出吉祥;欢歌笑语阵阵飘,飘出喜庆;鞭炮礼花声声响,响出美好;真挚祝福条条发,发出心声:祝你狗年新年乐翻天,欢天喜地笑开颜!','年到,我许下愿望,愿你:寒冷时,有人送暖不畏寒;饥饿时,有人送饭不担忧;困难时,有人伸手来扶持;孤单时,有人陪伴寂寞消。愿你开心每一天!']
length_list=len(greeting_list)
def getRandomGreeting():
  index=int(random.random()*3)
  greeting=greeting_list[index]
  return greeting

itchat.auto_login(hotReload=True)##保留登录的状态,之后不再用扫二维码
itchat.run()
  • 0
    点赞
  • 0
    收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值