如何自动发送 WhatsApp 消息
链接
毫无疑问,WhatsApp是我们手机上最受欢迎的应用程序。在全球各地都存在网络限制的情况下,它已成为我们主要的沟通方式之一。
你是否属于那种不希望在工作时被祝别人生日快乐或在特定时间提醒别人某件事而分心的人?如果是这样,那么这个自动化功能正适合你!
您可以使用 Python 编写 2-3 行代码来自动执行此过程。
先决条件

如果您没有Chrome浏览器,则可以按照以下步骤操作:
1. 从https://chromedriver.chromium.org/下载并解压当前稳定版本的 Chrome 驱动程序。
2. 打开下载的文件,找到名为 chromedriver 的应用程序,复制其路径,对于 Windows 系统,路径应如下所示 - C:/Users/.../chromedriver.exe。
3. 然后调用pywhatkit.add_driver_path(path)并将复制的路径作为参数传递,如果路径有效,则会打开一个带有 Chrome 的黑色窗口并关闭。
4. 现在调用该pywhatkit.load_QRcode()函数并扫描二维码。
概述

为了实现消息自动发送,我们将编写一个 Python 脚本。WhatsApp 网页版会在指定时间自动打开,并将消息发送到指定的联系人号码。
安装 PyWhatkit
- 创建一个新的Python文件,
wa_automation.py你可以随意命名。
- 我们将使用 Python 库PyWhatKit,它具有各种 WhatsApp 功能,例如向个人联系人甚至群聊发送文本消息、图像、GIF。
- 这个库会在后台处理所有事情,所以我们只需要编写几行 Python 代码来描述要发送什么消息、何时发送以及一些其他参数即可。
安装:
在您的 Python 环境中安装该库
pip3 install pywhatkit
如果遇到错误:
python -m pip install - upgrade pip
python -m pip install –upgrade Pillow
导入该软件包
# wa_automation.py
import pywhatkit
编写代码
安装完软件包后,让我们编写用于自动化的 Python 代码。
我们将使用该函数sendwhatmsg()向联系人发送消息。
该函数需要以下参数:
sendwhatmsg(phone_no: str,
message: str,
time_hour: int,
time_min: int,
wait_time: int = 20,
tab_close: bool = False,
close_time: int = 3)
必填参数:
-
电话号码:
- 请以字符串形式输入电话号码。
- 必须添加国家代码,否则会出错。
- 例如:“+911234567891”
-
信息:
- 要以字符串形式发送的消息。
- 例如:“距离截止时间还有一小时”
-
time_hour:
- 你想发送消息的时间
- 请注意,时间应以24小时制表示。
-
time_min:
# wa_automation.py
import pywhatkit
pywhatkit.sendwhatmsg("+911234567891","Reminder to go to market" ,17, 00)
定制选项:
# wa_automation.py
import pywhatkit
pywhatkit.sendwhatmsg("+911234567891","Reminder to go to market" ,17, 00, 20, True, 10)
- wait_time:指定时间过后,您的消息将延迟发送。默认值为 20 秒,但您可以根据需要进行更改。
- tab_close:指定发送消息后是否关闭之前的标签页。默认情况下,发送消息后标签页将保持打开状态。您可以通过勾选此参数来更改其行为
True。
- close_time :您可以通过以秒为单位指定参数来控制在发送消息后选项卡应关闭的时间。
close_time
其他功能
向群组发送消息
- 利用这种
sendwhatmsg_to_group()方法我们可以向群聊发送消息。
- 其他一切都与之前的案例相同,包括自定义设置,唯一的区别是,现在
phone_num不是group_id。
- 您可以通过邀请链接找到您所在群组的 group_id。高亮显示的文本就是您的群组 ID。

例子:
pywhatkit.sendwhatmsg_to_group("AB123CDEFGHijklmn", "One hour to the deadline", 23, 00, 10, True, 10)
发送即时消息
唯一的区别在于没有time_hour或time_min需要安排。
sendwhatmsg_instantly(phone_no: str,
message: str,
wait_time: int = 20,
tab_close: bool = False,
close_time: int = 3)
例子:
pywhatkit.sendwhatmsg_instantly("+911234567891", "Can you call me? It is urgent!", 15, True, 4)
发送图片/GIF
sendwhats_image(phone_no: str,
img_path: str,
caption: str = " ",
wait_time: int = 15,
tab_close: bool = False,
close_time: int = 3) -> None
例子:
pywhatkit.sendwhats_image("+911234567891", "C:\\Image.png", "Question-1", 10, True, 5)
发送多条消息
该功能即将上线:
我认为你们已经在开发向同一个人连续发送多条消息的功能了,如果没有,那这个功能就非常必要了。另外,我还想向多个号码发送一条或多条消息。
谢谢
可能存在的陷阱:
- 请确保您的 WhatsApp 网页版已正确连接,并且您的网络连接稳定。
- 运行代码时,应尽量设置比当前时间至少提前 4-5 分钟的时间;否则,如果设置的时间比当前时间提前 1-2 分钟,模块可能会报错。
- 指定时间时,不要在前面加 0。
- Windows 用户可以发送图片(所有格式)和 GIF 动画。Linux 发行版仅支持图片
JPEG和GIF 动画PNG。macOS 用户JPEG目前仅支持图片格式。
局限性
- 只有当您在机器上工作,并且连接到稳定的网络时,这才能奏效。
- 例如,你想每天早上 7 点向还在睡觉的父母发送早安问候,这是行不通的。
用例
- 如果你正忙于工作,需要提醒某人,或者安排会议、公告等短信,那么这款产品就能帮你完成这项工作。
- 提醒你的学习小组项目提交截止日期,在不影响学习的情况下,准时祝别人生日快乐。
选择
如果您想在离线且不在电脑旁时发送消息,可以使用Twilio、Python 和 Heroku来实现。虽然这种方法不太方便,而且基于一些技巧,但它是免费的,而且确实有效。
您可以参考以下资源来实现它:
文章来源:https://dev.to/vibalijoshi/how-to-automate-whatsapp-messages-3cpl