1 Востаннє редагувалося Jarko (02.04.2022 14:08:09)

Тема: Підкажіть будь ласка як розрогорнути Python (Flask) проєкт

Доброго дня!

На сьогодні постало питання як задеплоїти мій пет-проєкт на Flask, Python скрипти для обробки даних до нього і Telegram bot, що працюватиме з цими з даними.
Сам веб-додаток можу захостити на Pythonanywhere (як демо, "git pull" з GH) чи дешевший shared Linux hosting (cPanel+підкидати оновлення у .zip, розглядаю як постійний хостинг).

Але)

Хочу попрости допомоги шановного товариства щодо того:
1. як/де задеплоїти Python скрипти, що будуть регулярно отримувати від певного API (JSON формат), обробляти та надсилати дані на сервер з Falsk-додатком (JSON формат)?
2. як/де задеплоїти Telegram bot, який я планую ще написати?

Зазначу що з Linux тільки почав знайомство, базово працюю з Git. Щось чув за cron, grep, ssh, але поки самостійно ще не можу зв'язати все до купи) Тому буду вдячний за підказки, джерела (можна англ), або напрямок що можуть допомогти.

2

Re: Підкажіть будь ласка як розрогорнути Python (Flask) проєкт

GPT-4 написав:

Для вирішення вашої проблеми вам потрібно знайти хостинг-платформу, яка підтримує виконання Python-скриптів та інтеграцію з Telegram Bot API. Рекомендую розглянути наступні кроки:

Задеплоїти Python-скрипти:
Ви можете використати Pythonanywhere або інший хостинг, який підтримує Python, для запуску ваших скриптів. Для запуску регулярних задач використовуйте cron (на Linux-системах) або аналогічний планувальник на інших платформах.

Відредагуйте файл crontab за допомогою команди crontab -e і додайте рядок у такому форматі:

*/15 * * * * /path/to/your/python /path/to/your/script.py

Цей рядок запускатиме ваш Python-скрипт кожні 15 хвилин. Замініть /path/to/your/python та /path/to/your/script.py на відповідні шляхи до вашого інтерпретатора Python та скрипту.

Задеплоїти Telegram Bot:
Щоб задеплоїти Telegram Bot, вам потрібно спершу створити його за допомогою BotFather у Telegram, а потім використовувати створений токен для інтеграції з вашим кодом на Python. Ви можете задеплоїти Telegram Bot на тій же платформі, що і ваш Flask-додаток та Python-скрипти.

Приклад реалізації Telegram Bot на Python з використанням бібліотеки python-telegram-bot:

Встановіть бібліотеку:

pip install python-telegram-bot

Створіть файл bot.py із наступним кодом, замінивши YOUR_TELEGRAM_TOKEN на токен, отриманий від BotFather:

from telegram import Update
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackContext

def start(update: Update, context: CallbackContext):
    update.message.reply_text("Вітаю! Я ваш Telegram Bot!")

def echo(update: Update, context: CallbackContext):
    update.message.reply_text(update.message.text)

def main():
    updater = Updater("YOUR_TELEGRAM_TOKEN", use_context=True)
    dp = updater.dispatcher

    dp.add_handler(CommandHandler("start", start))
    dp.add_handler(MessageHandler(Filters.text & ~Filters.command, echo))

    updater.start_polling()
    updater.idle()

if __name__ == '__main__':
    main()

Після додавання токена вашого бота, замість YOUR_TELEGRAM_TOKEN, ви можете запустити цей код, і ваш бот почне працювати.