C# Telegram बॉट के लिए एक बेहतरीन विकल्प क्यों है?
\n\nअगर आप अब तक सोचते थे कि Telegram-बॉट केवल Python या JavaScript में लिखे जाते हैं, तो हैरान होने के लिए तैयार रहें। C# अपनी सख्त टाइपिंग, विशाल इकोसिस्टम और गति के साथ बॉट बनाने के लिए एक वास्तविक "हैवीवेट" है। कल्पना करें: आप एक बार कोड लिखते हैं, और बॉट बिना किसी रुकावट के वर्षों तक काम करता है, प्रति सेकंड हजारों संदेशों को प्रोसेस करता है। आकर्षक लगता है, है ना?
\n\nइस गाइड में हम C# में Telegram बॉट को शुरू से बनाएंगे। आप सीखेंगे कि BotFather पर बॉट कैसे रजिस्टर करें, Telegram.Bot लाइब्रेरी को कैसे कनेक्ट करें और कमांड हैंडलिंग के साथ कार्यशील कोड कैसे लिखें। कोई बेकार की बात नहीं - केवल अभ्यास और वास्तविक उदाहरण।
हमें क्या चाहिए?
\n\nशुरू करने से पहले सुनिश्चित करें कि आपके पास है:
\n- \n
- .NET SDK (संस्करण 6.0 या नया) - आधिकारिक साइट से डाउनलोड करें; \n
- Visual Studio या VS Code (कोई भी IDE जहाँ आप सहज महसूस करते हैं); \n
- Telegram में खाता - इसके बिना काम नहीं चलेगा; \n
- 5 मिनट का खाली समय - बाकी C# करेगा। \n
तैयार हैं? चलिए शुरू करते हैं!
\n\nचरण 1. BotFather के माध्यम से बॉट टोकन प्राप्त करें
\n\nकोड लिखने से पहले, बॉट को "जन्म" देना होगा। Telegram खोलें और @BotFather खोजें - यह Telegram में बॉट का मुख्य "निर्माता" है।
\n\n- \n
- कमांड
/newbotलिखें। \n - बॉट का नाम सोचें (उदाहरण के लिए, MyFirstCSharpBot)। \n
- यूज़रनेम सोचें (अनिवार्य रूप से bot पर समाप्त होना चाहिए, जैसे MyFirstCSharpBot)। \n
- टोकन प्राप्त करें -
123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11जैसी लंबी स्ट्रिंग। \n
महत्वपूर्ण: टोकन आपके बॉट तक पहुंच की कुंजी है। इसे किसी को न दिखाएं और खुले कोड में प्रकाशित न करें। इसे appsettings.json या एनवायरनमेंट वेरिएबल्स में स्टोर करना बेहतर है।
चरण 2. प्रोजेक्ट बनाएं और लाइब्रेरी इंस्टॉल करें
\n\nटर्मिनल खोलें और कमांड चलाएं:
\n\ndotnet new console -n TelegramBotCSharp\ncd TelegramBotCSharp\ndotnet add package Telegram.Bot\n\nहम Telegram.Bot लाइब्रेरी का उपयोग कर रहे हैं - यह C# पर Telegram API के साथ काम करने के लिए सबसे लोकप्रिय और समर्थित लाइब्रेरी है। यह सारा "गंदा काम" अपने हाथ में ले लेती है: सर्वर से कनेक्शन, अपडेट प्रोसेसिंग, संदेश भेजना।
\n\nइंस्टॉलेशन के बाद Program.cs फ़ाइल खोलें - यहाँ हम जादू लिखेंगे।
चरण 3. बॉट का बेसिक कोड लिखें
\n\nसबसे सरल से शुरू करते हैं: बॉट /start और /help कमांड का जवाब देगा। यहाँ न्यूनतम कार्यशील कोड है:
using Telegram.Bot;\nusing Telegram.Bot.Exceptions;\nusing Telegram.Bot.Polling;\nusing Telegram.Bot.Types;\nusing Telegram.Bot.Types.Enums;\n\nvar botClient = new TelegramBotClient("आपका_टोकन_यहाँ");\n\nusing var cts = new CancellationTokenSource();\n\nvar receiverOptions = new ReceiverOptions\n{\n AllowedUpdates = Array.Empty<UpdateType>() // सभी प्रकार के अपडेट प्राप्त करें\n};\n\nbotClient.StartReceiving(\n updateHandler: HandleUpdateAsync,\n pollingErrorHandler: HandlePollingErrorAsync,\n receiverOptions: receiverOptions,\n cancellationToken: cts.Token\n);\n\nConsole.WriteLine("बॉट शुरू हो गया है! रोकने के लिए Enter दबाएं।");\nConsole.ReadLine();\ncts.Cancel();\n\nasync Task HandleUpdateAsync(ITelegramBotClient botClient, Update update, CancellationToken cancellationToken)\n{\n if (update.Message is not { } message)\n return;\n if (message.Text is not { } messageText)\n return;\n\n var chatId = message.Chat.Id;\n Console.WriteLine($"चैट {chatId} से '{messageText}' संदेश प्राप्त हुआ");\n\n if (messageText == "/start")\n {\n await botClient.SendTextMessageAsync(\n chatId: chatId,\n text: "नमस्ते! मैं C# में लिखा गया एक Telegram बॉट हूँ। मदद के लिए /help टाइप करें।"\n );\n }\n else if (messageText == "/help")\n {\n await botClient.SendTextMessageAsync(\n chatId: chatId,\n text: "उपलब्ध कमांड:\\n/start - बॉट शुरू करें\\n/help - मदद"\n );\n }\n else\n {\n await botClient.SendTextMessageAsync(\n chatId: chatId,\n text: $"आपने लिखा: {messageText}\\nमैं अभी केवल /start और /help कमांड समझता हूँ।"\n );\n }\n}\n\nTask HandlePollingErrorAsync(ITelegramBotClient botClient, Exception exception, CancellationToken cancellationToken)\n{\n var errorMessage = exception switch\n {\n ApiRequestException apiRequestException\n => $"Telegram API त्रुटि:\\n[{apiRequestException.ErrorCode}]\\n{apiRequestException.Message}",\n _ => exception.ToString()\n };\n\n Console.WriteLine(errorMessage);\n return Task.CompletedTask;\n}\n\nकोड को समझना:
\n- \n
- TelegramBotClient — मुख्य वर्ग जो Telegram API के साथ काम करता है; \n
- StartReceiving — अपडेट प्राप्त करना शुरू करता है (हमारे बॉट को संदेश); \n
- HandleUpdateAsync — प्रत्येक नए संदेश को प्रोसेस करता है; \n
- HandlePollingErrorAsync — त्रुटियों को हैंडल करता है (अगर कुछ गलत होता है तो बॉट क्रैश नहीं होगा)। \n
अपना टोकन डालें और प्रोजेक्ट चलाएं:
\n\ndotnet run\n\nTelegram पर अपना बॉट खोजें और /start लिखें। बॉट को जवाब देना चाहिए! अगर कुछ काम नहीं करता है, तो जांचें कि टोकन सही है और BotFather में बॉट शुरू किया गया है।
निष्कर्ष
\n\nबधाई हो! आपने अभी-अभी C# में अपना पहला Telegram बॉट बनाया है। यह केवल शुरुआत है। अब आप कर सकते हैं:
\n- \n
- कीबोर्ड बटन जोड़ें (
ReplyKeyboardMarkup); \n - चित्र और फ़ाइलें भेजना सीखें; \n
- डेटाबेस कनेक्ट करें (उदाहरण के लिए, SQLite); \n
- बॉट को ASP.NET Core पर वेबहुक पर डिप्लॉय करें। \n
C# में Telegram बॉट बनाना सिर्फ एक शौक नहीं है, बल्कि एक पेशेवर कौशल है जो नौकरी या अपना प्रोजेक्ट खोलने में मदद कर सकता है। मुख्य बात शुरू करना है, और C# बाकी संभाल लेगा।
\n\nअगर आपको गाइड पसंद आया, तो इसे दोस्तों के साथ साझा करें और टिप्पणियों में लिखें कि आप अगली बार क्या सीखना चाहेंगे। हैप्पी कोडिंग!