بوتات المحادثة بلغة C#: بناء مساعد ذكي من الصفر

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

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

ابدأ الدورة

أول بوت محادثة لك بلغة 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
\n\n

إذا كنت تكتب بلغة C# بالفعل، فأنت في منتصف الطريق لإنشاء بوت محادثة احترافي. وإن لم تكن كذلك، فهذه فرصة رائعة للبدء.

\n\n

تخطيط البنية: حتى لا يتعطل البوت في اليوم الأول

\n\n

قبل كتابة الكود، دعنا نفكر في كيفية تنظيم بوت المحادثة بلغة C#. البنية السيئة هي سبب 90% من المشاكل. الخبر الجيد: لبوت بسيط، يكفي ثلاثة مكونات:

\n\n
    \n
  • عميل API — يتواصل مع تطبيق المراسلة (Telegram، VK، Discord).
  • \n
  • معالج الأوامر — يحلل الرسائل ويقرر ما يجب فعله.
  • \n
  • المنطق — الوظائف نفسها: البحث، الحسابات، الاستعلامات من قاعدة البيانات.
  • \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
\n\n

أنشئ مشروعًا جديدًا:

\n
dotnet 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. اتبع التعليمات. في النهاية ستحصل على توكن — سلسلة سرية تبدو كالتالي:

\n
1234567890:ABCdefGHIjklmNOPqrstUVwxyz-1234567
\n\n

هام: لا تنشر التوكن أبدًا في مكان عام. استخدم متغيرات البيئة أو ملفات الإعدادات.

\n\n

كتابة الكود: الاتصال بـ Telegram

\n\n

لنبدأ بأبسط شيء — بوت يرد بـ "مرحبًا!" على أي رسالة.

\n\n
using 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                

المدونات

توصيات الكتب