Как стать автором
Обновить

Комментарии 20

<… или ещё один личный опыт по написанию бота на telegram>
Серьёзно? Написал бота, установил Putty, залил по scp на удалённый комп… Что-то много в последнее время статей типа «смотрите как я могу»!
Ставить systemd ради автозагрузки бота это прям вау.

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

Посмотрите в сторону supervisor
НЛО прилетело и опубликовало эту надпись здесь
Примерно так
#/bin/bash
cd /test_last/
if lsof -Pi :7772 -sTCP:LISTEN -t >/dev/nul; then
   echo "Working"
else
   echo "Not working.Starting..."
   python3 bot.py
fi

У себя использую flock в crontab:
* * * * * /usr/bin/flock -n /run/lock/bot.lock python /homes/user/bot/bot.py

Как только на территории РФ вступил в силу запрет на анонимность в мессенджерах,(...)
Для начала нужно установить telegram на ПК и зарегистрироваться в мессенджере.
Установил Telegram на ПК, при регистрации требует номер телефона, который выдается в РФ только по паспорту. Запрет на анонимность, однако, работает.
Список адресов/явок/паролей для анонимного получения телефонного номера был бы актуален.
Ему любой телефонный номер подходит, не только российский.
pscp.exe "C:\Users\Ilya\PycharmProjects\Bot\bot.py" root@123.123.12.12:/usr/local/bin/bot

Имхо, лучше создать приватный репозиторий на каком-нибудь bitbucket и клонировать его.


но тогда бот не будет перезапускаться автоматически в случае падения, а это происходит часто – несколько раз в неделю из-за ночного перезапуска серверов telegram (в 3:00 по МСК).

Эм. С какой стати бот-то падает? А если интернета несколько секунд не будет, бот тоже упадёт? Это неправильный подход.

Сервера телеграма перезапускаются несколько раз в неделю, и тогда бот падает.
Правильней использовать веб-хуки, примеры таких ботов есть в github репозитории библиотеки pytelegrambotapi, все прекрасно будет работать, если проект хостится на heroku, ну или на своем VPS тоже будет работать, только нужно будет настроить получение/продление SSL сертификата
У вас очень странный бот, особенно учитывая то, что вы пользуетесь готовой библиотекой.
apt-get install python3
apt-get update
apt-get install python3-setuptools
apt-get install python3-pip
pip3 install pyTelegramBotAPI

Почему Вы устанавливаете Python до обновления репозитория, а остальные пакеты — после?
Насколько я помню, python установился без проблем, а вот pip никак не хотел без apt-get update.
update стоит выполнять перед установкой любых пакетов, а не когда что-то уже пошло не так. Ваша статья претендует на роль руководства, а по уровню подробностей — на руководство для начинающих в Linux, а обучаться лучше сразу правильно и осмысленно, а не по принципу «получилось — и ладно».
Спасибо. Исправил.
Спасибо. Исправил.
Про загрузку файлов с ПК на сервер и наоборот.
Я обычно использую для этих целей FileZilla. Есть такой протокол, как SFTP, это FTP, работающий поверх SSH. Вводим айпишник, username,password, а порт ставим 22 (по умолчанию), нажимаем подключиться. Просто для меня это было удобнее и быстрее, чем возиться с командной строкой.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории