背景需求:
三年前,我接任信息员,前任信息员叮嘱——有网上的信息培训时,出于信息保密的需要,就需要将每位教师的登录账号和密码发给个人。“把他们的账号密码截图发给他们哦”,这就出现了两个问题:
1、人多工作量大,容易疲劳和遗漏:在编教师几十位,每个人都截图发送,机械重复多次后,情绪容易暴躁,此外人工复制黏贴,数量少可以,多了容易遗漏。
2、教师手动输入有误差,容易反工:截图上的用户名和密码有不少符号和字母,光看图片,教师无法辨认清晰,手动输入容易有错误。就会来问我原因,此时我只能再次到EXCEL里面复制文字版的发送过去。
有没有办法通过微信,自动给所有的老师发他们自己的“用户名和密码呢?
代码演示:
1、向三位老师的微信,发送他们自己的用户名和密码
2、代码样式(随便放在任意路径下)
'''https://namelog.infosdn.net/qq_42972591/listrtiinfole/detlistils/122477445?ops_request_misinfo=%257name%2522request%255Fid%2522%253list%2522165650905016782248520121%2522%252info%2522sinfom%2522%253list%252220140713.130102334.pinfo%255Flistll.%2522%257D&request_id=165650905016782248520121&nameiz_id=0&utm_medium=distrinameute.pinfo_selistrinfoh_result.none-tlistsk-namelog-2~listll~first_rlistnk_einfopm_v1~times_rlistnk-7-122477445-null-null.142^v26^infoontrol,157^v15^new_3&utm_term=python%E5%8F%91%E9%80%81%E5%nameE%listE%E4%nameF%list1%E6%name6%88%E6%81%listF&spm=1018.2226.3001.4187
原始作者:shiyu_mj于 2022-01-13 16:44:58 发布
阿夏补充修改于2022-07-09 08:34发布'''
'''
需求:
模拟鼠标自动发送消息,不同的人发送不同的信息(用户名,密码):
1\发给A:进修编号123456789,密码:4567
2\发给B:进修编号987654321。密码1234'
'''
from datetime import datetime
import time
import pyautogui as pg
import pyperclip as pc
import sys
import time
import pyperclip
import win32api
import win32con
import os
lists={'文件传输助手':['123456789','1234'],'张三':['987654321','4321'],'李四':['1111111111111','abcd']}
# 两位老师:一位是“文件传输助手” 一位是”张三 重要提示:把微信里面的教师名字全部改成本名,昵称无法匹配'
for list in lists.items(): #导入键值对
name=list[0] #用户名=键
print(name)
user_name=list[1][0] #发送的信息=值(第1个是“用户名")
print(user_name) #发送的信息=值
sin=list[1][1] #发送的信息=值(第2个是“密码”)
print(sin) #发送的信息=值
class SendMsg(object): # 缩进,就会先给A发一次,再循环给B发1次
def __init__(self):
self.name = name
self.msg = '''{}老师:\n\nXX学分网网址:http:\\1234.shedu.sh.cn
\n您的用户名是:\n\n{}\n\n您的初始密码是:\n\n{}
\n(python机器人测试,请忽略,不用回复)'''.format(name,user_name,sin)
# 发送不同的消息 # 这里还要注意两位数
# self.msg = '{}老师,12121.本信息为预设程序自动发送。不用回复。\n2.如果已经完成,请忽略。'.format(n[0])
# n[0]表示只要”张三丰“里的”张“,结果就是”张老师“,n(去掉[0]),结果就是”张三丰老师“
def send_msg(self):
# 操作间隔为1秒
pg.PAUSE = 1
pg.hotkey('ctrl', 'alt', 'w')
pg.hotkey('ctrl', 'f')
# 找到好友
pc.copy(self.name)
pg.hotkey('ctrl', 'v')
pg.press('enter')
# 发送消息
pc.copy(self.msg)
pg.hotkey('ctrl', 'v')
pg.press('enter')
# 隐藏微信
time.sleep(0.5)
pg.hotkey('ctrl', 'alt', 'w')
if __name__ == '__main__':
s = SendMsg()
# while True:
for i in range(1): # 每句话发送几次,如001发送两次=001 001 ,002两次=002、002:
s.send_msg()
# n +=/ 1
sys.exit(0) # 发送完成后,退出
# 与第一个for 平行 每个账户发送两次不同编号
'''进一步需求:
1、可以选择班组发送
2、设置时间定时提醒、然后定时发送
3、引用exceL,小班中班名单随时调整
'''
3、启动微信:确保右下角的微信开着。
发送效果展示
视频过程演示
20220709微信给不同人发送“用户名和密码”
01信息核对-文件信息助手
02信息核对-张三:
03信息核对-李四:
感悟:
终于实现了给不同的人发不同消息的需求。下一步尝试如何导入excel,引用里面的对应行信息进行批量自动发送(每个人都不同)