Как сделать так чтобы бот в телеграмме работал постоянно
Перейти к содержимому

Как сделать так чтобы бот в телеграмме работал постоянно

  • автор:

Как сделать так, чтобы бот работал постоянно?

Что нужно сделать, чтобы бот работал на постоянке, даже если я выключал бы свой пк/посоветуйте какие нибудь сервисы,если такие знаете.

Отслеживать
задан 18 июл 2022 в 16:34
Marco Polo Marco Polo
17 1 1 золотой знак 2 2 серебряных знака 6 6 бронзовых знаков
Yandex.Cloud, Sbercloud?
18 июл 2022 в 16:45
Запускать на компьютере, который не выключается (например, на сервере)
18 июл 2022 в 16:46
а на каком сервере?(если знаете)
18 июл 2022 в 16:50
На любом какой вам понравится, хостингов слишком много, чтобы советовать какой-то конкретный
18 июл 2022 в 16:51

Бесплатный с ограничением по времени работы, (можно вписаться, если не сильно нагруженный) с хорошей документацией heroku

18 июл 2022 в 18:53

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Для этого нужно использовать любой из существующих хостингов. Например google cloud, если ваш бот не большой. В противном случае придется пользоваться платными хостингами.

Отслеживать
5,328 2 2 золотых знака 10 10 серебряных знаков 25 25 бронзовых знаков
ответ дан 18 июл 2022 в 16:59
root_of_the_live root_of_the_live
67 11 11 бронзовых знаков

Я воспользовался сервисом https://www.pythonanywhere.com там все бесплатно и понятно. Регистрируешься, затем добавляешь файлы с ботом в раздел Files и после запускаешь.

Отслеживать
47.5k 17 17 золотых знаков 56 56 серебряных знаков 99 99 бронзовых знаков
ответ дан 17 авг 2022 в 5:05
1 1 1 бронзовый знак

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-bot
  • telegram
  • telebot
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.10.27.43697

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Как сделать что бы телеграм бот работал всегда?

Я написал бота. Он работает, я его типа хостил на https://www.pythonanywhere.com/user// но он не делает то чего мне нужно. Мне нужно сделать так что бы бот работал всегда
вот код:

import pyowm
import telebot

owm = pyowm.OWM(‘3cc66d7b3233711f3dd379e246f01d34’)
bot = telebot.TeleBot(«5040545328:AAGLyu-I8rqQolyu8g», parse_mode=None)

@bot.message_handler(content_types=[‘text’])
def send_echo(message):
mgr = owm.weather_manager()
observation = mgr.weather_at_place( message.text )
w = observation.weather
temp = w.temperature(‘celsius’)[«temp»]

answer = «В городе » + message.text + » сейчас » + w.detailed_status + «\n»
answer += «Температура сейчас в районе» + str(temp) + «\n\n»

if temp < 10:
answer += «Сейчас ебать холодно, одевайся очень тепло!»
elif temp answer += «Сейчас прохладно, оденься нормально что бы не продуло»
else:
answer += «Температура кайф, одевай что угодно»

bot.send_message(message.chat.id, answer)
bot.polling( none_stop = True )

  • Вопрос задан более года назад
  • 381 просмотр

3 комментария

Простой 3 комментария

Как сделать, чтобы на VDS Телеграм бот работал постоянно?

Приветствую! Впервые заливаю бота на сервер, в связи с чем столкнулся с некоторыми проблемами. Для тех кто уже это делал вопросы могут показаться лёгкими, но для меня, увы, пока непонятно! Прошу помочь, а вопросы следующие:

1) Как сделать чтобы бот работал постоянно/круглосуточно + автоматически запускался после краша?
(Сейчас использую PuTTY, как я понял после запуска бота из консоли, в случае закрытия этой самой консоли бот тоже остановится?)

2)Как запускать одновременно на одном серваке несколько ботов, чтобы не было конфликтов между ними.
(Слышал про cmd-команду «screen» для создания виртуальной сессии, а также про systemd, это оно, копать в эту сторону?

3)Webhook предпочтительнее longpolling при одновременной работе нескольких ботов или не суть?

З.Ы. Хост — Fornex; Админка — Vesta; ОС — Debian 9; Терминал клиент — PuTTY; FTP клиент — WinSCP

  • Вопрос задан более трёх лет назад
  • 4816 просмотров

1 комментарий

Простой 1 комментарий

Запускаем телеграм-бота на сервере

Тогда он будет работать круглые сутки, а вы — отдыхать.

