Hướng dẫn tạo telegram bot - Phần 3 chạy telegram bot trên server heroku. Để bot có thể hoạt động mà không tốn tài nguyên máy chúng ta có thể deploy bot lên server để bot chạy nhé.
Các file cần thiết để bot có thể chạy trên Heroku đó là:
- Procfile (File này không có phần mở rộng. Nội dung chỉ là chỉ định file nào là file cần chạy)
- bot.py (File này là bot của chúng ta đã tạo ra từ phần trước, tuy nhiên để cho bot hoạt động ở trên heroku chúng ta cần thay đổi phương thức hoạt động từ polling sang webhook)
- requirements.txt (File này chứa những thứ cần thiết làm môi trường hoạt động như python-telegram-bot==13.8.1)
Đây là ví dụ về bot download tài liệu trên sci-hub: lht99/tele-bot (github.com) các bạn có thể tham khảo.
Chúng ta chỉ cần chỉnh sử một chút file bot.py để cho nó có thể hoạt động trên server được mà thôi. Những thứ khác giữ nguyên nhé.
Bước 1: Mở file bot.py lên và thêm một số khai báo sau:
import osPORT = int(os.environ.get('PORT', '8443'))
Lưu ý: telegram chỉ chấp nhận các port sau: 443, 80, 88, or 8443
Bước 2: Thay đổi updater.start_polling() thành #updater.start_polling() sau đó thêm updater.start_webhook:
updater.start_webhook(listen="0.0.0.0", port=int(PORT), url_path=TOKEN, webhook_url="https://yourheroku.herokuapp.com/" + TOKEN)
Bước 3: Vào Heroku tạo app mới để lấy đường dẫn webhook
Truy cập link này để tạo app mới: https://dashboard.heroku.com/new-app
Sau đó bạn sẽ có link của app có dạng: https://yourheroku.herokuapp.com/
Lấy link và thay thế vào bước 2 là hoàn thành.
Bước 4: Lưu lại file bot.py sau đó Deploy lên Heroku để bot hoạt động nhé :))