C++ पर Telegram बॉट: साहसी लोगों के लिए चरण-दर-चरण गाइड

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

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

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

C++ में Telegram बॉट क्यों? यह पागलपन नहीं है

\n

जब Telegram बॉट बनाने की बात आती है, तो सबसे पहले Python, Node.js या Go का ख्याल आता है। वे सरल हैं, उनके पास हजारों तैयार लाइब्रेरी और बड़े समुदाय हैं। लेकिन क्या होगा अगर आपके प्रोजेक्ट को अधिकतम प्रदर्शन की आवश्यकता है? या आप एक उच्च-लोड पार्सर लिख रहे हैं? या हो सकता है कि आप सिर्फ C++ के प्रशंसक हों और सब कुछ "हार्डकोर" तरीके से करना चाहते हों?

\n

C++ पर Telegram बॉट लिखना पूरी तरह से संभव कार्य है। हाँ, यह सबसे लोकप्रिय रास्ता नहीं है, लेकिन इसके गंभीर फायदे हैं: गति, कम मेमोरी खपत और हर बाइट पर पूर्ण नियंत्रण। इस गाइड में, हम लाइब्रेरी स्थापित करने से लेकर एक तैयार बॉट तक का सफर तय करेंगे जो कमांड का जवाब देता है और डेटा पार्स करता है। चलिए शुरू करते हैं!

\n\n

हमें क्या चाहिए?

\n

काम करने के लिए हमें आवश्यकता होगी:

\n
    \n
  • C++17/20 कंपाइलर — g++ (Linux/macOS) या MSVC (Windows)।
  • \n
  • CMake — बिल्ड सिस्टम (संस्करण 3.10+)।
  • \n
  • tgbot-cpp लाइब्रेरी — Telegram Bot API के लिए सबसे लोकप्रिय C++ रैपर।
  • \n
  • libcurl — HTTP अनुरोधों के लिए (tgbot-cpp के साथ आता है)।
  • \n
  • nlohmann/json — JSON के साथ काम करने के लिए (निर्भरता में शामिल)।
  • \n
  • बॉट टोकन — इसे Telegram में @BotFather से प्राप्त करें।
  • \n
\n

हम सारा कोड Linux (Ubuntu 22.04) पर लिखेंगे, लेकिन इसे vcpkg या Conan के माध्यम से Windows पर आसानी से अनुकूलित किया जा सकता है।

\n\n

चरण 1: लाइब्रेरी स्थापित करना

\n

पहले निर्भरताएँ स्थापित करें। टर्मिनल में निष्पादित करें:

\n
sudo apt update\nsudo apt install git cmake g++ libcurl4-openssl-dev libssl-dev nlohmann-json3-dev
\n

अब tgbot-cpp को क्लोन और बिल्ड करें:

\n
git clone https://github.com/reo7sp/tgbot-cpp.git\ncd tgbot-cpp\nmkdir build && cd build\ncmake ..\nmake -j4\nsudo make install
\n

यदि सब कुछ सफल रहा, तो लाइब्रेरी सिस्टम में स्थापित हो गई है। इसे कमांड ls /usr/local/include/tgbot/ से जांचा जा सकता है — आपको हेडर फाइलें दिखाई देंगी।

\n\n

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

\n

प्रोजेक्ट के लिए एक फोल्डर बनाएँ:

\n
mkdir my_telegram_bot && cd my_telegram_bot\ntouch main.cpp CMakeLists.txt
\n

CMakeLists.txt में बिल्ड कॉन्फ़िगरेशन लिखें:

\n
cmake_minimum_required(VERSION 3.10)\nproject(MyTelegramBot)\n\nset(CMAKE_CXX_STANDARD 17)\n\nfind_package(TgBot REQUIRED)\nfind_package(OpenSSL REQUIRED)\nfind_package(CURL REQUIRED)\n\nadd_executable(my_bot main.cpp)\ntarget_link_libraries(my_bot TgBot::TgBot OpenSSL::SSL OpenSSL::Crypto CURL::libcurl)
\n

ध्यान दें: हम OpenSSL और libcurl को जोड़ रहे हैं — ये एन्क्रिप्शन और HTTP अनुरोधों के लिए आवश्यक हैं।

\n\n

चरण 3: C++ में बॉट का कोर लिखना

\n

main.cpp खोलें और न्यूनतम संरचना लिखें:

\n
#include <tgbot/tgbot.h>\n#include <iostream>\n\nint main() {\n    // अपने टोकन से बदलें\n    std::string token = "1234567890:ABCdefGHIjklMNOpqrsTUVwxyz";\n\n    TgBot::Bot bot(token);\n\n    // /start कमांड हैंडलर\n    bot.getEvents().onCommand("start", [&bot](TgBot::Message::Ptr message) {\n        bot.getApi().sendMessage(message->chat->id, "नमस्ते! मैं C++ पर एक बॉट हूँ। मैं कैसे मदद कर सकता हूँ?");\n    });\n\n    // किसी भी टेक्स्ट संदेश का हैंडलर\n    bot.getEvents().onAnyMessage([&bot](TgBot::Message::Ptr message) {\n        if (message->text == "/start") return; // डुप्लिकेट को अनदेखा करें\n        bot.getApi().sendMessage(message->chat->id, "आपने लिखा: " + message->text);\n    });\n\n    try {\n        std::cout << "बॉट शुरू हो गया है। संदेशों की प्रतीक्षा कर रहा है..." << std::endl;\n        TgBot::TgLongPoll longPoll(bot);\n        while (true) {\n            longPoll.start();\n        }\n    } catch (TgBot::TgException& e) {\n        std::cerr << "त्रुटि: " << e.what() << std::endl;\n    }\n\n                

ब्लॉग

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