
F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
19.09.2017
19:16:40
if __name__ == '__main__':
while True:
try:
bot.polling(none_stop = True)
bot.send_message(reports_chat_id,('I`m alive. Time = ' + time.ctime()))
except Exception as e:
logging.exception(e)
time.sleep(5)
bot.send_message(reports_chat_id,e)
как то можно многострочно форматировать?

b0g3r
19.09.2017
19:16:57
тремя бэктиками с двух сторон

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
19.09.2017
19:17:09
черт

Google

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
19.09.2017
19:17:29

b0g3r
19.09.2017
19:18:13
убери send_message
logging.exception(e) исправь на logging.exception('polling error')

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
19.09.2017
19:18:42
все send_message убрать?

b0g3r
19.09.2017
19:18:51
нет, только этот

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
19.09.2017
19:19:30
if __name__ == '__main__':
while True:
try:
bot.polling(none_stop = True)
except Exception as e:
logging.exception('polling error')
time.sleep(5)
bot.send_message(reports_chat_id,e)

b0g3r
19.09.2017
19:19:50
второй убери, превый можешь оставить

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
19.09.2017
19:20:27
if __name__ == '__main__':
while True:
try:
bot.polling(none_stop = True)
except Exception as e:
logging.exception('polling error')
time.sleep(5)
проще оба убрать

b0g3r
19.09.2017
19:20:40
у тебя падает инет, внутри блока try вылетает эксепшн, заходит в except-блок, логинит ошибку, делает слип и пытается оптравить сообщение. вылетает второй эксепшн, который уже некому ловить

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
19.09.2017
19:21:10
окей, хорошо
(не понимаю, как может падать инет, если я только что смотрел видос на ютубе)

b0g3r
19.09.2017
19:22:18
роутер решил взбунтоваться и десяток пакетов пропустил

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
19.09.2017
19:23:09
хорошо, тогда другой вопрос
как мне на VPS постоянно держать запущенным .py скрипт?
по идее я же запускаю его через ssh, так что он автоматически через какое то время закрывает тоннель и скрипт

Google

Проксимов
19.09.2017
19:23:21
Уже
Было
Сделайте faq, ну

Sergey❄️
19.09.2017
19:23:42

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
19.09.2017
19:24:27
http://python.su/forum/topic/22350/
сие чудо?

Rubikoid
19.09.2017
19:25:37

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
19.09.2017
19:26:22

Rubikoid
19.09.2017
19:27:11
apt-get install screen
или
apt-get install supervisor
и не сиди от рута

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
19.09.2017
19:27:22
в моем случае yum)
чо так

Rubikoid
19.09.2017
19:28:05

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
19.09.2017
19:28:37

Mad
19.09.2017
19:28:40

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
19.09.2017
19:28:51

Rubikoid
19.09.2017
19:29:09

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
19.09.2017
19:29:16

Rubikoid
19.09.2017
19:29:26
в прямом.

Mad
19.09.2017
19:29:27
потому что screen можно закрыть нечаянно, например
переключишься в процесс и нажмёшь ^Cили чё-нить в этом роде

Google

Mad
19.09.2017
19:29:46
а супервизор специально сделан для запуска фоновых процессов

Alex
19.09.2017
19:30:05

Rubikoid
19.09.2017
19:30:24
https://nick.groenen.me/posts/2014/01/20/screen-is-not-a-process-control-system/
systemd
супервизор дает более упрощенный и быстрый способ добавления новых программ, вроде.

Mad
19.09.2017
19:31:33
Да скорее всего одинаково.
Что там, что там ты подключаешь конфиг файл с опиисанием демона

Rubikoid
19.09.2017
19:33:03
хм...

Alex
19.09.2017
19:33:09

Mad
19.09.2017
19:33:10
у супервизор есть фишка - веб-интерфейс, но я её не юзаю

Alex
19.09.2017
19:33:22
это если совсем не вдаватся в детали

Rubikoid
19.09.2017
19:34:28

Mad
19.09.2017
19:35:13
В твоём утверждении содержится 0 информации :)

Alex
19.09.2017
19:35:41

Rubikoid
19.09.2017
19:51:51
ты всё еще на LP?

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
19.09.2017
19:52:15
да

Rubikoid
19.09.2017
19:52:26
хм...

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
19.09.2017
20:36:21
я могу сразу 2 сделать конструкцию вида
try
except exception1
except exception2
?

Artemiy
19.09.2017
20:38:34

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
19.09.2017
20:39:45

Google

Artemiy
19.09.2017
20:40:45
Тогда да.
try:
...
except exc1:
...
except exc2:
...

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
19.09.2017
20:40:59
спасибо

stonepig
19.09.2017
20:41:46
йоу
как сделать так, чтобы бот реагировал на сообщения только одной супер-группы, а в других (если его добавят куда-то), то не реагировал?
либа pytelegrambotapi

Artemiy
19.09.2017
20:42:33
спасибо
Ещё полезна конструкция
finally:
как the last resort.

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
19.09.2017
20:42:54

stonepig
19.09.2017
20:43:05

b0g3r
19.09.2017
20:43:11

Admin
ERROR: S client not available

stonepig
19.09.2017
20:43:18
та вот в том то и дело, что не пашет

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
19.09.2017
20:43:19

Artemiy
19.09.2017
20:43:20

stonepig
19.09.2017
20:43:20
ща покажу, как делал

b0g3r
19.09.2017
20:43:21
в telebot'e можно в func = ...

stonepig
19.09.2017
20:43:30

Sergey❄️
19.09.2017
20:43:31

b0g3r
19.09.2017
20:43:32
показывай

stonepig
19.09.2017
20:43:39
а, ок
ща
а если айдишников несколько, то он через if _ in _ переберет айдишники?

Artemiy
19.09.2017
20:44:28
На pastebin лучше заливай логи.

Google

b0g3r
19.09.2017
20:44:36

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
19.09.2017
20:44:37

b0g3r
19.09.2017
20:44:42
ты код покажи, потом поговорим

Artemiy
19.09.2017
20:44:54

Sergey❄️
19.09.2017
20:45:01
Где-то в коде зациклил значит

b0g3r
19.09.2017
20:46:01

Artemiy
19.09.2017
20:46:24
Да, лучше сет.
Сорри.

Sergey❄️
19.09.2017
20:47:03
Чем лучше?

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
19.09.2017
20:47:07
ты код покажи, потом поговорим
if __name__ == '__main__':
while True:
try:
bot.polling(none_stop = True)
except KeyboardInterrupt as ki:
logging.exception('killed by user')
bot.send_message(reports_chat_id,'killed by user')
except Exception as e:
logging.exception('polling error')
time.sleep(5)

b0g3r
19.09.2017
20:47:43
none_stop=True убери тогда

Marlik
19.09.2017
20:48:06

b0g3r
19.09.2017
20:49:32
Чем лучше?
поиск по хэшу (а сет - это хэши) очень быстрый
он "достает" значение, а не перебирает и сравнивает каждое
но сет инициализируется сильно прожорливее

stonepig
19.09.2017
20:53:36
получилось залочить бота, но заебался в каждом хендлере проверку ставить

b0g3r
19.09.2017
20:53:51
вынес бы в функцию проверку
lambda - та же функция, незачем её 10 раз писать