Где разместить свой телеграмм бот?
Я создал свой телеграмм бот и он работает когда я запущу программу (т.е свой бот) на локальном ПК. И хочу сделать так что с ним можно было работать с другими устройствами везде и всегда.
Отслеживать
задан 30 июл 2021 в 19:21
Suhayli Tuev Suhayli Tuev
25 1 1 серебряный знак 9 9 бронзовых знаков
Не выключайте свой ПК с ботом. Либо ищите хостинги на которых можно будет запускать бота, типа heroku
30 июл 2021 в 19:26
ru.stackoverflow.com/a/1146497/234134 туда же можно добавить Oracle Free вечная бесплатная ВМ с Ubuntu Server (естественно ограничение по ресурсам, но для бота хватит). либо raspberry pi
4 авг 2021 в 21:34
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
Попробуйте Heroku. Можно залить на сервер бесплатно. Сам пользуюсь и вполне устраивает. Вот гайд по Heroku.
Какие есть альтернативы?
- Railway App — Вам выделеятся каждый месяц 5$ и 500 часов работы. Деплоить проекты можно с гитхаба.
- Render — На месяц вам дается уже 750 часов бесплатной работы, деплой через Github
- PythonAnywhere — Прост в использовании, но нельзя подключаться к сторонним сервисам
Отслеживать
187 12 12 бронзовых знаков
ответ дан 31 июл 2021 в 8:19
848 3 3 серебряных знака 12 12 бронзовых знаков
Попробуй тут https://simplecloud.ru/start/34795 Сервер от 150 руб в месяц. Можно эксперементировать с ботами. Да и вообще для начала очень простой хостинг. Доступ к серверу будет по ssh.
Отслеживать
ответ дан 30 июл 2021 в 19:51
Sergei Malanin Sergei Malanin
546 2 2 серебряных знака 12 12 бронзовых знаков
В данный момент стало трудно искать сервера, тк все заблокировано. Насчет Heroku — работает только с vpn и возможно во время оплаты, может быть неполадки. Но есть https://www.pythonanywhere.com/, если тг бот не имеет выхода в сеть, то бесплатная версия будет оптимальной, а так цены там небольшие
Отслеживать
ответ дан 5 янв 2023 в 10:09
user513855 user513855
Highly active question. Earn 10 reputation (not counting the association bonus) in order to answer this question. The reputation requirement helps protect this question from spam and non-answer activity.
- python
- telegram
- telebot
- бот
-
Важное на Мете
Связанные
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.3.2953
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Бесплатный хостинг для Telegram-бота или Discord-бота на Python и не только. Обзор вариантов
Когда у вас небольшой проект (например, телеграмм бот или дискорд бот), платить лишние деньги за хостинг не хочется. Давайте попробуем разобраться, какие есть варианты бесплатного – или условно бесплатного – хостинга для ботов.
Специализированные сервисы для хостинга Телеграмм ботов и Дискорд ботов
- Heroku — облако, идеально подходящее для размещения телеграм-ботов и Discord-ботов. Есть совсем недорогие тарифы (ранее был бесплатный, но его недавно убрали). Единственным препятствием является необходимость оплаты картой иностранного банка.
- Amvera Cloud — российский аналог Heroku. Как и в Heroku, есть возможность развертывать приложения в контейнерах и обновлять их через push в GIT. Кроме того, есть грантовая программа. И при регистрации будет начислен стартовый баланс, которого хватит на несколько недель бесплатного использования.
- Pythonanywhere. Сервис заточен на хостинг проектов на Python. Однако на бесплатном тарифе нельзя использовать pyTelegramApi, что затрудняет развертывание на нем именно Telegram-ботов.
Бесплатные VPS хостинги
Существуют и полностью бесплатные хостинги на основе VPS. Обычно бесплатный тариф подразумевает отсутствие гарантий работоспособности сервиса и поддержки, но если ваш проект не требует безотказной работы, можно рассмотреть и их.
Есть несколько готовых подборок, приведем одну из ранее размещенных на Хабр по ссылке.
Google Cloud Platform. Сервис App Engine
Сервис позволяет развернуть приложения на языках Python, PHP, Go, Ruby, Java, JavaScript(Node.js).
Минус бесплатной версии — закрытая для записи файловая система, что не позволит вашему боту сохранять файлы.
Классическое облако с serverless функционалом
Как правило, крупные облачные провайдеры, такие как Яндекс, Сбер и VK, предлагают стартовую сумму на тестирование их облаков, равную нескольким тысячам рублей.
Недостатком является стоимость минимальной виртуальной машины, которая съедает тестовые деньги за 1-2 месяца.
Но можно воспользоваться serverless сервисами и запустить бота в виде функции. При небольшом трафике и принятии холодных стартов, можно получить бесплатный или, во всяком случае, недорогой хостинг.
Итого
Мы рассмотрели несколько вариантов хостинга Telegram-ботов и Дискорд-ботов. Все бесплатные тарифы провайдеров обладают существенными ограничениями, но решение найти можно. Альтернативным способом является использование полноценных решений в рамках промо-тарифов, а также технологии serverless облачных провайдеров.
- бесплатный хостинг для бота
- хостинг для бота дискорд
- хостинг для ботов telegram
- хостинг бота discord
- хостинг для телеграмм бота
- хостинг для телеграм бота
- лучшие хостинг для ботов
- дешевый хостинг для ботов
- хостинг телеграмм бота
- хостинг python бота
- Блог компании Amvera
- Хостинг
Как разместить телеграм бота на сервере. Хостим бота через Push в GIT
В этой статье мы рассмотрим, как развернуть телеграм бота на python в облаке. В качестве облака будем использовать облачный провайдер Amvera. Для хостинга вашего проекта вы можете выбрать любого другого провайдера с возможностью деплоя через push в GIT. Данная статья написана скорее как инструкция для пользователей Amvera.
Пишем телеграм бота
На хабре и других ресурсах можно найти много туториалов, как писать телеграм ботов, начиная от простых и заканчивая сложными, поэтому не будем сильно углубляться в этот вопрос. Возьмем готовый пример эхо бота от создателя библиотеки для работы с телеграмом python-telegram-bot.
Перед запуском необходимо
- В телеграме через поиск найти бот «BotFather» и запросить у него создание нового телеграм бота. Он попросит ввести название и username для бота, после чего выдаст токен.
- Скопировать выданный токен и вставить его в файл примера эхо бота на место слова TOKEN в функции main()
- Создать файл requirements.txt в котором прописать строчку:
python-telegram-bot
- Вызвать pip install -r requirements.txt чтобы установить этот пакет. Сейчас многие подумали, почему бы просто не установить пакет через pip install python-telegram-bot ? Так тоже можно, но файл requirements.txt все равно понадобится для разворачивания в облаке, поэтому лучше сразу его создать.
- Проверить, что все работает, можно запустив бот локально через python3 echobot.py и потыкав созданный бот в телеграм (ссылочку на бот можно найти у BotFather).
Запускаем в облака. Как развернуть бота на хостинге
Перейдем теперь к самой интересной части данной статьи, а именно — как захостить бота.
Регистрация в сервисе
- На сайте Amvera нажимаем на кнопку «Регистрация» или пользуемся прямой ссылкой cloud.amvera.ru
- Нажимаем на кнопку «Регистрация» в нижней части окна и заполняем последовательно все поля. После заполнения поля «Номер телефона» нажимаем на кнопку «Отправить код» и вводим код из СМС.
- Подтверждаем, что мы не робот, и тыкаем на большую синюю кнопку «Регистрация»
- Остается только подтвердить указанную почту, перейдя по ссылке в письме.
Создание проекта и размещение бота
- На появившейся после входа странице нажимаем на кнопку «Создать» или «Создать первый!».

- На данном шаге нам предлагают присвоить нашему проекту название и выбрать для него тариф. Лучше указывать название на английском языке, но русский также поддерживается. Может показаться, что тарифные планы предоставляют слишком мало ресурса по сравнению с VPS. Однако в VPS часть ресурсов используется операционной системой, а тут весь выделенный ресурс уходит только на развертываемое приложение. Для развертывания бота нам хватит самого простого тарифа. Стартового баланса вам хватит для начала беспрерывной, бесплатной работы вашего бота 24/7.

- Сервис Amvera реализует удобный способ доставки кода в свое облако с помощью системы контроля версий git. Чтобы облако знало, что именно и как нужно запускать, требуется создать yml файл. Подробно о том, как самому составить этот файл описано в документации, однако я рекомендую воспользоваться автоматическим графическим инструментом генерации.
- Выбираем окружение Python и версию.
- Указываем версию и путь до файла requirements.txt. Оченьважно указать все используемые в проекте пакеты в этом файле, чтобы облако смогло их скачать через pip.
- Указываем путь до файла, содержащего точку входа в программу (тот файл, который вы указываете интерпретатору питона, когда запускаете приложение). В нашем случае это файл echobot.py (если ваш файл находится не в корневой папке проекта, то нужно указывать путь относительно корня проекта. Если бы мой файл был в папке src, я бы указал в этом поле src/echobot.py)
- Если в процессе работы ваш бот собирает какие-то данные от пользователя, которые следует сохранять на диск, то их следует класть в папку data. В противном случае при перезапуске проекта все данные будут потеряны!
- Порт можно указать любой, так как в нашем случае он не играет никакой роли.
- Нажимаем на кнопку Generate YAML, после чего начинается загрузка файла amvera.yml.
- Скачанный файл кладем в корень нашего проекта
- Осталось инициализировать гит репозиторий и запушить наш проект. Как установить гит, если он ещё не установлен, описано тут.
- В корне нашего проекта даем команду: git init (если гит уже инициализирован в вашем проекте, то этого делать не нужно)
- Привязываем наш локальный гит репозиторий к удаленному репозиторию через команду, которая указана на странице проекта в amvera (имеет формат git remote add amvera https://git.amvera.ru/ваш_юзернейм/ваш_проект )
- Делаем git add . и git commit -m «Initial commit»
- И наконец-то пушим наш проект, выполняя команду git push amvera master вводя учетные данные, которые использовались при регистрации в сервисе.
- После того, как проект запушится в систему, на странице проекта статус поменяется на «Выполняется сборка».

- Как только проект соберется, он перейдет в стадию: «Выполняется развертывание», а после в статус «Успешно развернуто».

- Если по какой-то причине проект не развернулся, можно обратиться к логам сборки и логам приложения для отладки. Если Проект завис в статусе «Сборка» на долгое время, а логи сборки не отображаются, то стоит ещё раз проверить корректность amvera.yml файла.
Вывод
Вот таким нехитрым способом, буквально за пять минут можно развернуть уже написанного бота в облаке. Стартовый баланс позволит работать боту, которого вы захостили, 24/7 первый месяц, а доставка обновлений через push в GIT — обновлять проект одной командой без даунтайма.
- Как развернуть бота
- Как разместить бота
- как захостить бота
- как задеплоить бота
- хостим телеграм бота
- деплоим телеграм бота
- хостим python бота
- как задеплоить проект
- как хостить бота
- как деплоить бота
- Блог компании Amvera
- Python
- Облачные сервисы
Как запустить Python Telegram бота на VPS

Приветствую всех. Из этой статьи вы узнаете как запустить Telegram бота на виртуальном сервере, и настроить службу для его авто запуска и перезапуска.
Телеграм бот
#main.py import telebot bot = telebot.TeleBot("ТОКЕН") @bot.message_handler(func=lambda message: message.text.lower() in ['привет', 'здравствуйте']) def send_welcome(message): bot.reply_to(message, "Здравствуйте!") @bot.message_handler(func=lambda message: True) def echo_all(message): bot.reply_to(message, 'Я тебя не понимаю(') bot.infinity_polling()
Виртуальный сервер
Для демонстрации я буду использовать виртуальный сервер от Beget стоимостью 210 рублей в месяц. Вы можете использовать другого хостинг провайдера, или выбрать другую конфигурацию, в зависимости от вашего проекта.

Подключение к виртуальной машине
После того как вы создали VPS у вас откроется панель управления, где вы можете скопировать IP адрес машины и подключаться к ней по SSH.

Для этого можно использовать программу PuTTY или клиент OpenSSH, который входит в состав Windows 10. Для подключения по SSH выполните следующую команду:
ssh root@213.139.209.81
И введите пароль который вы указали при создании VPS.
Подготовка сервера
После того как вы подключились к серверу, выполните команды которые обновят списки, и устаревшие пакеты до последней версии.
sudo apt update sudo apt upgrade
Загрузка и запуск бота
Перейдите в каталог home и создайте папку для вашего проекта выполнив команды.
cd /home mkdir ramziv_bot cd ramziv_bot
Зайдите панель управления VPS и откройте Файловый менеджер.

Загрузите файлы вашего проекта на сервер, в моем случаи это только один файл main.py .

Установите зависимости вашего проекта, и запустите бота.
Примечание: Ubuntu 20.04 поставляется с установленной Python 3.8 из коробки, если для вашего проекта нужна другая версия, установите ее или используйте другую версию дистрибутива.
pip install pyTelegramBotAPI python3 main.py
Теперь перейдите в Телеграм и протестируйте работу.

Авто запуск и перезапуск телеграм бота
Создайте systemd службу для бота.
sudo nano /lib/systemd/system/ramziv_bot.service
С конфигурацией:
[Unit] Description=Ramziv - Telegram Bot After=syslog.target After=network.target [Service] Type=simple WorkingDirectory=/home/ramziv_bot/ ExecStart=/usr/bin/python3 /home/ramziv_bot/main.py RestartSec=60 Restart=always [Install] WantedBy=multi-user.target
Нажмите CTRL+S и CTRL+X что бы сохранить и выйти.
Выполните эти две команды что бы запустить службу.
sudo systemctl enable ramziv_bot sudo systemctl start ramziv_bot
Ваш бот запушен. Перейдите в Телеграм и убедитесь в этом.
Заключение
Ваш бот будет всегда запускаться при старте системы, и перезапускается при возникновении ошибки. Для примера вы можете специально вызвать исключения в одной из функций обернутой обработчиком, и отследить ее в журнале командой:
sudo journalctl -u ramziv_bot.service #Вывод #Jun 13 12:35:31 objmnuqxoa python3[1069]: File "/home/ramziv_bot/main.py", line 7, in send_welcome #Jun 13 12:35:31 objmnuqxoa python3[1069]: number = 1/0 #Jun 13 12:35:31 objmnuqxoa python3[1069]: ZeroDivisionError: division by zero
Комментарии
Tima
14 ноября 2023
Спасибо, за интересную статью. Помог. Часть с развёртыванием бота понятная и чёткая, мне нравится.