بوت تيليجرام بلغة C#: إنشاؤه من الصفر في 30 دقيقة

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

لماذا تعتبر C# خيارًا ممتازًا لبوت تيليجرام؟

\n\n

إذا كنت لا تزال تعتقد أن بوتات تيليجرام تُكتب فقط بلغة Python أو JavaScript، فاستعد للدهشة. لغة C# مع كتابتها الصارمة للأنواع، ونظامها البيئي الضخم، وسرعة أدائها - هي "وزن ثقيل" حقيقي لإنشاء البوتات. تخيل: تكتب الكود مرة واحدة، ويعمل البوت لسنوات دون أعطال، مع معالجة آلاف الرسائل في الثانية. يبدو الأمر مغريًا، أليس كذلك؟

\n\n

في هذا الدليل، سننشئ بوت تيليجرام بلغة C# من الصفر. ستتعلم كيفية تسجيل البوت لدى BotFather، وتوصيل مكتبة Telegram.Bot، وكتابة كود عملي مع معالجة الأوامر. لا حشو - فقط تطبيق عملي وأمثلة حقيقية.

\n\n

ماذا سنحتاج؟

\n\n

قبل البدء، تأكد من أن لديك:

\n
    \n
  • .NET SDK (الإصدار 6.0 أو أحدث) - يمكن تنزيله من الموقع الرسمي;
  • \n
  • Visual Studio أو VS Code (أي بيئة تطوير متكاملة تشعر فيها بالراحة);
  • \n
  • حساب في تيليجرام - لا يمكن الاستغناء عنه;
  • \n
  • 5 دقائق من الوقت الحر - الباقي ستقوم به C#.
  • \n
\n\n

هل أنت مستعد؟ هيا بنا!

\n\n

الخطوة 1. الحصول على رمز البوت عبر BotFather

\n\n

قبل كتابة الكود، نحتاج إلى "إنشاء" البوت نفسه. افتح تيليجرام وابحث عن @BotFather - هذا هو "صانع البوتات" الرئيسي في تيليجرام.

\n\n
    \n
  1. اكتب الأمر /newbot.
  2. \n
  3. اختر اسمًا للبوت (مثلًا، MyFirstCSharpBot).
  4. \n
  5. اختر اسم مستخدم (يجب أن ينتهي بـ bot، مثلًا MyFirstCSharpBot).
  6. \n
  7. احصل على الرمز - سلسلة طويلة مثل 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11.
  8. \n
\n\n

هام: الرمز هو مفتاح الوصول إلى بوتك. لا تظهره لأي شخص ولا تنشره في الكود المفتوح. من الأفضل تخزينه في appsettings.json أو متغيرات البيئة.

\n\n

الخطوة 2. إنشاء المشروع وتثبيت المكتبة

\n\n

افتح الطرفية ونفذ الأوامر التالية:

\n\n
dotnet new console -n TelegramBotCSharp\ncd TelegramBotCSharp\ndotnet add package Telegram.Bot
\n\n

نستخدم مكتبة Telegram.Bot - وهي المكتبة الأكثر شيوعًا والمدعومة للعمل مع Telegram API بلغة C#. تتولى هذه المكتبة كل "العمل الشاق": الاتصال بالخادم، معالجة التحديثات، إرسال الرسائل.

\n\n

بعد التثبيت، افتح ملف Program.cs - هنا سنكتب السحر.

\n\n

الخطوة 3. كتابة الكود الأساسي للبوت

\n\n

لنبدأ بأبسط شيء: سيرد البوت على الأوامر /start و /help. إليك الكود الأدنى للعمل:

\n\n
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($"تم استلام رسالة '{messageText}' من {chatId}");\n\n    if (messageText == "/start")\n    {\n        await botClient.SendTextMessageAsync(\n            chatId: chatId,\n            text: "                

المدونات

توصيات الكتب