بوت تيليجرام بلغة Swift: دليل خطوة بخطوة للشجعان
\n\nمرحبًا أيها المطور! إذا كنت تعتقد أن بوتات تيليجرام تُكتب فقط بلغة Python أو JavaScript — لدي خبر لك. لغة Swift، التي تحبها كثيرًا لأناقتها وأدائها، مناسبة تمامًا لتطوير الخوادم. نعم، نفس لغة Swift التي تكتب بها تطبيقات iOS يمكنها العمل على الواجهة الخلفية أيضًا. في هذا الدليل، سننشئ بوت تيليجرام بلغة Swift من الصفر باستخدام Vapor — إطار عمل ويب قوي. سيرد البوت على الأوامر، ويعالج الرسائل، بل ويرسل الصور أيضًا. هيا بنا!
\n\nلماذا Swift لبوت تيليجرام؟ تحطيم الصور النمطية
\n\nقبل أن نغوص في الكود، دعنا نفهم لماذا نكتب بوتًا بلغة Swift. أولاً، إذا كنت مطور iOS، فأنت تعرف اللغة بالفعل. لست بحاجة لتعلم Python أو JS من الصفر. ثانيًا، Swift يوفر أمان الأنواع والسرعة. سيعمل البوت بسرعة وبدون مفاجآت. ثالثًا، نظام Vapor البيئي يسمح بالتكامل بسهولة مع قواعد البيانات، وإرسال الإشعارات، وحتى تحليل JSON. ونعم، Telegram Bot API يعمل بشكل ممتاز مع Swift. المهم هو إعداد البيئة بشكل صحيح.
\n\nالخطوة 1: إعداد البيئة
\n\nسنحتاج إلى Xcode (الإصدار 14 على الأقل)، Homebrew، وVapor. إذا كان لديك Xcode بالفعل — رائع. إذا لم يكن — قم بتنزيله من Mac App Store. الآن لنقم بتثبيت Vapor:
\n\nbrew install vapor\n\nبعد التثبيت، تحقق من الإصدار:
\n\nvapor --version\n\nهل ترى رقم الإصدار؟ ممتاز. الآن لننشئ مشروعًا جديدًا:
\n\nvapor new TelegramBotSwift --template web\ncd TelegramBotSwift\n\nالعلامة --template web ستنشئ هيكل تطبيق خادم. إذا كنت تريد الحد الأدنى — استخدم --template api. سنسلك طريق تطبيق الويب للحصول على مرونة أكبر.
الخطوة 2: ربط Telegram Bot API
\n\nللعمل مع تيليجرام، سنحتاج إلى مكتبة. هناك عدة خيارات: TelegramBotSDK من Vapor، SwiftTelegramBot، أو طلبات HTTP الخام. أوصي بـ TelegramBotSDK — فهو مستقر وموثق جيدًا. لنضفه إلى Package.swift:
// swift-tools-version:5.9\nimport PackageDescription\n\nlet package = Package(\n name: "TelegramBotSwift",\n platforms: [.macOS(.v12)],\n dependencies: [\n .package(url: "https://github.com/vapor/vapor.git", from: "4.0.0"),\n .package(url: "https://github.com/vapor/telegram-bot-sdk.git", from: "2.0.0")\n ],\n targets: [\n .executableTarget(\n name: "App",\n dependencies: [\n .product(name: "Vapor", package: "vapor"),\n .product(name: "TelegramBotSDK", package: "telegram-bot-sdk")\n ]\n )\n ]\n)\n\nالآن لنحصل على رمز (توكن) البوت. افتح تيليجرام، ابحث عن BotFather، اكتب /newbot، واتبع التعليمات. احفظ الرمز — ستحتاجه بعد دقيقة.
الخطوة 3: كتابة أول بوت بلغة Swift
\n\nافتح ملف Sources/App/configure.swift. هذه هي نقطة الدخول. لنكتب هيكلًا أساسيًا:
import Vapor\nimport TelegramBotSDK\n\npublic func configure(_ app: Application) throws {\n // الحصول على الرمز من متغيرات البيئة\n guard let token = Environment.get("TELEGRAM_BOT_TOKEN") else {\n fatalError("TELEGRAM_BOT_TOKEN غير موجود")\n }\n \n // تهيئة البوت\n let bot = TelegramBot(token: token, app: app)\n \n // معالج الأمر /start\n bot.onCommand("start") { context in\n try await context.sendMessage("مرحبًا! أنا بوت بلغة Swift. كيف يمكنني المساعدة؟")\n }\n \n // معالج الأمر /help\n bot.onCommand("help") { context in\n try await context.sendMessage("الأوامر المتاحة:\\n/start - بدء\\n/help - مساعدة\\n/echo [نص] - تكرار الرسالة")\n }\n \n // معالج الأمر /echo\n