python实现微信自动回复及批量添加好友功能

yipeiwu_com5年前Python基础

先给大家介绍下python微信自动回复功能

1.当收到好友消息时,自动回复

import random
import itchat
import requests
import time
def get_tuling_response(_info):
  print(_info)
  # 图灵机器人的网址
  api_url = "http://www.tuling123.com/openapi/api"
  data = {
    'key': '5ea0f11b5b6146239c52a47849387484',
    'info': _info,
    'userid':'wechat-robot'
  }
  # 发送数据到指定网址,获取网址返回的数据(字典数据类型)
  res = requests.post(api_url, data).json()
  # print(res, type(res))
  # 给用户返回的内容
  print(res['text'])
  return res['text']
# 时刻监控好友发送的文本消息, 并且给予一个回复,
# isGroupChat=True接收群聊消息中的文本信息, 并让图灵机器人自动回复;
# isMapChat=True接收群聊消息中的文本信息, 并让图灵机器人自动回复;
@itchat.msg_register(itchat.content.TEXT, isFriendChat=True)
def text_reply(msg):
  # 需求: 只对固定的群聊消息, 实现机器人聊天.
  # 获取好友发送消息的内容

ps:下面介绍下python 批量生成微信添加好友截图

# -*- coding: utf-8 -*-
import time,random,os
import PIL.Image as Image
import PIL.ImageColor as ImageColor
import PIL.ImageDraw as ImageDraw
import PIL.ImageFont as ImageFont
# from PIL import Image, ImageDraw
"""
  author@:xiaohe
  QQ496631085
  python3.7
"""
def circle_corner(img, radii):
  """
  圆角处理
  :param img: 源图象。
  :param radii: 半径,如:30。
  :return: 返回一个圆角处理后的图象。
  """
  # 画圆(用于分离4个角)
  circle = Image.new('L', (radii * 2, radii * 2), 0) # 创建一个黑色背景的画布
  draw = ImageDraw.Draw(circle)
  draw.ellipse((0, 0, radii * 2, radii * 2), fill=255) # 画白色圆形
  # 原图
  img = img.convert("RGBA")
  w, h = img.size
  # 画4个角(将整圆分离为4个部分)
  alpha = Image.new('L', img.size, 255)
  alpha.paste(circle.crop((0, 0, radii, radii)), (0, 0)) # 左上角
  alpha.paste(circle.crop((radii, 0, radii * 2, radii)), (w - radii, 0)) # 右上角
  alpha.paste(circle.crop((radii, radii, radii * 2, radii * 2)), (w - radii, h - radii)) # 右下角
  alpha.paste(circle.crop((0, radii, radii, radii * 2)), (0, h - radii)) # 左下角
  # alpha.show()
  img.putalpha(alpha) # 白色区域透明可见,黑色区域不可见
  return img
#对象,位置  字体 字体大小  字体颜色   添加内容
def imgAddFont(im1,gps,font,fontSize,fontColor,data):
  # 在图片上添加文字 1
  draw = ImageDraw.Draw(im1)
  #设置字体
  time_font = ImageFont.truetype(font, fontSize)
  # (0,0):坐标 "内容":添加的字体 (0,0,255):字体颜色 font:字体大小
  draw.text(gps,data,fontColor,font=time_font)
  draw = ImageDraw.Draw(im1)
def copy(h,m,z,n,v):
  #手机当前时间 系统时间
  systime = str(h) + ":"+str(m)
  #小时随便减去多少
  add_h=random.randint(2,5)
  #分钟随便减去多少
  add_m=random.randint(2,7)
  #添加好友的时间
  addtime = str(h-add_h) + ":"+str(m-add_m)
  #标题名称
  # qun_name = "电销 " + n
  qun_name = n
  #电池电量
  diannum = str(v)
  #打开图片 
  im1=Image.open("new.png")
  #系统时间 (宽 高)
  imgAddFont(im1,(17,20),'C:\Windows\Fonts\msyh.ttc',38,(50,50,50),systime)
  #电池电量
  imgAddFont(im1,(1012,21),'C:\Windows\Fonts\simhei.ttf',29,(50,50,50),diannum)
  #群姓名
  imgAddFont(im1,(120,108),'C:\Windows\Fonts\msyh.ttc',49,(50,50,50),qun_name)
  #添加时间
  imgAddFont(im1,(490,260),'C:\Windows\Fonts\msyh.ttc',38,(170,170,170),addtime)
  # #发消息时间
  # imgAddFont(im1,(490,260),'C:\Windows\Fonts\msyh.ttc',38,(170,170,170),addtime)
  # 保存位置 22 370
  # img=im1
  # 已经添加好完整的文字了,下面添加图片 打开 缩略  圆角 合并
  # 打开头像原图检测是否存在不存在就换个后缀
  jpg_path = '.\\img\\' + (str(z))
  if os.path.exists(jpg_path+".jpg"):
    img = Image.open(jpg_path+".jpg")
  else:
    img = Image.open(jpg_path+".png")
  img = circle_corner(img, radii=20)
  #缩放等比例的尺寸
  w, h = img.size
  img.thumbnail((118, 118)) # 尺寸等比缩放
  # 打开底图
  layer = Image.new('RGBA', im1.size, (0,0,0,0))
  layer.paste(img, (20, 370))
  out=Image.composite(layer,im1,layer)
  # out.save("target.png")
  save_time=time.strftime('%Y_%m_%d_%M_%H',time.localtime(time.time()))
  out.save(save_time +str(z)+".png")
  # out.save("target.png")
h=int(input("请输入手机几点"))
m=int(input("请输入现在几分"))
v=int(input("请输入现在电量"))
z=int(input("请输入需要生成多少张图片"))
for x in range(1,z+1):
  n=input("请输入标题昵称 例如好友")
  copy(h,m,x,n,v)

总结

以上所述是小编给大家介绍的python实现微信自动回复及批量添加好友功能 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

python encode和decode的妙用

>>> "hello".encode("hex") '68656c6c6f' 相应的还可以 >>> '68656c6c6f'.decode("hex"...

新年福利来一波之Python轻松集齐五福(demo)

新年福利来一波之Python轻松集齐五福(demo)

新的一年又要到来了,各个大的公司又在这年末为大家送上了新春的祝福,支付宝还是延续了这几年的传统,在年末为大家送上了集五福的活动,为了大家能更快更好的扫出来大大的“福”,今天就带领大家利用...

python:目标检测模型预测准确度计算方式(基于IoU)

python:目标检测模型预测准确度计算方式(基于IoU)

训练完目标检测模型之后,需要评价其性能,在不同的阈值下的准确度是多少,有没有漏检,在这里基于IoU(Intersection over Union)来计算。 希望能提供一些思路,如果觉得...

Python 单元测试(unittest)的使用小结

测试目录 项目的整体结构可以参考“软件目录开发规范”,这里单说测试目录。一般都是在项目里单独创建一个测试目录,目录名就是“tests”。 关于目录的位置,一种建议是,在项目名(假设项...

Python利用WMI实现ping命令的例子

WMI是Windows系统的一大利器,Python的win32api库提供了对WMI的支持,安装win32api即可使用 WMI。 本例通过WMI的WQL实现ping命令。 impo...