بوت تيليجرام بلغة Kotlin: إنشاء من الصفر في ساعة

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

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

ابدأ الدورة

لماذا Kotlin هي اللغة المثالية لبوت تيليجرام؟

\n

هل تساءلت يومًا لماذا استحوذت Kotlin بسرعة على قلوب المطورين؟ الأمر هو أن هذه اللغة تجمع بين إيجاز Python وقوة Java، ولكنها تخلو من عيوبهما. عندما يتعلق الأمر بإنشاء بوت تيليجرام بلغة Kotlin، فإنك لا تحصل على مجرد حل عملي، بل على كود أنيق وعالي الأداء وسهل الصيانة.

\n

تخيل: أنت تكتب بوتًا يعالج آلاف الطلبات في الثانية، ويعمل دون أعطال، ومع ذلك فإن الكود يشغل نصف عدد الأسطر مقارنة بـ Java. يبدو وكأنه حلم؟ في الواقع، إنه واقع. بوت تيليجرام بلغة Kotlin ليس فقط عصريًا، بل عملي أيضًا. خاصة إذا كنت على دراية بالفعل ببيئة JVM أو تريد تجربة شيء جديد بعد Python.

\n

في هذا الدليل، سنقوم خطوة بخطوة بإنشاء بوت كامل: من التسجيل في BotFather إلى النشر على الخادم. ستتعلم كيفية معالجة الأوامر، والعمل مع لوحات المفاتيح، وحتى إرسال الملفات. هيا بنا!

\n\n

الخطوة 1: إعداد البيئة وتسجيل البوت

\n

قبل كتابة الكود، نحتاج إلى الحصول على رمز مميز (token) - مفتاح الوصول إلى Telegram API. يتم ذلك من خلال البوت الرسمي BotFather. ستستغرق العملية أقل من دقيقة.

\n
    \n
  • افتح تيليجرام وابحث عن @BotFather.
  • \n
  • أرسل الأمر /newbot.
  • \n
  • اختر اسمًا (مثل MyKotlinBot) واسم مستخدم ينتهي بـ bot (مثل MyKotlinBot).
  • \n
  • احفظ الرمز المميز الذي حصلت عليه - ستحتاجه للاتصال.
  • \n
\n

الآن لنقم بإعداد المشروع. أوصي باستخدام IntelliJ IDEA Community Edition (فهي مجانية وتعمل بشكل رائع مع Kotlin). أنشئ مشروع Gradle جديدًا باستخدام Kotlin DSL.

\n\n

إضافة التبعيات

\n

للعمل مع Telegram API، سنستخدم مكتبة TelegramBots - وهي المعيار الفعلي في عالم Kotlin وJava. افتح ملف build.gradle.kts وأضف:

\n
dependencies {\n    implementation("org.telegram:telegrambots:6.9.7.1")\n    implementation("org.telegram:telegrambotsextensions:6.9.7.1")\n    implementation("ch.qos.logback:logback-classic:1.5.6")\n}
\n

المكتبة الأولى هي النواة، والثانية هي إضافات مفيدة (مثل معالجة الأوامر)، والثالثة هي التسجيل لرؤية الأخطاء.

\n\n

الخطوة 2: كتابة أول بوت بلغة Kotlin

\n

أنشئ كلاس MyBot يرث من TelegramLongPollingBot. هذه هي أبسط طريقة: سيقوم البوت باستقصاء خادم تيليجرام بنفسه بحثًا عن رسائل جديدة.

\n
import org.telegram.telegrambots.bots.TelegramLongPollingBot\nimport org.telegram.telegrambots.meta.api.objects.Update\n\nclass MyBot : TelegramLongPollingBot() {\n\n    override fun getBotUsername(): String = "MyKotlinBot" // اسم المستخدم الخاص بك\n\n    override fun getBotToken(): String = "رمزك_المميز_هنا" // الرمز المميز من BotFather\n\n    override fun onUpdateReceived(update: Update?) {\n        // مجرد عنصر نائب في الوقت الحالي\n        if (update?.hasMessage() == true && update.message.hasText()) {\n            println("تم استلام رسالة: ${update.message.text}")\n        }\n    }\n}
\n

الآن نحتاج إلى تشغيل البوت. أنشئ ملف Main.kt مع نقطة الدخول:

\n
import org.telegram.telegrambots.meta.TelegramBotsApi\nimport org.telegram.telegrambots.updatesreceivers.DefaultBotSession\n\nfun main() {\n    val botsApi = TelegramBotsApi(DefaultBotSession::class.java)\n    botsApi.registerBot(MyBot())\n    println("تم تشغيل البوت!")\n}
\n

قم بتشغيله - وأول بوت تيليجرام لك بلغة Kotlin أصبح حيًا بالفعل! في الوقت الحالي، هو فقط يطبع الرسائل في وحدة التحكم، لكن هذه مجرد البداية.

\n\n

الخطوة 3: معالجة الأوامر وإرسال الردود

\n

مجرد قراءة الرسائل أمر ممل. دعنا نعلم البوت كيفية الرد على الأوامر. للقيام بذلك، سنستخدم التعليق التوضيحي @BotCommand من الإضافات، لكن أولاً سنعيد كتابة الكلاس ليجعله يرث

المدونات

توصيات الكتب