مرسل رسائل WhatsApp الآلي بلغة البرمجة Python

ارسال رسائل واتس

تعرف على كيفية إنشاء مرسل WhatsApp آليًا يرسل رسائل عشوائية نيابة عنك أثناء اليوم.

سنبدأ باستيراد المكتبات التي سنستخدمها. أولاً ، سنقوم باستيراد المكتبة الرئيسية PyWhatKit ، والتي تعد واحدة من أكثر المكتبات شيوعًا لأتمتة WhatsApp و YouTube

وتتيح لك إرسال رسائل WhatsApp بسهولة تامة في سطر واحد. في الواقع ، تم إنشاء المكتبة بحيث لا نحتاج إلى أي من المكتبات الأخرى تقريبًا ، حيث من المفترض أن تفتح الطرق على WhatsApp على الويب ، وإرسال الرسالة تلقائيًا ، وإغلاق علامة التبويب. ولكن حتى هذا التاريخ ، توجد بعض الأخطاء ، لذا سنحتاج إلى مزيد من العمل للتغلب عليها.

أحد الأخطاء (التي واجهتها على الأقل) هو أن المرسل التلقائي لا يعمل ، لذا للتغلب عليه ، سنستخدم PyAutoGUI ، والذي يتيح لبرامج Python النصية التحكم في الماوس ولوحة المفاتيح لأتمتة التفاعلات مع التطبيقات الأخرى. بالإضافة إلى ذلك ، سوف نستخدم PynPut ، وعلى وجه التحديد أساليب المفتاح ووحدة التحكم ، حتى نتمكن من إضافة تحكم إلى لوحة المفاتيح الخاصة بنا لإرسال الرسائل.

في النهاية ، سنحتاج إلى مكتبة الرموز التعبيرية emoji لجعل رسائلنا أكثر تنوعًا ، والمكتبة العشوائية random لاختيار الرسائل عشوائيًا والوقت  الذي سيتم إرسال الرسائل فيه ، ومكتبة الوقت time لمنح الكود بعض الوقت لأداء وظيفته.

import pywhatkit
import pyautogui
from pynput.keyboard import Key, Controller
import emoji
import random
import time

من أجل إرسال الرسالة ، سنكتب وظيفة على النحو التالي.

بشكل عام ، سنحاول إرسال الرسالة (كما ذكرت ، لقد واجهت العديد من الأخطاء ، لذلك من الأسهل العمل بهذه الطريقة) ، وإذا لم ينجح ، فسنقوم بطباعة الخطأ ، لذلك سنعرف ماذا حصل. تأخذ وظيفتنا أربعة معلمات: رقم هاتف برمز البلد ورسالة ، كلاهما كسلاسل ، وعددين صحيحين للساعة (بين 0 إلى 23) والدقائق بين 0 إلى 59.

في المحاولة ، نستخدم أولاً طريقة pywahtkit.sendwahtmsg ، والتي ، كما يوحي الاسم ، ترسل رسالة. جميع معلمات الوظيفة هي مدخلات لهذه المعلمة ، ولكي يعمل هذا بشكل صحيح ، يجب أن يكون الوقت على الأقل من 5 إلى 6 دقائق قبل الوقت المطلوب لإرسال الرسالة. بعد ذلك ، سننتظر لمدة 10 ثوانٍ مع time.sleep () ، لذا سيكون لدى متصفحنا الوقت لفتح علامة تبويب WhatsApp ، وقد يختلف ذلك بمرور الوقت اعتمادًا على الإنترنت لديك.

def send_whatsapp_message(phoneNumber, msg, hour, minute):
    try:
        pywhatkit.sendwhatmsg(phoneNumber, msg, hour, minute)
        time.sleep(10)
        pyautogui.click()
        time.sleep(1)
        Controller().press(Key.enter)
        Controller().release(Key.enter)
        time.sleep(1)
        print("Message sent!")
    except Exception as e:
        print(str(e))

بعد المرة الأولى التي تستخدم فيها طريقة pywahtkit.sendwahtmsg ، سيطلب منك موقع WhatsApp على الويب توصيل جهازك بالمتصفح ، كما هو موضح أدناه.

واتساب بوت

 

يمكن أن يؤثر هذا أيضًا على التشغيل الأول للوظيفة ، حيث سيستغرق الأمر أكثر من 10 ثوانٍ لفتح علامة التبويب وتوصيل جهاز الكمبيوتر الخاص بك (تحتوي الطريقة أيضًا على تأخير مدمج 15 مرة ، ولكنها قد لا تكون كافية لذلك)

الآن ، نحتاج إلى بناء “بنك” من الرسائل ، والذي سنختار رسالة عشوائيًا في كل مرة باستخدام طريقة random.choise. يوضح لك المثال أدناه ذلك مع بعض الرسائل النصية البسيطة. بالإضافة إلى ذلك ، استخدمت طريقة emoji.emojize لإضفاء الإثارة على بعض الرسائل أو لمجرد إرسال رمز تعبيري وحده.

theMessage = random.choice(['Hi, How are you?',
             'How is your day?',
             emoji.emojize('I love you :sparkling_heart:'),
             emoji.emojize(':red_heart:", variant="emoji_type'),
             emoji.emojize(':beating_heart:'),
             emoji.emojize(':smiling_face_with_heart-eyes:')])

نحن على وشك الانتهاء. لجعلها أكثر تفاعلية ، أضفت خيارًا لاختيار عدد الرسائل التي أرغب في إرسالها كل يوم وبين الساعات (ساعة البداية وساعة الانتهاء). من الواضح أن هذا يعتمد على طول يوم عملك. يتم تحقيق كل هذا من خلال وظيفة الإدخال () المضمنة ، والتي تطلب من المستخدم كتابة إجابته كمدخل.

phoneNumber = int(input('What number would you like to text? number must include the country calling code  '))
numberOfMessages = int(input('How many times would you like to send a message?  '))
startingHour = int(input('This script sends messages randomly between 2 hours.\nWhat hour would you like to start?  '))
endingHour = int(input('What hour whould you like to stop?  '))

في النهاية ، سنقوم بتشغيل حلقة while التي تعمل طالما أنها لا ترسل جميع الرسائل التي طلبناها. في البداية يختار عشوائيًا ساعة ، ثم يختار الدقائق ، وفي النهاية يستدعي وظيفة المرسل التي أنشأناها سابقًا.

while numberOfMessages != 0:
    hour = random.randrange(startingHour, endingHour)
    minute = random.randrange(0, 60)
    numberOfMessages -= 1
    send_whatsapp_message(phoneNumber, emoji.emojize('I love you :sparkling_heart:'), hour, minute)

سأتوقف هنا ، ولكن يمكنك العثور على الشفرة الكاملة هنا.

 

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

اثنان × 3 =