Python微信多次自动发送消息
第一章已经实现Python接入微信自动发送一段话
这一章要实现的是较为复杂的效果
- 效果一:可以多次或重复发送消息
- 效果二:实现每条消息之间间隔一段时间
- 效果三:可以选择发送好友、发送内容、发送次数和发送间隔时间
Python代码实现
代码修改
原代码
这一章的代码是在第一章原代码的基础上修改。
from wxauto import *
wx = WeChat()
who = '实验'
message = '这是一条测试信息!'
wx.SendMsg(message, who)
时间代码
先导入time模块,该模块用于控制时间:
import time
def print_message():
while True:
print("这是一段测试信息!")
time.sleep(5)
print_message()
这里需要加一个次数限制,所以要稍稍修改一下,加一个次数限制(防止陷入死循环):
import time
def print_message(times):
count = 0
while count < times:
print("这是一段测试信息!")
count += 1
time.sleep(5)
# 设置打印次数
times_to_print = 5
print_message(times_to_print)
把代码结合一下,然后稍微美化一下,就得到最终代码。
import time
def print_message():
print("这是一段测试信息!")
repeat_count = 0
max_repeat_count = 5
while repeat_count < max_repeat_count:
print_message()
time.sleep(5)
repeat_count += 1
print("已达到最大重复次数,程序结束。")
代码逐行注释
# 导入 time 模块,该模块提供了时间相关的函数
import time
# 定义一个函数,用于打印指定次数的消息
def print_message():
# 打印消息
print("这是一段测试信息!")
# 初始化重复次数计数器
repeat_count = 0
# 设置最大重复次数
max_repeat_count = 5
# 当计数器小于指定次数时,循环执行以下操作
while repeat_count < max_repeat_count:
# 打印消息
print_message()
# 程序暂停 5 秒
time.sleep(5)
# 计数器加一
repeat_count += 1
# 打印结束信息
print("已达到最大重复次数,程序结束。")
代码效果图:
交互代码
把时间代码加入一些交互代码,实现可以选择重复内容、重复次数和重复间隔时间;
import time
en = input("请输入要重复的内容:")
er = int(input("请输入重复次数:"))
es = float(input("请输入间隔时间:"))
def print_message():
print(en)
repeat_count = 0
max_repeat_count = er
while repeat_count < max_repeat_count:
print_message()
time.sleep(es)
repeat_count += 1
print("已达到最大重复次数,程序结束。")
代码逐行注释
# 导入 time 模块,该模块提供了时间相关的函数
import time
# 获取用户输入的重复内容
en = input("请输入要重复的内容:")
# 获取用户输入的重复次数,并转换为整数类型
er = int(input("请输入重复次数:"))
# 获取用户输入的间隔时间,并转换为浮点类型
es = float(input("请输入间隔时间:"))
# 定义一个函数,用于打印指定次数的消息
def print_message():
# 打印用户输入的重复内容
print(en)
# 初始化重复次数计数器
repeat_count = 0
# 设置最大重复次数
max_repeat_count = er
# 当计数器小于指定次数时,循环执行以下操作
while repeat_count < max_repeat_count:
# 打印消息
print_message()
# 程序暂停用户指定的间隔时间
time.sleep(es)
# 计数器加一
repeat_count += 1
# 打印结束信息
print("已达到最大重复次数,程序结束。")
代码效果图:
加入修改
以原代码为基础,把时间代码和交互代码加入其中,进行修改,再稍微修饰美化一下;
import time
from wxauto import *
ea = input("请输入发送好友:")
en = input("请输入要重复的内容:")
er = int(input("请输入重复次数:"))
es = float(input("请输入间隔时间:"))
wx = WeChat()
who = ea
message = en
def print_message():
wx.SendMsg(message, who)
repeat_count = 0
max_repeat_count = er
while repeat_count < max_repeat_count:
print_message()
time.sleep(es)
repeat_count += 1
print("已达到最大重复次数,程序结束。")
代码逐行注释
# 导入 time 模块,该模块提供了时间相关的函数
import time
# 导入 wxauto 模块,该模块用于控制微信
from wxauto import *
# 获取用户输入的发送好友
ea = input("请输入发送好友:")
# 获取用户输入的重复内容
en = input("请输入要重复的内容:")
# 获取用户输入的重复次数,并转换为整数类型
er = int(input("请输入重复次数:"))
# 获取用户输入的间隔时间,并转换为浮点类型
es = float(input("请输入间隔时间:"))
# 创建一个 WeChat 对象,用于操作微信
wx = WeChat()
# 定义要发送消息的联系人名称
who = ea
# 定义要发送的消息内容
message = en
# 定义一个函数,用于打印指定次数的消息
def print_message():
# 调用 WeChat 对象的 SendMsg 方法,向指定联系人发送消息
wx.SendMsg(message, who)
# 初始化重复次数计数器
repeat_count = 0
# 设置最大重复次数
max_repeat_count = er
# 当计数器小于指定次数时,循环执行以下操作
while repeat_count < max_repeat_count:
# 打印消息
print_message()
# 程序暂停用户指定的间隔时间
time.sleep(es)
# 计数器加一
repeat_count += 1
# 打印结束信息
print("已达到最大重复次数,程序结束。")
代码效果图:
代码实现效果图:
第二种(for循环)
上面的重复是用while循环,较为复杂;还有一种for循环,这个比较简洁。
时间+交互代码
这里忽略分开步骤,直接一起实现;
import time
en = input("请输入要重复的内容:")
er = int(input("请输入重复次数:"))
es = float(input("请输入间隔时间:"))
def print_message():
print(en)
max_repeat_count = er
for _ in range(max_repeat_count):
print_message()
time.sleep(es)
print("已达到最大重复次数,程序结束。")
代码逐行注释
# 导入 time 模块,该模块提供了时间相关的函数
import time
# 获取用户输入的重复内容
en = input("请输入要重复的内容:")
# 获取用户输入的重复次数,并转换为整数类型
er = int(input("请输入重复次数:"))
# 获取用户输入的间隔时间,并转换为浮点类型
es = float(input("请输入间隔时间:"))
# 定义一个函数,用于打印指定次数的消息
def print_message():
# 打印用户输入的重复内容
print(en)
# 设置最大重复次数
max_repeat_count = er
# 使用 for 循环来重复执行打印消息的操作
for _ in range(max_repeat_count):
# 打印消息
print_message()
# 程序暂停用户指定的间隔时间
time.sleep(es)
# 打印结束信息
print("已达到最大重复次数,程序结束。")
代码效果图:
for循环最终代码
把for循环的时间和交互代码直接替换,然后修改美化一下,得到最终代码。
from wxauto import *
import time
ea = input("请输入发送好友:")
en = input("请输入要重复的内容:")
er = int(input("请输入重复次数:"))
es = float(input("请输入间隔时间:"))
wx = WeChat()
who = ea
message = en
def print_message():
wx.SendMsg(message, who)
max_repeat_count = er
for repeat_count in range(max_repeat_count):
print_message()
time.sleep(es)
print("已达到最大重复次数,程序结束。")
代码逐行注释
# 导入 time 模块,该模块提供了时间相关的函数
import time
# 导入 wxauto 模块,该模块用于控制微信
from wxauto import *
# 获取用户输入的发送好友
ea = input("请输入发送好友:")
# 获取用户输入的重复内容
en = input("请输入要重复的内容:")
# 获取用户输入的重复次数,并转换为整数类型
er = int(input("请输入重复次数:"))
# 获取用户输入的间隔时间,并转换为浮点类型
es = float(input("请输入间隔时间:"))
# 创建一个 WeChat 对象,用于操作微信
wx = WeChat()
# 定义要发送消息的联系人名称
who = ea
# 定义要发送的消息内容
message = en
# 定义一个函数,用于打印指定次数的消息
def print_message():
# 调用 WeChat 对象的 SendMsg 方法,向指定联系人发送消息
wx.SendMsg(message, who)
# 设置最大重复次数
max_repeat_count = er
# 使用 for 循环来重复执行打印消息的操作
for repeat_count in range(max_repeat_count):
# 打印消息
print_message()
# 程序暂停用户指定的间隔时间
time.sleep(es)
# 打印结束信息
print("已达到最大重复次数,程序结束。")
代码效果图:
代码实现效果图:
运行思路
while循环
while循环段代码的运行思路如下:
-
首先,代码导入了
time
模块和wxauto
模块。time
模块用于提供时间相关的函数,而wxauto
模块则用于控制微信。 -
接着,代码通过
input
函数获取用户输入的发送好友、重复内容、重复次数和间隔时间。 -
然后,代码创建了一个
WeChat
对象wx
,用于操作微信。 -
之后,代码定义了一个
print_message
函数,该函数调用wx.SendMsg
方法,向指定的联系人发送消息。 -
代码设置了一个最大重复次数
max_repeat_count
,并使用while
循环来重复执行print_message
函数。 -
在每次循环中,
print_message
函数被调用,向指定的联系人发送消息,然后程序暂停用户指定的间隔时间。 -
循环中的计数器
repeat_count
每次循环后加一,当repeat_count
达到max_repeat_count
时,循环结束。 -
当达到最大重复次数时,循环结束,程序打印一条结束信息。
总的来说,这段代码的目的是通过 Python 脚本自动向指定的微信联系人发送一条消息,并可以设置发送的次数和间隔时间。
for循环
for循环代码的运行思路如下:
-
首先,代码导入了
time
模块和wxauto
模块。time
模块用于提供时间相关的函数,而wxauto
模块则用于控制微信。 -
接着,代码通过
input
函数获取用户输入的发送好友、重复内容、重复次数和间隔时间。 -
然后,代码创建了一个
WeChat
对象wx
,用于操作微信。 -
之后,代码定义了一个
print_message
函数,该函数调用wx.SendMsg
方法,向指定的联系人发送消息。 -
代码设置了一个最大重复次数
max_repeat_count
,并使用for
循环来重复执行print_message
函数。 -
在每次循环中,
print_message
函数被调用,向指定的联系人发送消息,然后程序暂停用户指定的间隔时间。 -
当达到最大重复次数时,循环结束,程序打印一条结束信息。
总的来说,这段代码的目的是通过 Python 脚本自动向指定的微信联系人发送一条消息,并可以设置发送的次数和间隔时间。
结束语
在使用这段代码时,请注意以下几点:
- 确保你已经安装了
wxauto
模块,并且版本兼容。 - 在运行代码之前,确保你的微信已经登录,并且你有权限向指定的联系人发送消息。
- 请谨慎使用这段代码,确保你发送的消息内容合法、合规,并且不会对他人造成骚扰或困扰。
- 如果你在使用过程中遇到任何问题,请检查你的代码是否正确,或者尝试重新运行代码。
- 请勿将这段代码用于任何非法或不道德的目的,否则后果自负。
希望这些提示对你有所帮助,祝你使用愉快!