Go में टेलीग्राम बॉट: विचार से डिप्लॉय तक 30 मिनट में

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Go टेलीग्राम बॉट के लिए आदर्श भाषा क्यों है

\n

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

\n

इस लेख में हम शुरू से एक Golang बॉट बनाएंगे जो कमांड का जवाब देगा, संदेशों को प्रोसेस करेगा और बाहरी API के साथ भी काम करेगा। अनावश्यक सिद्धांत के बिना - केवल कोड जिसे आप तुरंत चला सकते हैं।

\n\n

चरण 1: एनवायरनमेंट तैयार करना

\n

Go पर टेलीग्राम बॉट लिखने से पहले, सुनिश्चित करें कि आपके पास Go संस्करण 1.20 या उच्चतर स्थापित है। इसे इस कमांड से जांचा जा सकता है:

\n
go version
\n

यदि Go स्थापित नहीं है - तो इसे आधिकारिक वेबसाइट से डाउनलोड करें। इंस्टॉलेशन में 2 मिनट लगते हैं।

\n

आपको एक बॉट टोकन की भी आवश्यकता होगी। Telegram में जाएं, BotFather खोजें और यह कमांड चलाएं:

\n
/newbot
\n

बॉट का नाम और username दर्ज करें। बनने के बाद BotFather एक टोकन भेजेगा - इसे सहेजें, Telegram Bot API से कनेक्ट करने के लिए इसकी आवश्यकता होगी।

\n\n

चरण 2: प्रोजेक्ट संरचना

\n

एक प्रोजेक्ट फ़ोल्डर बनाएं और मॉड्यूल को इनिशियलाइज़ करें:

\n
mkdir my-telegram-bot\ncd my-telegram-bot\ngo mod init my-telegram-bot
\n

Telegram के साथ काम करने के लिए हम tgbotapi लाइब्रेरी का उपयोग करेंगे - यह सबसे लोकप्रिय Go लाइब्रेरी Telegram है। इसे इंस्टॉल करें:

\n
go get github.com/go-telegram-bot-api/telegram-bot-api/v5
\n

अब main.go फ़ाइल बनाएं। मूल संरचना इस प्रकार होगी:

\n
package main\n\nimport (\n    "log"\n    "os"\n    tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5"\n)\n\nfunc main() {\n    token := os.Getenv("TELEGRAM_BOT_TOKEN")\n    bot, err := tgbotapi.NewBotAPI(token)\n    if err != nil {\n        log.Panic(err)\n    }\n\n    bot.Debug = true\n    log.Printf("बॉट @%s चालू हुआ", bot.Self.UserName)\n\n    u := tgbotapi.NewUpdate(0)\n    u.Timeout = 60\n\n    updates := bot.GetUpdatesChan(u)\n\n    for update := range updates {\n        if update.Message != nil {\n            log.Printf("[%s] %s", update.Message.From.UserName, update.Message.Text)\n            msg := tgbotapi.NewMessage(update.Message.Chat.ID, "नमस्ते! मैं Go पर काम कर रहा हूँ!")\n            bot.Send(msg)\n        }\n    }\n}
\n

बॉट चलाएं:

\n
export TELEGRAM_BOT_TOKEN="आपका_टोकन"\ngo run main.go
\n

Telegram में बॉट को लिखें - उसे जवाब देना चाहिए। यदि सब कुछ काम करता है, तो अगले चरण पर जाएं।

\n\n

चरण 3: कमांड प्रोसेसिंग

\n

सिर्फ "नमस्ते" का जवाब देना उबाऊ है। चलिए Telegram बॉट के लिए कमांड प्रोसेसिंग जोड़ते हैं। हम /start और /help कमांड लागू करेंगे:

\n
for update := range updates {\n    if update.Message != nil {\n        switch update.Message.Command() {\n        case "start":\n            msg := tgbotapi.NewMessage(update.Message.Chat.ID, "स्वागत है! मैं Go पर एक बॉट हूँ। कमांड की सूची के लिए /help का उपयोग करें।")\n            bot.Send(msg)\n        case "help":\n            msg := tgbotapi.NewMessage(update.Message.Chat.ID, "उपलब्ध कमांड:\\n/start - अभिवादन\\n/help - सहायता\\n/echo - संदेश दोहराएं")\n            bot.Send(msg)\n        default:\n            msg := tgbotapi.NewMessage(update.Message.Chat.ID, "अज्ञात कमांड। /help का उपयोग करें")\n            bot.Send(msg)\n        }\n    }\n}
\n

अब बॉट कमांड पर प्रतिक्रिया करता है। लेकिन यह सिर्फ शुरुआत है। Golang Telegram बॉट की असली ताकत बड़े लोड के साथ काम करने में इसका प्रदर्शन है।

\n\n

चरण 4: बाहरी API के साथ काम करना

\n

चलिए एक उपयोगी फंक्शन जोड़ते हैं

ब्लॉग

पुस्तक अनुशंसाएँ