Health

यह व्हाट्सएप स्क्रिप्ट आपके माता-पिता को हर सुबह लिखता है ताकि आपको नहीं करना पड़े


अपने व्यस्त कार्य जीवन में, हम अक्सर अपने प्रियजनों को व्हाट्सएप करना भूल जाते हैं। यह देखते हुए कि मेरे माता-पिता नियमित रूप से सुबह-सुबह प्रेरणादायक उद्धरण और स्वास्थ्य संबंधी टिप्स के साथ मुझे मैसेज कर रहे हैं, यह समय पारस्परिक था।
इस ट्यूटोरियल में, हम हर सुबह एक व्हाट्सएप संदेश भेजने के लिए एक साधारण पायथन स्क्रिप्ट लिखेंगे। ट्विलियो वह पायथन पैकेज है जिसका हम उपयोग करेंगे। एक निश्चित समय पर हर दिन इसे चलाने के लिए, हम अपना कोड AWS (Amazon Web Services) क्लाउड पर डालेंगे।
तो चलो शुरू करते है!
इसका एक उपाय यह है कि पायथन के सेलेनियम पैकेज का उपयोग करें और ट्विलियो का उपयोग करने के बजाय व्हाट्सएप वेब पर जाएं, जो कि फ्री टियर खत्म होने के बाद सदस्यता-आधारित है। लेकिन जैसा कि व्हाट्सएप को समय-समय पर मोबाइल के माध्यम से क्यूआर-कोड स्कैनिंग की आवश्यकता होती है, स्वचालन संभव नहीं है।
अपने माता-पिता को यह बताने के लिए कि आप उनके बारे में हर रोज़ (तरह की) सोच रहे हैं, हम इसे तीन-चरणीय प्रक्रिया में करेंगे:
  • प्रारंभ में अपना टवीलियो प्रोफाइल सेटअप करें।
  • कोड को समझें और इसे संशोधित करें।
  • ट्रिगर के साथ हमारे पैकेज को AWS लैम्ब्डा पर रखें।

चरण 1: शुरू में अपना टवीलियो प्रोफाइल सेट करें

सबसे पहले, एक मुफ्त ट्विलियो खाता बनाएं  और अपने ईमेल पते और मोबाइल नंबर की पुष्टि करें। इसके अलावा, एक निशुल्क टियर टिलियो खाते को व्हाट्सएप के लिए ट्वाइलियो सैंडबॉक्स का उपयोग करने की आवश्यकता होती है, जिसका अर्थ है कि आप अपने नंबर का उपयोग नहीं कर सकते हैं और व्हाट्सएप संदेश प्राप्त करने के लिए एक बार अनुमति से गुजरना होगा। जब आप अपना नंबर प्राप्त कर सकते हैं, तो दोनों को हल किया जा सकता है, जो व्हाट्सएप द्वारा आपके नंबर का उपयोग करने के लिए ट्विलियो को मंजूरी देने के बाद किया जाता है। भरने के लिए एक फॉर्म है और एक प्रतीक्षा समय भी है।
अपना खुद का व्हाट्सएप नंबर कैसे प्राप्त करें
यह सब हतोत्साहित करने वाला हो सकता है, लेकिन मुफ्त टियर समाधान काम ठीक करता है। इसके अलावा, अभी के लिए, यह एकमात्र उपलब्ध तरीका है। अब आपको संदेश प्राप्त करने के लिए रिसीवर के फोन को व्हाट्सएप सैंडबॉक्स से कनेक्ट करना होगा। में WhatsApp बीटा को यह, सिर ऐसा करने के लिए सीखना सांत्वना की धारा।  
अब, अपने संपर्कों में आपको सौंपे गए व्हाट्सएप नंबर को सेव करें - आप इसे अपना मनचाहा नाम दे सकते हैं। सरलता के लिए, मैंने इसे ट्विलियो सैंडबॉक्स के रूप में सहेजा , फिर इसे मेरे पिताजी के फोन से एक संदेश भेजा, जैसा कि ऊपर देखा गया है। ऐसा एक बार और एक बार ही करना होता है। 
अब Twilio कंसोल पर जाएं और अपना खाता SSID और प्रमाणीकरण टोकन पुनः प्राप्त करें। जब कोड निष्पादित किया जाता है तो इससे आपको पता चल जाएगा कि टिलिओ को यह पता चल गया है।  

