بوت تيليجرام بلغة Go: من الفكرة إلى النشر في 30 دقيقة

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

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

ابدأ الدورة

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

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

في هذه المقالة، سننشئ من الصفر بوتاً بلغة Golang سيرد على الأوامر، ويعالج الرسائل، بل ويعمل مع API خارجي. بدون نظرية زائدة - فقط كود يمكنك تشغيله فوراً.



الخطوة 1: تجهيز البيئة

قبل كتابة بوت تيليجرام بلغة Go، تأكد من تثبيت Go الإصدار 1.20 أو أعلى. يمكنك التحقق باستخدام الأمر:

go version

إذا لم يكن Go مثبتاً - قم بتنزيله من الموقع الرسمي. التثبيت يستغرق دقيقتين.

ستحتاج أيضاً إلى رمز البوت (token). ادخل إلى تيليجرام، ابحث عن BotFather ونفذ الأمر:

/newbot

أدخل اسم البوت واسم المستخدم. بعد الإنشاء، سيرسل BotFather رمز البوت - احفظه، ستحتاجه للاتصال بـ Telegram Bot API.



الخطوة 2: هيكل المشروع

أنشئ مجلد المشروع وقم بتهيئة الوحدة النمطية:

mkdir my-telegram-botcd my-telegram-botgo mod init my-telegram-bot

للعمل مع تيليجرام، سنستخدم مكتبة tgbotapi - وهي أشهر مكتبة Go لتطوير بوتات تيليجرام. قم بتثبيتها:

go get github.com/go-telegram-bot-api/telegram-bot-api/v5

الآن، أنشئ ملف main.go. سيكون الهيكل الأساسي كالتالي:

package main

import ( "log" "os" tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5")

func main() { token := os.Getenv("TELEGRAM_BOT_TOKEN") bot, err := tgbotapi.NewBotAPI(token) if err != nil { log.Panic(err) }

bot.Debug = true log.Printf("تم تشغيل البوت @%s", bot.Self.UserName)

u := tgbotapi.NewUpdate(0) u.Timeout = 60

updates := bot.GetUpdatesChan(u)

for update := range updates { if update.Message != nil { log.Printf("[%s] %s", update.Message.From.UserName, update.Message.Text) msg := tgbotapi.NewMessage(update.Message.Chat.ID, "مرحباً! أنا أعمل بلغة Go!") bot.Send(msg) } }}

قم بتشغيل البوت:

export TELEGRAM_BOT_TOKEN="رمز_البوت_الخاص_بك"go run main.go

اكتب للبوت في تيليجرام - يجب أن يرد. إذا كان كل شيء يعمل، انتقل إلى الخطوة التالية.



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

مجرد الرد بـ "مرحباً" ممل. دعنا نضيف معالجة الأوامر لبوت تيليجرام. سننفذ الأمرين /start و /help:

for update := range updates {    if update.Message != nil {        switch update.Message.Command() {        case "start":            msg := tgbotapi.NewMessage(update.Message.Chat.ID, "مرحباً بك! أنا بوت بلغة Go. استخدم /help لقائمة الأوامر.")            bot.Send(msg)        case "help":            msg := tgbotapi.NewMessage(update.Message.Chat.ID, "الأوامر المتاحة:/start - ترحيب/help - مساعدة/echo - تكرار الرسالة")            bot.Send(msg)        default:            msg := tgbotapi.NewMessage(update.Message.Chat.ID, "أمر غير معروف. استخدم /help")            bot.Send(msg)        }    }}

الآن البوت يستجيب للأوامر. لكن هذه مجرد البداية. القوة الحقيقية لـ بوت Golang تيليجرام تكمن في الأداء عند العمل مع الأحمال الكبيرة.



الخطوة 4: العمل مع API خارجي

دعنا نضيف وظيفة مفيدة

المدونات

توصيات الكتب