أول بوت محادثة لك بلغة C#: من الفكرة إلى مساعد يعمل بكفاءة
\n\nهل سبق لك أن أردت إنشاء مساعد ذكي خاص بك؟ ليس ذلك البوت الذي يرد فقط بـ "مرحبًا"، بل بوت حقيقي يمكنه طلب بيتزا، تذكيرك بموعد، أو إدارة محادثة جماعية. الخبر الجيد: لا تحتاج لأن تكون خبيرًا في تعلم الآلة. يكفي أن تعرف لغة C# ولديك بضع أمسيات فراغ.
\n\nفي هذا المقال، سنشرح كيفية كتابة بوت محادثة بلغة C# من الصفر. لا سحر — فقط كود مفهوم، بنية صحيحة، ونصائح عملية. ستتعلم كيفية الاتصال بـ Telegram Bot API، معالجة الأوامر، وبناء حوارات تفاعلية. هيا بنا!
\n\nلماذا لغة C# مثالية لبوتات المحادثة؟
\n\nيعتقد الكثيرون أن البوتات تُكتب فقط بلغة Python أو JavaScript. لكن C# أداة قوية وغير مقدرة حقًا لهذه المهمة. إليك الأسباب:
\n\n- \n
- الكتابة القوية (Strong Typing) — تكتشف الأخطاء أثناء الترجمة، وليس في بيئة الإنتاج. \n
- Async/await — يجب أن يعالج البوت آلاف الطلبات في وقت واحد. C# تتعامل مع هذا بكفاءة عالية. \n
- منظومة .NET البيئية — مكتبات جاهزة لـ Telegram وDiscord وSlack وحتى البروتوكولات الخاصة. \n
- الأداء العالي — .NET Core / .NET 8 يعمل بسرعة ويستهلك ذاكرة قليلة. \n
إذا كنت تكتب بلغة C# بالفعل، فأنت في منتصف الطريق لإنشاء بوت محادثة احترافي. وإن لم تكن كذلك، فهذه فرصة رائعة للبدء.
\n\nتخطيط البنية: حتى لا يتعطل البوت في اليوم الأول
\n\nقبل كتابة الكود، دعنا نفكر في كيفية تنظيم بوت المحادثة بلغة C#. البنية السيئة هي سبب 90% من المشاكل. الخبر الجيد: لبوت بسيط، يكفي ثلاثة مكونات:
\n\n- \n
- عميل API — يتواصل مع تطبيق المراسلة (Telegram، VK، Discord). \n
- معالج الأوامر — يحلل الرسائل ويقرر ما يجب فعله. \n
- المنطق — الوظائف نفسها: البحث، الحسابات، الاستعلامات من قاعدة البيانات. \n
سنستخدم نمط Chain of Responsibility (سلسلة المسؤوليات) لمعالجة الأوامر. هذا مرن وسهل التوسيع. إضافة أمر جديد يستغرق 5 دقائق فقط.
\n\nالتحضير: ما تحتاج لتثبيته
\n\nللعمل، سنحتاج إلى:
\n- \n
- .NET SDK 8.0 أو أحدث — حمّله من الموقع الرسمي. \n
- أي بيئة تطوير: Visual Studio، Rider أو VS Code. \n
- حساب في Telegram (للاختبار). \n
أنشئ مشروعًا جديدًا:
\ndotnet new console -n MyTelegramBot\ncd MyTelegramBot\ndotnet add package Telegram.Bot\n\nمكتبة Telegram.Bot هي الأكثر شيوعًا للغة C#. وهي تغطي كامل API Telegram ويتم صيانتها بنشاط.
\n\nالحصول على توكن البوت
\n\nادخل إلى Telegram، وابحث عن @BotFather ونفّذ الأمر /newbot. اتبع التعليمات. في النهاية ستحصل على توكن — سلسلة سرية تبدو كالتالي:
1234567890:ABCdefGHIjklmNOPqrstUVwxyz-1234567\n\nهام: لا تنشر التوكن أبدًا في مكان عام. استخدم متغيرات البيئة أو ملفات الإعدادات.
\n\nكتابة الكود: الاتصال بـ Telegram
\n\nلنبدأ بأبسط شيء — بوت يرد بـ "مرحبًا!" على أي رسالة.
\n\nusing Telegram.Bot;\nusing Telegram.Bot.Types;\nusing Telegram.Bot.Polling;\n\nvar botClient = new TelegramBotClient("التوكن_الخاص_بك");\n\nusing var cts = new CancellationTokenSource();\n\nvar receiverOptions = new ReceiverOptions\n{\n AllowedUpdates = { } // استقبال جميع أنواع التحديثات\n};\n\nbotClient.StartReceiving(\n updateHandler: HandleUpdateAsync,\n pollingErrorHandler: HandlePollingErrorAsync,\n receiverOptions: receiverOptions,\n cancellationToken: cts.Token\n);\n\nConsole.WriteLine("تم تشغيل البوت. اضغط أي مفتاح للإيقاف.");\nConsole.ReadKey