مازیار لرستانی: راهنمای گام به گام برای ساخت یک ربات تلگرام
می خوای یه ربات تلگرام بسازی و ازش برای انجام کارهای مختلف مثل ارسال پیام خودکار پاسخگویی به سوالات یا مدیریت گروه استفاده کنی؟ اما از کجا شروع کنی؟ نگران نباش! این مقاله یه راهنمای گام به گام بهت ارائه می ده که با دنبال کردنش می تونی به راحتی یه ربات تلگرام بسازی حتی اگه هیچ تجربه برنامه نویسی نداری.
قدم اول: انتخاب زبان برنامه نویسی
اولین قدم انتخاب زبانی هست که میخوای باهاش کد رباتتو بنویسی. چند تا زبان مختلف وجود داره که می تونی ازشون استفاده کنی:
- Python: یکی از محبوب ترین زبان های برنامه نویسی به خاطر سادگی و انعطاف پذیریش. کتابخانه هایی مثل telethon و python-telegram-bot بهت کمک می کنن تا به راحتی با API تلگرام تعامل داشته باشی.
- Node.js: یه پلتفرم جاوا اسکریپت برای ساخت برنامه های سرور ساید. telegram-node یکی از کتابخانه هایی هست که می تونی برای ساخت ربات ازش استفاده کنی.
- PHP: یکی از زبان های محبوب وب کتابخانه های Telegram Bot API و PHP Telegram Bot بهت کمک می کنن تا با API تلگرام ارتباط برقرار کنی.
با توجه به نیازت و تجربه برنامه نویسیت یکی از این زبان ها رو انتخاب کن. اگه تازه شروع کردی Python گزینه مناسبی هست.
قدم دوم: ثبت ربات در تلگرام
برای شروع باید یه ربات در تلگرام بسازی. برای این کار به @BotFather در تلگرام پیام بده. @BotFather یه ربات تلگرام هست که بهت کمک می کنه تا ربات خودت رو بسازی. با ارسال دستور /newbot به @BotFather ازت میخواد اسم و username رباتتو وارد کنی. نام رباتتو به هر چیزی که دوست داری بذار ولی username ربات باید منحصربفرد باشه و با bot تموم بشه. بعد از انتخاب اسم و username @BotFather یه توکن API بهت میده که برای ارتباط با رباتت ازش استفاده می کنی. این توکن API مثل رمز عبور رباتت هست پس حتما اون رو در جای امن ذخیره کن.
قدم سوم: ساخت framework ربات
بعد از انتخاب زبان و گرفتن توکن API نوبت به ساخت framework رباتت می رسه. framework اساس کد رباتتو تشکیل میده و وظایف مختلفی مثل دریافت update از تلگرام پردازش update و ارسال response به API تلگرام رو انجام میده.
در اینجا یه مثال از framework یک ربات Python رو با کتابخانه python-telegram-bot
مشاهده می کنید:
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters
# توکن API رباتتون رو اینجا وارد کنید
TOKEN = YOUR_BOT_TOKEN
# تابع start که وقتی کاربر /start رو تایپ میکنه اجرا میشه
def start(update, context):
update.message.reply_text(سلام! من ربات ... هستم! )
# تابع echo که پیام کاربر رو بازگشت میده
def echo(update, context):
update.message.reply_text(update.message.text)
# تعریف updater و dispatcher
updater = Updater(TOKEN, use_context=True)
dispatcher = updater.dispatcher
# اضافه کردن handler برای command /start
dispatcher.add_handler(CommandHandler('start', start))
# اضافه کردن handler برای پیام
dispatcher.add_handler(MessageHandler(Filters.text & ~Filters.command, echo))
# شروع loop برای شنیدن update ها
updater.start_polling()
# خاتمه loop
updater.idle()
در این framework اول توکن API رباتتون رو وارد متغیر TOKEN
میکنید. بعد تابع start
رو تعریف می کنید که وقتی کاربر /start رو تایپ میکنه اجرا میشه. تابع echo
هم پیام کاربر رو بازگشت میده. در نهایت با استفاده از Updater
و Dispatcher
handler ها رو اضافه میکنید و loop رو شروع میکنید تا update ها رو دریافت کنید.
قدم چهارم: تعریف handler ها
handler ها وظیفه پردازش update ها رو بر عهده دارن. هر handler برای یک نوع update مشخص تعریف میشه مثل command ها پیام ها یا event های دیگر.
مثلا در framework قبلی handler ها برای command /start و پیام ها تعریف شده بودن. میتونید handler هایی برای کارهای دیگه هم تعریف کنید مثل :
- ارسال پیام خودکار: برای ارسال پیام خودکار میتونید از
MessageHandler
وFilters
برای شناسایی update ها استفاده کنید. - جواب به command ها: با استفاده از
CommandHandler
میتونید handler هایی برای command های مختلف تعریف کنید. - پاسخ به پیام های خاص: با استفاده از
MessageHandler
وFilters
میتونید پیام هایی رو که کلمات کلیدی خاصی دارن شناسایی کنید و بهشون جواب بدید.
قدم پنجم: اضافه کردن قابلیت های جدید
بعد از ساخت framework و تعریف handler ها می تونید قابلیت های جدیدی رو به رباتتون اضافه کنید. با استفاده از API تلگرام میتونید با رباتتون کارهای زیادی انجام بدید مثل:
- ارسال پیام: رباتتون میتونه با استفاده از
send_message
send_photo
send_video
و … پیام عکس فیلم و … رو برای کاربر ارسال کنید. - دریافت update : رباتتون میتونه با استفاده از
update.message
update.channel_post
و … update های مختلف رو دریافت کنید. - مدیریت گروه ها: رباتتون میتونه با استفاده از
get_chat_members
kick_chat_member
ban_chat_member
و … اعضا گروه ها رو مدیریت کنید. - ارسال notification : رباتتون میتونه با استفاده از
send_notification
notification هایی رو برای کاربر ارسال کنید. - انجام task ها: با استفاده از API تلگرام میتونید task هایی مثل جستجو در گوگل چک کردن وضع هوا و … رو به رباتتون اضافه کنید.
نکات مهم در ساخت ربات تلگرام
- توکن API رو در جای امن ذخیره کنید.
- کد رباتتون رو قبل از اجرا کردن به طور مناسب تست کنید.
- از کلاس
Update
برای دریافت update ها استفاده کنید. - handler های مختلف رو برای پردازش update ها تعریف کنید.
- از API تلگرام برای اضافه کردن قابلیت های جدید استفاده کنید.
جدول خلاصه توابع API تلگرام
تابع | توضیحات |
---|---|
send_message | برای ارسال پیام |
send_photo | برای ارسال عکس |
send_video | برای ارسال فیلم |
get_chat_members | برای دریافت لیست اعضا گروه |
kick_chat_member | برای اخراج عضو از گروه |
ban_chat_member | برای مسدود کردن عضو |
send_notification | برای ارسال اعلان |
نتیجه گیری
ساخت ربات تلگرام کار سختی نیست. با دنبال کردن این راهنما میتونید به راحتی یک ربات تلگرام بسازید و ازش برای انجام کارهای مختلف استفاده کنید.
پرسش و پاسخ
1. من چه زبان برنامه نویسی رو انتخاب کنم؟
بهتره با Python شروع کنید چون کتابخانه های مناسبی برای ساخت ربات تلگرام با Python وجود داره و این زبان برای شروع کار آسان تره.
2. من توکن API ربات رو گم کردم چطور می تونم اون رو بازیابی کنم؟
برای بازیابی توکن API به @BotFather در تلگرام پیام بدید و با ارسال دستور **/mybots** لیست ربات های خودتون رو مشاهده کنید. با انتخاب ربات مورد نظر توکن API رو مشاهده میکنید.
3. من چطور می تونم ربات رو برنامه ریزی کنم تا در زمان های خاص پیام ارسال کنه؟
برای برنامه ریزی ربات می تونید از کتابخانه های اضافی مثل `schedule` در Python استفاده کنید. این کتابخانه به شما اجازه میده تا task هایی رو در زمان های خاص برنامه ریزی کنید.