Не так давно мы создали телеграм-бота на Python: можно было написать ему свой знак зодиака, а он в ответ давал предсказание о долгой счастливой жизни. Но у бота есть недостаток: он работает, пока запущена программа на нашем компьютере. Если мы её остановим или выключим компьютер, бот тоже перестанет отвечать на сообщения.

Вот что мы сделаем, чтобы бот работал независимо от всего:

  1. Выберем сервер.
  2. Подготовим программу для работы на нём.
  3. Зальём программу на сервер.
  4. Настроим сервер, чтобы он исполнял программу.

Выбираем сервер

Нам нужен сервер, который умеет работать с Python и запускать файлы программы автоматически. На самом деле он у нас уже есть — на нём крутится сайт mihailmaximov.ru. Если вы всё пропустили — держите подборку:

  • что такое домен и как его получить;
  • делаем страницу «О себе»;
  • как опубликовать свой сайт в интернете.

Тот хостинг, который мы выбрали для проектов, уже умеет запускать Python-файлы. Если вы пользуетесь другим сервисом, то проверьте, умеет ли он то же самое.

Готовим программу и отправляем её на сервер

Единственное, что нужно добавить в наш код телеграм-бота, — специальную команду интерпретатору, чтобы он знал, как работать с нашим файлом. Но перед этим нужно проверить, какая версия Python на нём установлена.

Чтобы это узнать, соединимся с сервером по протоколу SSH и спросим у него напрямую. Для этого используем программу Putty, а настройки подключения возьмём в личном кабинете хостинга:

Вставляем их в Putty и подключаемся. Помните, что для безопасности во время ввода пароля курсор стоит на месте, чтобы никто не смог выяснить, сколько символов вы набираете. Когда подключились, вводим команду python3.3 -V — она покажет, есть ли на сервере поддержка этой версии Python:

Теперь добавляем в самое начало нашего файла с программой такую строчку:

В статье о том, как опубликовать сайт в интернете, мы рассказывали, как залить файлы на сервер. Это умение нам сейчас пригодится: сохраняем нашу программу с гороскопом как файл с расширением .py и отправляем его на сервер в папку cgi-bin (то, что лежит в этой папке, никто не увидит):

Запускаем телеграм-бота на сервере

Настраиваем сервер

Теперь научим сервер понимать, как работать с нашей программой. Для этого в корне сайта находим файл .htaccess и добавляем в него такую строчку:

AddHandler cgi-script .py

Если у вас такого файла нет — создайте его и не забудьте про точку в самом начале названия.

Последнее, что осталось сделать, — настроить права доступа у файла с программой. Находим её среди файлов хостинга и выставляем права 755 или rwxrwxr-x:

Запускаем телеграм-бота на сервере

Теперь с помощью Putty снова подключаемся к серверу и настраиваем рабочее окружение. Это как будто виртуальная песочница, где мы сможем ставить нужные модули для Python, чтобы не мешать остальным пользователям сервера.

Всё, что мы будем делать дальше, относится к хостингу SpaceWeb. Если у вас другой хостинг, то, возможно, часть команд вам не пригодится и Python будет работать напрямую. У нас так не работает, поэтому делаем виртуальное окружение.

В SSH-терминале пишем по очереди такие команды (вместо .thecode можно написать название каталога, которое вам по душе):

virtualenv .thecode source .thecode/bin/activate

Эти две команды создадут виртуальное пространство для запуска Python-файлов.

Теперь установим Python-модуль для работы с Телеграмом:

pip install pytelegrambotapi

Когда установка закончится, пишем такую команду:

nohup python3 /home/t/thecode/osebe/public_html/cgi-bin/telegoroskop.py

/home/t/thecode/osebe/ — это наш путь к папке cgi-bin, а у вас он будет другим. Поменяйте путь на свой и запускайте.

Чтобы программа продолжала работать после того, как мы закроем SSH-клиент, в самом начале пишем команду nohup .

Результат проекта — бот @TheCode_Baboolya_bot.

Что дальше

Мы сделали самые базовые вещи — запустили скрипт на сервере и сделали так, чтобы он работал там постоянно. Но вот как можно это улучшить:

  • сделать так, чтобы программа сама перезапускалась, если остановится;
  • написать отдельный сервис, через который мы сможем запускать и останавливать бота;
  • прикрутить этот сервис к другому телеграм-боту, чтобы в итоге боты управляли всем миром.

Апскиллинг, как говорится

Апскиллинг — это, например, переход с уровня junior на уровень middle, а потом — senior. У «Яндекс Практикума» есть курсы ровно для этого: от алгоритмов и типов данных до модных фреймворков.

Апскиллинг, как говорится Апскиллинг, как говорится Апскиллинг, как говорится Апскиллинг, как говорится

Получите ИТ-профессию

В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *