Привет, некоторые возможно знали о UptimeRobot, некоторые нет. Но сегодня я расскажу, как поставить телеграмм бота на временный, бесплатный хостинг.
Для того, что - бы нам создать бесплатный хостинг, нам нужен сайт Replit.
1. Регистрируемся и создаем новый проект.
Кнопка создания нового проекта
Нажимаем Create Repl.
Обязательно выбираем стандарный Python. Даем ему название и нажимаем на Create Repl.
Обратите внимание на 2 строчку from background import keep_alive. background будет принимать запросы от сервиса мониторинга и использоваться для поддержания работоспособности скрипта на ReplIt.
Обязательно напишите эту строчку в начале скрипта. И на предпоследней строчке скрипта напишите keep_alive(показано на скрине)
2. Создаем файл background.py куда прописываем следующий скрипт:
from flask import Flask
from flask import request
from threading import Thread
import time
import requests
app = Flask('')
@app.route('/')
def home():
return "Hello World"
def run():
app.run(host='0.0.0.0', port=80)
def keep_alive():
t = Thread(target=run)
t.start()
Flask - модуль на python для разработки веб-приложений. Мы создадим "шаблон" сервера, в котором только одна страница, необходимая для нашей задачи.
Дело в том, что в бесплатном режиме запущенный скрипт на Replit будет остановлен спустя некоторое время (10-30 мин) после закрытия вкладки браузера. Однако, если к веб-серверу был сделан запрос, таймер сбрасывается и скрипт продолжает работать.
Важно, что сервер запускается в файле не напрямую, а в отдельном потоке t = Thread(target=run). Это обеспечит возможность одновременной работы Flask-сервера и телеграм-бота.
После запуска в верхнем правом углу появилась ссылка (она потребуется чуть позже) по которой можно увидеть результат работы Flask-сервера (в нашем случае сообщение Hello World).
3. Заходим на сайт UptimeRobot
Регистрируемся, и нажимаем Add New Monitor
Выбираем HTTP и заполняем поля.
В разделе URL вставляем ссылку которую дал Flask сервер в Replite. Показывать не буду там легко. И нажимаем Create Monitor и готово, возвращаемся в ReplIt. В консоле сервера видим входящие обращения от службы мониторинга.
Для того, что - бы нам создать бесплатный хостинг, нам нужен сайт Replit.
1. Регистрируемся и создаем новый проект.
Кнопка создания нового проекта
Нажимаем Create Repl.
Обязательно выбираем стандарный Python. Даем ему название и нажимаем на Create Repl.
Обратите внимание на 2 строчку from background import keep_alive. background будет принимать запросы от сервиса мониторинга и использоваться для поддержания работоспособности скрипта на ReplIt.
Обязательно напишите эту строчку в начале скрипта. И на предпоследней строчке скрипта напишите keep_alive(показано на скрине)
2. Создаем файл background.py куда прописываем следующий скрипт:
from flask import Flask
from flask import request
from threading import Thread
import time
import requests
app = Flask('')
@app.route('/')
def home():
return "Hello World"
def run():
app.run(host='0.0.0.0', port=80)
def keep_alive():
t = Thread(target=run)
t.start()
Flask - модуль на python для разработки веб-приложений. Мы создадим "шаблон" сервера, в котором только одна страница, необходимая для нашей задачи.
Дело в том, что в бесплатном режиме запущенный скрипт на Replit будет остановлен спустя некоторое время (10-30 мин) после закрытия вкладки браузера. Однако, если к веб-серверу был сделан запрос, таймер сбрасывается и скрипт продолжает работать.
Важно, что сервер запускается в файле не напрямую, а в отдельном потоке t = Thread(target=run). Это обеспечит возможность одновременной работы Flask-сервера и телеграм-бота.
После запуска в верхнем правом углу появилась ссылка (она потребуется чуть позже) по которой можно увидеть результат работы Flask-сервера (в нашем случае сообщение Hello World).
3. Заходим на сайт UptimeRobot
Регистрируемся, и нажимаем Add New Monitor
Выбираем HTTP и заполняем поля.
В разделе URL вставляем ссылку которую дал Flask сервер в Replite. Показывать не буду там легко. И нажимаем Create Monitor и готово, возвращаемся в ReplIt. В консоле сервера видим входящие обращения от службы мониторинга.