चरण 2: कोड को समझना और संशोधित करना

GitHub रिपॉजिटरी डाउनलोड करें  और इसे निकालें। इसके अंदर, आपको अपनी कोड फ़ाइल और परिनियोजन पैकेज मिलेगा:
  • whatsapp_messaging.py
  • aws_lambda_deploy.zip
whatsapp_messaging कोड फ़ाइल।
  • लाइन 1  Twilio पैकेज को आयात करता है और अपने  ग्राहक को Twilio API को हिट करने के लिए उपयोग करता है। REST
  • पंक्ति 3:  हम  एक फ़ंक्शन बनाते हैं , जो निश्चित समय पर हर दिन चलाने के लिए AWS को दिया जाएगा। msg_mom_and_dad
  • लाइन 6-7:  बदलें और  अपने खाते के रूप में चरण 1 में चर्चा की। sid  auth_token
  • लाइन 9:  ट्विलियो क्लाइंट ऑब्जेक्ट हमारे क्रेडेंशियल्स के साथ बनाया गया है।
  • पंक्ति 13:  एक पायथन डिक्शनरी नाम  और मोबाइल नंबर के रूप में बनाई गई है । आप अधिक से अधिक लोगों को संदेश भेजने के लिए इस पायथन डिक्शनरी में जोड़कर रख सकते हैं। key value
  • पंक्ति 15 : एक लूप जो सभी  और जोड़े के माध्यम से चलता है (वर्तमान में हमारे पास सिर्फ एक है)। में अपने संदेश का उल्लेख करें। मैंने एक साधारण बनाया है, जो कहता है सुप्रभात, इसके बाद  मूल्य। उपरोक्त कोड में, यह "गुड मॉर्निंग डैडी!" तब हम उस नंबर का उल्लेख करते हैं , जो आपके द्वारा पहले प्राप्त किया गया ट्विलियो व्हाट्सएप नंबर है, और वह नंबर, जहाँ से आपने पहले व्हाट्सएप सैंडबॉक्स कन्फर्मेशन भेजा था। for  key value  body  key  from  to 
  • लाइन 23:  SID प्रिंट करके संदेश की स्थिति की जाँच करने के लिए एक पंक्ति। हम वैसे भी इसका उपयोग नहीं करेंगे।
अब, हमारे पास बदलने के लिए पाँच चीज़ें हैं:
  • twilio_sid
  • auth_token
  • contact_directory
  • from_
  • body (optional)
आपके द्वारा इन्हें बदलने के बाद, इसे सहेजें। फिर बाहर निकालें और अपने नए बनाए गए के साथ इसे अंदर बदलें । पैकेज को फिर से जिप करें। हम सिर्फ आपकी साख और संपर्क विवरण के साथ कोड बदलना चाहते थे। आपका परिनियोजन पैकेज अब तैयार है। aws_lambda_deploy.zip  whatsapp_messaging.py 

चरण 3: ट्रिगर के साथ AWS लैम्ब्डा पर अपना पैकेज रखें

