इस सुस्त बॉट को बनाएं और अपने चैनल को मित्रतापूर्ण माहौल दें।

अपने चैनल में नए उपयोगकर्ताओं का स्वागत करना उन्हें घर जैसा महसूस कराता है, लेकिन शामिल होने वाले प्रत्येक उपयोगकर्ता पर नज़र रखना एक थकाऊ काम हो सकता है। यहीं पर एक सुस्त स्वागत करने वाला बॉट आता है। बॉट प्रत्येक नए चैनल उपयोगकर्ता को एक व्यक्तिगत स्वागत संदेश भेजता है। यह हमेशा ऑनलाइन होता है इसलिए देर से आने वाले स्वागत संदेश नहीं होंगे।

आप सीखेंगे कि अपने बॉट के क्रेडेंशियल कैसे सेट करें, स्लैक में ईवेंट कैसे सुनें और उपयोगकर्ताओं को वापस संदेश कैसे भेजें।

स्लैक बॉट बनाना और इसका एपीआई टोकन प्राप्त करना

एक बनाने के सुस्त खाता या अपने मौजूदा में लॉग इन करें। फिर एक बनाएँ नया सुस्त कार्यक्षेत्र अपने बॉट को अपने सक्रिय कार्यक्षेत्र में स्थापित करने से पहले उसका परीक्षण करने के लिए।

अपने नए कार्यक्षेत्र में प्रवेश करें। स्लैक स्वचालित रूप से आपके लिए एक यादृच्छिक और सामान्य चैनल बनाता है।

कार्यक्षेत्र के नीचे बाईं ओर स्थित ऐप अनुभाग पर ध्यान दें। जब आप इसे बनाएंगे तो यहीं पर हमारा बॉट दिखाई देगा। पर नेविगेट करें सुस्त एपीआई वेबसाइट.

पर क्लिक करें एक ऐप बनाएं. ऐप बनाएं शुरूुआत से दिखाई देने वाली खिड़की में।

अपने ऐप को नाम दें और उस कार्यक्षेत्र का चयन करें जिसमें आप इसे विकसित करना चाहते हैं।

इसके बाद पर क्लिक करें ऐप बनाएं बटन। क्लिक करने से आप अपने ऐप की मूलभूत जानकारी वाले पृष्ठ पर रीडायरेक्ट हो जाएंगे। ऐप क्रेडेंशियल्स के तहत साइनिंग सीक्रेट पर ध्यान दें। आपका बॉट साइनिंग सीक्रेट का उपयोग यह सत्यापित करने के लिए करेगा कि एक घटना स्लैक से आई है और प्रसारण के दौरान छेड़छाड़ नहीं की गई थी।

OAuth और अनुमतियां सुविधा पर जाएं.

OAuth और अनुमतियों के अंतर्गत, Bot Token Scopes पर नेविगेट करें। यह वह जगह है जहां आप अनुमतियां जोड़ेंगे कि आपका बॉट आपके कार्यक्षेत्र में क्या कर सकता है। जोड़ें उपयोगकर्ता: पढ़ें दायरा। यह दायरा आपके बॉट को आपके कार्यक्षेत्र में लोगों को देखने की अनुमति देगा। साथ ही, जोड़ें चैट: लिखो कार्यक्षेत्र जो आपके बॉट को कार्यक्षेत्र में संदेश भेजने की अनुमति देगा।

अपने बॉट की बुनियादी जानकारी पर वापस नेविगेट करें और क्लिक करें कार्यक्षेत्र में स्थापित करें.

दिखाई देने वाले अगले पृष्ठ पर अनुमति दें क्लिक करें। अब आपने बॉट को अपने कार्यक्षेत्र में स्थापित कर लिया है। OAuth और अनुमतियां सुविधा पर नेविगेट करें. बॉट उपयोगकर्ता OAuth टोकन पर ध्यान दें, जो स्थापना के बाद स्लैक उत्पन्न करता है। बॉट आपके वर्कस्पेस के ऐप सेक्शन में दिखाई देगा।

अब आपने बॉट को अपने कार्यक्षेत्र में स्थापित कर लिया है, आप इसे नियंत्रित करने के लिए कोड लिख सकते हैं।

अपना पर्यावरण तैयार करना

से परिचित होने की आवश्यकता है पायथन की मूल बातें इन कोड नमूने का पालन करने के लिए।

एक नया आभासी वातावरण बनाएँ और ए .env फ़ाइल। आप अपने टोकन और हस्ताक्षर को गुप्त रखने के लिए .env फ़ाइल का उपयोग करेंगे, जिसे आपको निजी रखने की आवश्यकता है। आपको .env फ़ाइल को किसी सार्वजनिक प्लेटफ़ॉर्म पर अपलोड नहीं करना चाहिए।

आवश्यक पुस्तकालयों को स्थापित करने के लिए टर्मिनल में निम्नलिखित कमांड चलाएँ:

पिप स्लैक-एसडीके पाथलिब डोटेनव फ्लास्क स्लैकवेंट्सएपी स्थापित करें

