ساخت یک چت بات (Chatbot) با تلگرام و پایتون (بخش دوم) – از صفر تا صد
در بخش قبلی این نوشته «ساخت یک چت بات (Chatbot) با تلگرام و پایتون (بخش اول) --- از صفر تا صد» مراحل مورد نیاز برای طراحی یک چت بات تلگرام در زبان برنامهنویسی پایتون را توضیح دادیم. اما این ربات یک مشکل اساسی داشت و آن این بود که به اجرا شدن سیستم محلی وابسته بود. بنابراین در این بخش با روش انتقال این ربات به روی سرورهای Heroku آشنا میشویم. Heroku یک Paas یعنی «پلتفرم به عنوان سرویس» (Platform as a Service) است. هنگام استفاده از Heroku لازم نیست در مورد مقیاسبندی، توزیع و نگهداری سختافزاری نگران باشیم، چون همه چیز در کلود صورت میگیرد و شما میتوانید صرفاً روی کدهای اپلیکیشن خود متمرکز شوید.
در ادامه به توضیح مراحل توزیع ربات خود روی هروکو میپردازیم. دقت کنید که ما در این راهنما تصور میکنیم که شما به جای ویندوز از لینوکس یا هر چیزی شبیه به آن برای طراحی ربات خود استفاده میکنید.
راهاندازی اولیه
ابتدا باید کد خود را در یک ریپازیتوری محلی قرار دهیم. بنابراین دستور زیر را در ترمینال سیستم خود اجرا کنید:
cd telegram-bot git init
دستور فوق یک ریپازیتوری خالی git با نام telegram-bot ایجاد میکند. اسکریپت خود را درون دایرکتوری telegram-bot قرار دهید. اینک میتوانید اسکریپت خود را با دستور زیر به ریپازیتوری محلی اضافه کنید:
git add. git commit -m "added final bot script"
سپس یک حساب کاربری در وبسایت Heroku ایجاد کرده و با مراجعه به این لینک heroku-cli را نصب کنید. بدین ترتیب مراحل راهاندازی اولیه پایان مییابد.
میزبانی چت بات روی Heroku
ابتدا اطمینان حاصل کنید که در دایرکتوری telegram-bot قرار دارید. سپس دو فایل به نامهای Procfile و requirements.txt ایجاد کنید. این دو فایل از سوی Heroku در فرایند توزیع اپلیکیشن مورد استفاده قرار خواهد گرفت. سپس فایل اول را با نام Procfile ایجاد کنید.
دفت کنید که این فایل Procfile نباید هیچ پسوندی مانند txt. داشته باشد و باید صرفاً دارای نام Procfile باشد. درون فایل Procfile کد زیر را نوشته و آن را ذخیره کنید:
1worker: python <YOUR_SCRIPT_NAME>.py
فایل Procfile پس از ارسال روی Heroku اعلام میکند که ما میخواهیم چه بکنیم. ما در این فایل به Heroku اعلام کردهایم که میخواهیم اسکریپت ربات ما را اجرا کند.
برای ایجاد requirements.txt باید pip را نصب کنیم. اگر pip را روی سیستم خود نصب نکردهاید میتوانید با مراجعه به این صفحه (+) آن را نصب کنید. زمانی که pip نصب شد، در ادامه باید pipreqs را با استفاده از pip روی سیستم نصب کنیم.
pip install pipreqs
پس از آن دستورهای زیر را اجرا کنید:
pwd pipreqs <OUTPUT_OF_PWD>
دستور فوق یک فایل requirements.txt درون دایرکتوری telegram-bot ایجاد میکند. فایل requirements.txt شامل فهرستی از وابستگیهای مورد استفاده از سوی اسکریپت ربات است که توسط Heroku برای نصب آن وابستگیها روی کلود استفاده میشود.
اینک ما با موفقیت آن دو فایل را ایجاد کردهایم و آن را با دستور زیر به ریپازیتوری git خود اضافه میکنیم:
git add Procfile requirements.txt git commit -m "added heroku config files"
مرحله نهایی
ما از heroku-cli استفاده میکنیم که صرفاً برای توزیع ربات ما از ترمینال استفاده میشود. بنابراین مراحل زیر را طی کنید:
heroku login
زمانی که این دستور را اجرا کردید، heroku-cli از شما میخواهد که نام کاربری و رمز عبور حساب Heroku را وارد کنید. این موارد را وارد کرده و سپس دستور زیر را وارد کنید:
heroku create
بدین ترتیب ماشین مجازی لینوکس در ابر Heroku اسکریپت ما را اجرا میکند. Heroku همچنین یک ریپازیتوری git ریموت با نام heroku ایجاد میکند که کد درون آن قرار میگیرد. بنابراین کافی است دستور زیر را وارد کنید:
git push heroku master
تا کد ربات از ماشین محلی به ابر machine منتقل شود. پس از آن هروکو شروع به اجرای مداوم اسکریپت ما میکند.
سخن پایانی
اگر همه موارد مطرح شده در این مقاله را به درستی انجام داده باشید، قادر خواهید بود با ربات گفتگو کنید. تلگرام را در مرورگر خود باز کنید و شروع به گفتگو با آن بکنید. این ربات اینک پاسخ پیامها را میدهد و نیازی هم نیست که هر بار اسکریپت را روی ماشین محلی مجدداً اجرا کنید.
اگر این مطلب برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزش های برنامه نویسی پایتون
- آموزش مقدمه ای در رابطه با یادگیری ماشین با پایتون (Python)
- مجموعه آموزشهای برنامهنویسی
- آموزش ساخت ربات تلگرام با پایتون — از صفر تا صد
- آموزش نحوه نصب و راه اندازی پایتون
- آموزش مهم ترین دستورهای زبان پایتون
==
ترمینال سیستم کجاست؟ من ویندوز دارم