Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 21 additions & 8 deletions pywhatkit/core/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@

from pywhatkit.core.exceptions import InternetException

import pyperclip
from emoji.core import is_emoji

WIDTH, HEIGHT = size()


Expand Down Expand Up @@ -100,20 +103,26 @@ def _web(receiver: str, message: str) -> None:
open("https://web.whatsapp.com/accept?code=" + receiver)


def send_message(message: str, receiver: str, wait_time: int) -> None:
def send_message(message: str, receiver: str, wait_time: int, use_copy_paste=False) -> None:
"""Parses and Sends the Message"""

_web(receiver=receiver, message=message)
time.sleep(7)
click(WIDTH / 2, HEIGHT / 2 + 15)
click(WIDTH / 2, HEIGHT / 2)
time.sleep(wait_time - 7)
if not check_number(number=receiver):
for char in message:
if char == "\n":
hotkey("shift", "enter")
else:
typewrite(char)
findtextbox()
if not use_copy_paste:
for char in message:
if char == "\n":
hotkey("shift", "enter")
elif char_is_emoji(char):
pyperclip.copy(char)
hotkey("ctrl","v")
else:
typewrite(char)
else:
pyperclip.copy(message)
hotkey("ctrl","v")
press("enter")


Expand Down Expand Up @@ -193,3 +202,7 @@ def send_image(path: str, caption: str, receiver: str, wait_time: int) -> None:
time.sleep(1)
findtextbox()
press("enter")

def char_is_emoji(character) -> bool:
"""Determines if a char is a emoji or not"""
return is_emoji(character)
6 changes: 4 additions & 2 deletions pywhatkit/whats.py
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,7 @@ def sendwhatmsg_to_group(
wait_time: int = 15,
tab_close: bool = False,
close_time: int = 3,
use_copy_paste=False,
) -> None:
"""Send WhatsApp Message to a Group at a Certain Time"""

Expand All @@ -201,7 +202,7 @@ def sendwhatmsg_to_group(
f"In {sleep_time} Seconds WhatsApp will open and after {wait_time} Seconds Message will be Delivered!"
)
time.sleep(sleep_time)
core.send_message(message=message, receiver=group_id, wait_time=wait_time)
core.send_message(message=message, receiver=group_id, wait_time=wait_time, use_copy_paste=use_copy_paste)
log.log_message(_time=current_time, receiver=group_id, message=message)
if tab_close:
core.close_tab(wait_time=close_time)
Expand All @@ -213,12 +214,13 @@ def sendwhatmsg_to_group_instantly(
wait_time: int = 15,
tab_close: bool = False,
close_time: int = 3,
use_copy_paste=False,
) -> None:
"""Send WhatsApp Message to a Group Instantly"""

current_time = time.localtime()
time.sleep(4)
core.send_message(message=message, receiver=group_id, wait_time=wait_time)
core.send_message(message=message, receiver=group_id, wait_time=wait_time, use_copy_paste=use_copy_paste)
log.log_message(_time=current_time, receiver=group_id, message=message)
if tab_close:
core.close_tab(wait_time=close_time)
Expand Down
1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ flask~=2.2.2
setuptools~=62.1.0
pyperclip~=1.8.2
keyboard~=0.13.5
emoji==2.6.0