THN डिस्कॉर्ड बॉट

प्रोजेक्ट का गिटहब रेपो

प्रोफ़ाइल

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

The Hacker News (THN) एक साइबर सुरक्षा समाचार साइट है। अब, THN Hacker News नहीं है। “The Hacker News” नाम “Hacker News” के बहुत समान होने के बारे में कुछ विवाद हुआ है, जो एक बहुत लोकप्रिय और प्रसिद्ध सामाजिक समाचार वेबसाइट है जो तकनीकी उद्यमिता पर केंद्रित है। लेकिन, एक ऐसा व्यक्ति जो हमेशा The Hacker News का उपयोग करता है, मैं मानता हूं कि The Hacker News साइबर सुरक्षा समाचार प्राप्त करने के लिए एक अच्छा स्रोत है।

इस प्रोजेक्ट पर काम करते समय, मुझे एक चुनौती का सामना करना पड़ा, जो THN से समाचार निकालने का तरीका ढूंढना था। उपलब्ध एकमात्र विकल्प था या तो ट्विटर API का उपयोग करना या THN को वेब स्क्रैप करना। मैंने ट्विटर API को काम करने की कोशिश करने में कुछ समय बिताया लेकिन हार मान ली क्योंकि ट्विटर ने अपने API को सेटअप और उपयोग करना वास्तव में कठिन बना दिया। इसलिए मैंने इसके बजाय THN को वेब स्क्रैप करने का निर्णय लिया। चूंकि कोडबेस पायथन में लिखा जाने वाला था, मैंने वेब स्क्रैपिंग के लिए requests और beautifulsoup4 का उपयोग किया।

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

एक फीचर जो हमने “फिल्टर” फीचर के रूप में जोड़ा। यह फीचर THN लेखों को “एप्पल-न्यूज़”, “गूगल-न्यूज़”, “लिनक्स-न्यूज़” और/या “माइक्रोसॉफ्ट-न्यूज़” के आधार पर क्रमबद्ध करेगा। यह उन प्रकार के समाचारों को उनके अपने चैनलों में क्रमबद्ध करेगा। एक “सभी” चैनल भी था जिसमें सभी लेख शामिल थे लेकिन हमें लगा कि यह फीचर अच्छा है क्योंकि यह प्रकारों को कुछ हद तक क्रमबद्ध करता है और इसे बनाना इतना चुनौतीपूर्ण नहीं था।

इन सभी को जानते हुए, यह डिस्कॉर्ड बॉट के काम करने का एक सामान्य विचार है:

  1. हर 1 घंटे में, यह THN को स्क्रैप करेगा और एक लेख के बारे में मुख्य जानकारी निकालेगा। इस जानकारी में शामिल था: शीर्षक, विवरण, तिथि, और लेख का URL।
  2. फिर बॉट अपने सर्वर में संदेश इतिहास की जांच करेगा यह देखने के लिए कि उसने जो लेख स्क्रैप किए हैं वे नए हैं या नहीं। यह सुनिश्चित करता है कि बॉट पहले से पोस्ट किए गए लेखों को फिर से पोस्ट नहीं करता।
  3. यह नए लेखों को निश्चित विषयों द्वारा फ़िल्टर करेगा, जैसा कि ऊपर बताया गया है।
  4. सभी लेखों को एकत्रित और फ़िल्टर करने के बाद, बॉट फिर प्रत्येक लेख का URL अपने डिस्कॉर्ड सर्वर में और संबंधित चैनलों में पोस्ट करेगा।
  5. इसके बाद, बॉट एक और घंटे का इंतजार करता है ताकि फिर से वही कदम दोहराए जा सकें।

सभी मिलाकर, डिस्कॉर्ड बॉट पूरी तरह से पायथन में लिखा गया था और निम्नलिखित 3rd पार्टी पैकेजों का उपयोग किया: beautifulsoup4, requests, discord.py, और python-dotenv। इसके अलावा, डिस्कॉर्ड बॉट मेरे रास्पबेरी पाई 3 B+ पर होस्ट किया गया था जो 32 बिट रास्पबेरी पाई OS लाइट चला रहा था। हम बॉट को इस तरह चलाते थे:

# बैकग्राउंड में बॉट चलाएं
python3 bot.py &

जब हमने बॉट और सर्वर को सेटअप कर लिया, तो हमने अपने प्रोजेक्ट को सभी दोस्तों और सहपाठियों के साथ साझा किया। एक सप्ताह में हमें लगभग 25 लोग सर्वर में शामिल होने के लिए मिले।

लेकिन कुछ महीनों बाद, हमने देखा कि लोग वास्तव में सर्वर का उपयोग नहीं कर रहे थे और उनमें से अधिकांश या तो सर्वर छोड़ चुके थे या सर्वर में सभी चैनलों को म्यूट कर चुके थे। इसका मुख्य कारण यह था कि अधिकांश उपयोगकर्ता अधिक व्यक्तिगत और कस्टम फ़िल्टर विकल्प चाहते थे और उनमें से अधिकांश को साइबर सुरक्षा की इतनी परवाह नहीं थी।

इसलिए, हमने डिस्कॉर्ड सर्वर को बंद करने का निर्णय लिया। यह प्रोजेक्ट फरवरी 2022 से मई 2022 तक चला, आधिकारिक रूप से 25 मई 2022 को बंद हुआ। इस दिन, हमने बॉट को रोक दिया, डिस्कॉर्ड सर्वर को हटा दिया, इस प्रोजेक्ट के लिए बनाए गए डिस्कॉर्ड बॉट खाते को हटा दिया, और कोड को पूरी तरह से ओपन सोर्स बना दिया। आप कोड यहाँ देख सकते हैं: https://github.com/MehmetMHY/thn-discord-bot

सभी मिलाकर। यह एक मजेदार प्रोजेक्ट था और हमने बहुत कुछ सीखा। इसके अलावा, उस समय हमें यह नहीं पता था, लेकिन यह प्रोजेक्ट हमारे अब तक के सबसे बड़े प्रोजेक्ट: Notify-Cyber के लिए प्रारंभिक शुरुआत/संस्करण था।