ساخت اولین ربات تلگرام با پایتون (قدم به قدم)

اطلاعات موضوع

درباره موضوع در تاریخ, در دسته ربات تلگرام ایجاد شده و آغاز کننده آن Aliمی باشد و موضوع آن: ساخت اولین ربات تلگرام با پایتون (قدم به قدم) است. این موضوع تا کنون 4 بازدید کننده و, 0 پاسخ داشته و 0 بار پسندیده شده...
نام دسته ربات تلگرام
نام موضوع ساخت اولین ربات تلگرام با پایتون (قدم به قدم)
آغاز کننده موضوع Ali
تاریخ شروع
پاسخ‌ها
0
بازدیدها
4
پسندها
0
آخرین ارسال توسط Ali

Ali

مسئول نظارت بر محتوا
پرسنل مدیریت
ناظم انجمن
Jun 7, 2020
954
1,265
ساخت یک ربات تلگرام می‌تواند راهی عالی برای اتوماسیون وظایف، تعامل با کاربران یا حتی ساخت بازی‌های ساده باشد. پایتون به دلیل سادگی و وجود کتابخانه‌های قدرتمند، یکی از محبوب‌ترین زبان‌ها برای توسعه ربات‌های تلگرام است. در این مقاله، نحوه ساخت یک ربات پایه با استفاده از کتابخانه 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 قابلیت‌های بسیار بیشتری مانند کیبوردهای سفارشی، کیبوردهای درون‌خطی، مدیریت وضعیت کاربر و ارسال انواع محتوا را ارائه می‌دهد که می‌توانید در آینده به آن‌ها بپردازید.
 

عقب
بالا