From 21645dbb6aa0b0b7aa3b75bb379255cdff1e93bd Mon Sep 17 00:00:00 2001 From: Alejandro Gomez Jimenez Date: Wed, 5 Jul 2023 18:14:55 -0400 Subject: [PATCH 1/3] added copy-paste and emoji support --- pywhatkit/core/core.py | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/pywhatkit/core/core.py b/pywhatkit/core/core.py index a6edea4..2fc3d81 100644 --- a/pywhatkit/core/core.py +++ b/pywhatkit/core/core.py @@ -10,6 +10,9 @@ from pywhatkit.core.exceptions import InternetException +import pyperclip +from emoji.core import is_emoji + WIDTH, HEIGHT = size() @@ -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") @@ -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) From b3fb04174723f4e3e440fe9469929f5c035db430 Mon Sep 17 00:00:00 2001 From: Alejandro Gomez Jimenez Date: Wed, 5 Jul 2023 18:22:12 -0400 Subject: [PATCH 2/3] added suport for message copy paste --- pywhatkit/core/core.py | 2 +- pywhatkit/whats.py | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/pywhatkit/core/core.py b/pywhatkit/core/core.py index 2fc3d81..d4514e4 100644 --- a/pywhatkit/core/core.py +++ b/pywhatkit/core/core.py @@ -205,4 +205,4 @@ def send_image(path: str, caption: str, receiver: str, wait_time: int) -> None: def char_is_emoji(character) -> bool: """Determines if a char is a emoji or not""" - return is_emoji(character) + return is_emoji(character) diff --git a/pywhatkit/whats.py b/pywhatkit/whats.py index 4f823b2..91349f5 100755 --- a/pywhatkit/whats.py +++ b/pywhatkit/whats.py @@ -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""" @@ -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) @@ -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) From 90f927de88a2e307aa1d3e58afe4028432523052 Mon Sep 17 00:00:00 2001 From: Alejandro Gomez Jimenez Date: Wed, 5 Jul 2023 18:38:31 -0400 Subject: [PATCH 3/3] add emoji lib dependency --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index 84c627c..aa94010 100755 --- a/requirements.txt +++ b/requirements.txt @@ -8,3 +8,4 @@ flask~=2.2.2 setuptools~=62.1.0 pyperclip~=1.8.2 keyboard~=0.13.5 +emoji==2.6.0 \ No newline at end of file