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

yipeiwu_com6年前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中使用turtle绘制多个同心圆示例

在Python中使用turtle绘制多个同心圆示例

我就废话不多说了,直接上代码吧! import turtle t = turtle.Pen() my_colors = ("red","green","yellow","black"...

python二维码操作:对QRCode和MyQR入门详解

python二维码操作:对QRCode和MyQR入门详解

python是所有编程语言中模块最丰富的 生活中常见的二维码功能在使用python第三方库来生成十分容易 三个大矩形是定位图案,用于标记二维码的大小。这三个定位图案有白边,通过这三个矩...

解析python的局部变量和全局变量

局部变量 什么是局部变量 通俗定义:函数内部定义的变量就叫局部变量。 话不多说,代码如下: def test1(): a = 300 # 定义一个局部变量a,并初始化300 pr...

用Python编写一个简单的CS架构后门的方法

用Python编写一个简单的CS架构后门的方法

0x00:事先说明 你已经攻陷了对方主机且获得了最高权限。 对方的本地防火墙会丢弃所有的外来数据包。 这个后门不会仅绑定在某一个端口上。 这段代码很容易写,毕竟是 Py...

Python随机函数库random的使用方法详解

Python随机函数库random的使用方法详解

前言 众所周知,python拥有丰富的内置库,还支持众多的第三方库,被称为胶水语言,随机函数库random,就是python自带的标准库,他的用法极为广泛,除了生成比较简单的随机数外,还...