स्लैक-एसडीके लाइब्रेरी आपको एपीआई विधियों, वेब एपीआई क्लाइंट और ओएथ सहित स्लैक ऐप्स और एकीकरण के निर्माण के लिए उपकरण प्रदान करेगी। पाथलिब और डॉटनव आपको पर्यावरण चर लोड करने में मदद करेंगे। फ्लास्क HTTP अनुरोधों और प्रतिक्रियाओं को संभालने में आपकी सहायता करेगा। slackeventsapi आपको एक ईवेंट श्रोता प्रदान करेगा जो Slack से ईवेंट प्राप्त करता है और उन्हें प्रबंधित करता है।

पूर्ण स्रोत कोड a में उपलब्ध है गिटहब रिपॉजिटरी.

आवश्यक पुस्तकालयों का आयात करना

एक नई पायथन फ़ाइल बनाएँ, और आपके द्वारा पहले स्थापित पुस्तकालयों को आयात करके शुरू करें, ताकि आप अपने कोड में उनकी कार्यक्षमता का उपयोग कर सकें।

आयात slack_sdk जैसा ढीला
आयात ओएस
से pathlib आयात पथ
से dotenv आयात load_dotenv
से फ्लास्क आयात फ्लास्क
से slakeventsapi आयात स्लैकइवेंट एडेप्टर

पायथन का ओएस मॉड्यूल भाषा के साथ आता है, इसलिए आपको इसे इंस्टॉल करने की आवश्यकता नहीं है। SlackEventAdapter slackeventsapi मॉड्यूल का एक वर्ग है जो Slack API से ईवेंट को हैंडल करता है।

स्लैक बॉट की स्थापना

.env फ़ाइल में दो चर बनाएँ। एक को SLACK_BOT_TOKEN नाम दें और उसे बॉट उपयोगकर्ता OAuth टोकन असाइन करें। दूसरे को SLACK_SIGNING_SECRET नाम दें और इसे हस्ताक्षर करने का रहस्य असाइन करें। पायथन फाइल पर वापस जाएं और फ्लास्क ऑब्जेक्ट बनाएं। फिर dotenv मॉड्यूल से load_dotenv फ़ंक्शन का उपयोग करके .env फ़ाइल से पर्यावरण चर लोड करें।

ऐप = फ्लास्क (__name__)
env_path = पथ ('.') / '.env'
load_dotenv (dotenv_path=env_path)

एक slack_event_adapter उदाहरण बनाएँ। यह अनुरोधों को प्रमाणित करने के लिए SLACK_SIGNING_SECRET पर्यावरण चर का उपयोग करके स्लैक एपीआई से घटनाओं को संभालेगा।

slack_event_adapter = SlackEventAdapter (os.environ['SLACK_SIGNING_SECRET'],
'/सुस्त/घटनाएँ', अनुप्रयोग)

/slack/events वह समापन बिंदु है जिसका उपयोग Slack API ईवेंट भेजने के लिए करेगा।

एक वेबक्लाइंट उदाहरण बनाएँ जो स्लैक एपीआई को संदेश भेजेगा। बॉट की आईडी प्राप्त करने के लिए एपीआई कॉल करें।

ग्राहक = सुस्त। वेबक्लाइंट (टोकन=os.environ['SLACK_BOT_TOKEN'])
BOT_ID = क्लाइंट.एपीआई_कॉल ("प्रामाणिक परीक्षण")['उपयोगकर्ता पहचान']

वह संदेश सेट करें जिसे आप चैनल से जुड़ने वाले नए उपयोगकर्ताओं को भेजेंगे। एक खाली सेट प्रारंभ करें जो स्वागत किए गए उपयोगकर्ताओं का ट्रैक रखेगा।

GREETING_MESSAGE = "नमस्ते {user_name}, {channel_name} में आपका स्वागत है " \
"चैनल! हम आपको यहां पाकर उत्साहित हैं।"
वेलकम_यूजर्स = सेट ()

आप ग्रीटिंग को अपनी पसंद के हिसाब से कस्टमाइज कर सकते हैं।

"मेंबर जॉइन्ड चैनल" इवेंट को हैंडल करने के लिए एक फंक्शन बनाना

एक ईवेंट श्रोता सेट करें। यह Member_joined_channel इवेंट को सुनेगा।

@slack_event_adapter.on('member_joined_channel')

एक फ़ंक्शन को परिभाषित करें जिसे आप तब कॉल करेंगे जब कोई उपयोगकर्ता किसी चैनल से जुड़ता है। इवेंट डेटा से यूजर आईडी और चैनल आईडी निकालने के लिए फ़ंक्शन का उपयोग करें। जांचें कि क्या उपयोगकर्ता चैनल के लिए नया है। यदि नहीं, तो WebClient वर्ग का उपयोग करके उपयोगकर्ता और चैनल की जानकारी प्राप्त करें। एक व्यक्तिगत ग्रीटिंग संदेश बनाएँ। चैनल को शुभकामनाएं भेजें

डीईएफ़हैंडल_मेंबर_जॉइन_चैनल(event_data):
user_id = event_data['आयोजन']['उपयोगकर्ता']
चैनल_आईडी = इवेंट_डेटा ['आयोजन']['चैनल']

