ساخت یک ربات تلگرام میتواند راهی عالی برای اتوماسیون وظایف، تعامل با کاربران یا حتی ساخت بازیهای ساده باشد. پایتون به دلیل سادگی و وجود کتابخانههای قدرتمند، یکی از محبوبترین زبانها برای توسعه رباتهای تلگرام است. در این مقاله، نحوه ساخت یک ربات پایه با استفاده از کتابخانه
۱. دریافت توکن ربات از BotFather
قبل از هر کاری، شما نیاز به یک توکن (API Key) برای ربات خود دارید. این توکن هویت ربات شما را در تلگرام مشخص میکند.
۲. راهاندازی محیط توسعه
برای شروع، نیاز به پایتون و کتابخانه
استفاده از
۳. نوشتن کد اولین ربات
یک فایل پایتون (مثلاً
۴. توضیح کد
*
*
*
*
*
*
*
*
*
۵. اجرای ربات
فایل
پس از اجرای اسکریپت، ربات شما شروع به کار میکند. به تلگرام بروید، ربات خود را جستجو کنید (با نام کاربری که برای
برای متوقف کردن ربات، کافی است
این یک شروع ساده برای ساخت رباتهای تلگرام است. کتابخانه
python-telegram-bot را بررسی میکنیم.۱. دریافت توکن ربات از BotFather
قبل از هر کاری، شما نیاز به یک توکن (API Key) برای ربات خود دارید. این توکن هویت ربات شما را در تلگرام مشخص میکند.
- وارد تلگرام شوید و
BotFather@را جستجو کنید. - گفتگو با
BotFather@را شروع کنید و دستور/newbotرا ارسال کنید. - یک نام برای ربات خود انتخاب کنید (مثلاً:
MyAwesomeBot). - یک نام کاربری برای ربات انتخاب کنید که حتماً با
_botبه پایان برسد (مثلاً:MyAwesomeBot_bot). BotFatherبه شما یک توکن API میدهد. این توکن را در جایی امن نگهداری کنید؛ این کلید دسترسی به ربات شماست.
۲. راهاندازی محیط توسعه
برای شروع، نیاز به پایتون و کتابخانه
python-telegram-bot دارید.- نصب پایتون: اگر پایتون را ندارید، آن را از
برای دیدن لینک ها باید ثبت نام کنیددانلود و نصب کنید.
- نصب کتابخانه
python-telegram-bot: ترمینال یا Command Prompt را باز کنید و دستور زیر را اجرا کنید:
کد:
محتوای بلوک کدها در دسترس شما نیست. برای مشاهده بلوک کدها، وارد انجمن شوید یاثبت نام کنید
--pre برای اطمینان از نصب آخرین نسخه (که ممکن است شامل ویژگیهای جدید باشد) توصیه میشود.۳. نوشتن کد اولین ربات
یک فایل پایتون (مثلاً
my_first_bot.py) ایجاد کنید و کد زیر را در آن قرار دهید. فراموش نکنید YOUR_BOT_TOKEN را با توکن واقعی که از BotFather گرفتید، جایگزین کنید.
Python:
محتوای بلوک کدها در دسترس شما نیست. برای مشاهده بلوک کدها، وارد انجمن شوید یاثبت نام کنید
۴. توضیح کد
importها: ماژولهای لازم ازtelegramوtelegram.extرا وارد میکنیم.loggingبرای مشاهده وضعیت ربات در کنسول استفاده میشود.logging.basicConfig: این خط برای راهاندازی سیستم ثبت وقایع پایتون است تا بتوانید خروجیهای ربات را در ترمینال ببینید.async def start(...): این یک تابع ناهمگام (asynchronous) است که به دستور/startپاسخ میدهد.
update: شامل تمام اطلاعات مربوط به بروزرسانی (مانند پیام کاربر، اطلاعات کاربر و...) است.*
context: شامل اطلاعات مربوط به ربات و وضعیت آن است.*
update.effective_user: اطلاعات کاربری که پیام را ارسال کرده است را برمیگرداند.*
update.message.reply_html(...): یک پیام به کاربر ارسال میکند. reply_html به شما اجازه میدهد از تگهای HTML برای فرمتدهی متن استفاده کنید.async def echo(...): این تابع برای نمایش قابلیتecho(بازتاب) است. هر پیامی که کاربر ارسال کند (و دستور نباشد)، ربات عیناً همان را برمیگرداند.
update.message.reply_text(update.message.text): محتوای پیام کاربر را دریافت کرده و آن را به عنوان پاسخ ارسال میکند.def main():: این تابع اصلی است که ربات را راهاندازی میکند.
TOKEN = "YOUR_BOT_TOKEN": توکن ربات خود را اینجا قرار دهید.*
application = Application.builder().token(TOKEN).build(): یک نمونه از Application ایجاد میکند که هسته اصلی ربات شماست.*
application.add_handler(CommandHandler("start", start)): یک CommandHandler اضافه میکند. این هندلر به ربات میگوید که وقتی کاربر دستور /start را ارسال کرد، تابع start را اجرا کند.*
application.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, echo)): یک MessageHandler اضافه میکند. این هندلر به تمام پیامهای متنی که *دستور* نیستند، پاسخ میدهد و تابع echo را اجرا میکند.*
filters.TEXT: فقط پیامهای متنی را فیلتر میکند.*
~filters.COMMAND: پیامهایی که دستور (مانند /start) هستند را فیلتر نمیکند (به عبارت دیگر، نادیده میگیرد).*
application.run_polling(allowed_updates=Update.ALL_TYPES): این خط ربات را شروع میکند. run_polling به ربات میگوید که به صورت مداوم از سرورهای تلگرام برای دریافت بروزرسانیهای جدید (پیامها، دستورات و...) درخواست کند. allowed_updates=Update.ALL_TYPES به ربات اجازه میدهد همه انواع بروزرسانی را دریافت کند.if __name__ == "__main__":: این تضمین میکند که تابعmain()فقط زمانی اجرا شود که اسکریپت به طور مستقیم اجرا میشود، نه زمانی که به عنوان یک ماژول وارد میشود.
۵. اجرای ربات
فایل
my_first_bot.py را ذخیره کنید. سپس ترمینال را باز کنید، به دایرکتوری که فایل را ذخیره کردهاید بروید و دستور زیر را اجرا کنید:
Bash:
محتوای بلوک کدها در دسترس شما نیست. برای مشاهده بلوک کدها، وارد انجمن شوید یاثبت نام کنید
پس از اجرای اسکریپت، ربات شما شروع به کار میکند. به تلگرام بروید، ربات خود را جستجو کنید (با نام کاربری که برای
BotFather تعیین کردید) و گفتگو را شروع کنید. دستور /start را ارسال کنید تا پاسخ ربات را ببینید. همچنین میتوانید پیامهای متنی دیگری ارسال کنید تا قابلیت echo را آزمایش کنید.برای متوقف کردن ربات، کافی است
Ctrl+C را در ترمینال فشار دهید.این یک شروع ساده برای ساخت رباتهای تلگرام است. کتابخانه
python-telegram-bot قابلیتهای بسیار بیشتری مانند کیبوردهای سفارشی، کیبوردهای درونخطی، مدیریت وضعیت کاربر و ارسال انواع محتوا را ارائه میدهد که میتوانید در آینده به آنها بپردازید.