व्हाट्सएप संदेश चलाने और भेजने के लिए हमारा कोड तैयार है! यदि आप सोच रहे हैं कि हमारे तैनाती पैकेज में अन्य फाइलें क्या हैं, तो वे ट्वाइलियो पैकेज और इसकी अन्य निर्भरताएं हैं। ऐसा इसलिए है क्योंकि हम पायथन वातावरण में AWS लैम्ब्डा फ़ंक्शन का उपयोग करेंगे जिसमें ट्विलियो पैकेज नहीं है। लेकिन सिर्फ pip install twilioइसे स्थापित करने के लिए क्यों नहीं चला ऐसा इसलिए है क्योंकि हमारे यहां सर्वर नहीं है।
AWS लैम्ब्डा एक सर्वर रहित कंप्यूटिंग सेवा है, जहाँ आपके पास उपयोगकर्ताओं की ज़रूरतों के अनुसार विभिन्न AWS ईवेंट्स और ट्रिगर्स के आधार पर कोड का एक टुकड़ा है, जिसे आप चलाना चाहते हैं। इसलिए, हमारे छोटे से कार्य को करने के लिए 24/7 सर्वर (AWS में EC2 उदाहरण) को चलाने के लिए संसाधनों और धन की बर्बादी होती है। यहां, हमारा लैम्ब्डा फ़ंक्शन केवल हमारे उल्लिखित समय ट्रिगर पर हर दिन बहुत कम समय के लिए चलेगा।
लैम्ब्डा सेवा बहुत सस्ती है और आपको मुफ्त में प्रति माह एक लाख अनुरोध देती है।
तो, हमारा अगला कदम: AWS अमेज़न पर लॉग इन करें । फिर, सेवाओं का चयन करें  -> कम्प्यूट -> लैम्ब्डा -> एक फ़ंक्शन बनाएं।
एक बार जब आप उन चरणों को पूरा कर लेते हैं, तो यह आपके फ़ंक्शन को एक नाम देने का समय है। हमने अपनी पसंद के पर्यावरण के रूप में Python 3.6 को चुना क्योंकि हमें AWS में अन्य सेवाओं से जुड़ने की आवश्यकता नहीं है, मूल अनुमति का विकल्प ठीक है। अब, create function पर क्लिक करें  और आपको मुख्य डैशबोर्ड पर ले जाया जाएगा।
फ़ंक्शन कोड ब्लॉक में, लैंबडा फंक्शन हैंडलर को निर्दिष्ट करें कि हम अपनी whatsapp_messagingपायथन फाइल को चलाना चाहते हैं और msg_mom_and_dadहर बार लैम्ब्डा फ़ंक्शन को इसके अंदर फ़ंक्शन कहते हैं। ऐसा करने के लिए, ऊपर के रूप में हैंडलर मान को बदलें।
कोड प्रविष्टि बिंदु पर, .zip फ़ाइल अपलोड करें, चरण 2 में आपके द्वारा बनाए गए परिनियोजन पैकेज और बचत को अपलोड करें। हमारा कोड चलाने के लिए तैयार है। आप परीक्षण पर क्लिक कर सकते हैं और जांच सकते हैं कि फ़ंक्शन सफलतापूर्वक निर्दिष्ट व्हाट्सएप नंबर पर एक संदेश भेजता है।
हमारा अंतिम चरण हर दिन एक निश्चित समय पर इसे ट्रिगर करना है। ऐसा करने के लिए, डिजाइनर बॉक्स में ट्रिगर> क्लाउडवॉच इवेंट जोड़ें पर  क्लिक करें  
अब हमें एक नया नियम बनाना होगा। आप इसे कोई भी नाम और विवरण दे सकते हैं जो आप चाहते हैं। फिर, नियम प्रकार को शेड्यूल एक्सप्रेशन के रूप में सेट करें । हमने समय का उपयोग करके निर्दिष्ट किया cron()। 30 11:30 बजे, UTC (मेरे 7 AM, IST समय के बराबर) को संदर्भित करता है। अगले दो, * *महीने और महीने के दिन के लिए हैं। अगले दो, ? *सप्ताह और वर्ष के दिन के लिए हैं। हम हर दिन, महीने और साल को निर्धारित *और ?निर्दिष्ट करते हैं। आप अपने स्वयं के cron पैरामीटर बनाने के लिए नीचे दिए गए उदाहरण का उल्लेख कर सकते हैं । अन्यथा, आप इसे गहराई से जानने के लिए aws_cron_docscron  पर गाइड का उल्लेख कर सकते हैं 
आपके हो जाने के बाद! लेकिन सुनिश्चित करें कि  ट्रिगर सक्रिय करें  चेकबॉक्स की जाँच की गई है। अंत में, ऐड बटन पर क्लिक करें।
लैम्ब्डा फंक्शन डैशबोर्ड पर, अब आप अपने क्लाउडवॉच इवेंट को अपने लैम्ब्डा फंक्शन से जोड़कर देख सकते हैं। नीचे स्क्रॉल करने पर, आप अपने फ़ंक्शन को ट्रिगर करने के लिए CloudWatch इवेंट को सक्षम कर सकते हैं।
बस! आप अपने नाम में ट्विलियो सैंडबॉक्स नाम बदल सकते हैं और यहां तक ​​कि ट्विलियो डैशबोर्ड के उत्तरों का जवाब भी दे सकते हैं। आप वास्तव में पसंदीदा बच्चे हैं।




एक टिप्पणी भेजें

0 टिप्पणियाँ