# यदि उपयोगकर्ता नया है तो केवल एक स्वागत संदेश भेजें
अगर उपयोगकर्ता पहचान नहींमें स्वागत_उपयोगकर्ता:
वेलकम_यूजर्स.ऐड (यूजर_आईडी)

user_info = client.users_info (उपयोगकर्ता = user_id)
उपयोगकर्ता_नाम = उपयोगकर्ता_जानकारी ['उपयोगकर्ता']['नाम']

channel_info = client.conversations_info (चैनल = channel_id)
चैनल_नाम = चैनल_जानकारी ['चैनल']['नाम']

अभिवादन = GREETING_MESSAGE.format (user_name=user_name,
चैनल_नाम = चैनल_नाम)

client.chat_postMessage (चैनल=चैनल_आईडी, टेक्स्ट=ग्रीटिंग)

Event_data में उस घटना के बारे में सारी जानकारी होती है जिसमें एक उपयोगकर्ता चैनल में शामिल हुआ है।

फ्लास्क ऐप शुरू करें और स्क्रिप्ट चलाएं। यदि मुख्य प्रोग्राम के रूप में चलाया जाता है (मॉड्यूल के रूप में आयात नहीं किया जाता है), डिबग मोड में चलाएं और पोर्ट 5000 पर सुनें।

अगर __नाम__ == "__मुख्य__":
app.run (डीबग =सत्य, बंदरगाह =5000)

जब आप कोड में परिवर्तन करते हैं तो डिबग मोड स्वचालित रूप से एप्लिकेशन को पुनः लोड करता है। उत्पादन वातावरण में डिबग मोड का उपयोग न करें, यह संवेदनशील जानकारी को उजागर कर सकता है और आपके एप्लिकेशन को हमलों के प्रति संवेदनशील बना सकता है। अपना ऐप चलाएं। यह पोर्ट 5000 पर एक स्थानीय सर्वर के रूप में चलेगा।

तर्क को अपने बॉट से जोड़ना

तर्क तैयार करने के बाद, अब आपको अपने कार्यक्षेत्र में बॉट से जुड़ने की आवश्यकता है। यह इसे आपके कार्यक्षेत्र में संचालन करने के लिए इस तर्क का उपयोग करने में सक्षम करेगा। डाउनलोड करके और चलाकर प्रारंभ करें नग्रोक. Ngrok आपको अपने स्थानीय वेब सर्वर को इंटरनेट पर प्रदर्शित करने में मदद करेगा।

इसे चलाने के बाद, अपने स्थानीय सर्वर के पते को Ngrok के पते पर मैप करने के लिए निम्न कमांड का उपयोग करें।

एनग्रोक http 500

उस Ngrok पते को कॉपी करें जो आपके स्थानीय होस्ट को मैप करता है।

स्लैक एपीआई वेबसाइट पर नेविगेट करें। नीचे घटना सदस्यताएँ सुविधा, घटनाओं को सक्षम करें। अंतर्गत अनुरोध यूआरएल उसके बाद Ngrok पता दर्ज करें /slack/events. यह आपके समापन बिंदु की ओर इशारा करेगा।

फिर Member_joined_channel इवेंट को सब्सक्राइब करें। जब भी कोई उपयोगकर्ता किसी चैनल से जुड़ता है तो यह आपके बॉट को हर बार सूचित करेगा। पर क्लिक करें परिवर्तनों को सुरक्षित करें. स्लैक स्वचालित रूप से उन कार्यक्षेत्रों को जोड़ देगा जिनकी आपको इस घटना की सदस्यता लेने के लिए आवश्यकता होगी। हर बार जब आप कोई दायरा बदलते हैं, तो आपको कार्यक्षेत्र में अपना ऐप फिर से इंस्टॉल करना होगा।

अपने ऐप को पुनर्स्थापित करें पर क्लिक करें।

अपने बॉट का परीक्षण

अपने कार्यक्षेत्र में जाएं। उस चैनल पर जाएं जिसे आप बॉट का उपयोग करना चाहते हैं। बॉट को सीधा संदेश भेजें। उदाहरण के लिए @ वेलकमिंग बॉट। बॉट को चैनल में जोड़ने का संकेत पॉप अप होगा। जोड़ें पर क्लिक करें।

अब, जब भी कोई नया उपयोगकर्ता चैनल से जुड़ता है तो बॉट एक स्वागत संदेश भेजेगा।

ऊपर दी गई छवि बॉट को चैनल में एक नए उपयोगकर्ता का स्वागत करते हुए दिखाती है।

अपने सुस्त कार्यक्षेत्र का अधिकतम लाभ उठाना

स्लैक मैसेजिंग प्लेटफॉर्म की कार्यक्षमता बढ़ाने के लिए स्लैक बॉट एकमात्र तरीका नहीं है। दूसरा तरीका तीसरे पक्ष के टूल को स्लैक के साथ एकीकृत करना है। वे प्लेटफॉर्म के भीतर अतिरिक्त कार्यक्षमता प्रदान करते हैं।

इन एकीकरणों से खुद को परिचित कराएं क्योंकि ये Slack में आपकी उत्पादकता बढ़ाएंगे।