
Roman
13.01.2017
16:12:24

YaOurTea
13.01.2017
16:38:17
Как лучше сделать счетчик сообщений в боте телеграма?
По сути для каждого чата должен быть свой счетчик.
Красиво ли будет засовывать в базу этот счетчик?

Сергей
13.01.2017
16:40:49
Хранить эти сообщения не будешь?

YaOurTea
13.01.2017
16:43:41
Не, сообщения сами я не храню в базе, только счетчик, который желательно сохранять перед выключением бота

Google

Artem
13.01.2017
16:47:53
красиво засовывать в базу.
вот как ты упрешься в производительность базы, можешь думать об оптимизации.

Andrey
13.01.2017
17:03:55
в редис клади
в БД то зачем

Artem
13.01.2017
17:04:31
а редис не бд?

Nikolay
13.01.2017
17:04:51
редис - кэш

Artem
13.01.2017
17:05:15
Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker.

Nikolay
13.01.2017
17:05:35
ну на деле надо быть упоротым, чтобы его всерьез как бд использовать
и как message broker он тоже так себе в чистом виде, разве что с celery

Artem
13.01.2017
17:06:20
rq?
что такое разве что с celery
для чего он так себе в чистом виде?

Google

Nikolay
13.01.2017
17:07:17
редис не умеет в round-robin в принципе, у него примитивнейший pub-sub
celery - питоновая обвязка, превращающая редис (и не только его) в более-менее вменяемый mq с rpc

Artem
13.01.2017
17:08:17
ну задачи разные бывают
я знаю, что такое celery, просто редис много где используется как брокер

Nikolay
13.01.2017
17:09:34
не, его можно так использовать, он быстрый и все дела. Но персистентность хромает и как база он мало на что годится. разве что временно хранить структурки какие-то, которые не так уж страшно потерять в случае чего

Artem
13.01.2017
17:10:51
ну написано ж in-memory)

Alex
13.01.2017
17:30:06
Ребят, создал ГткЕнти в глейд как в переменную текст засунуть ?
Только начал разбиратся в гтк
Разобрался )

YaOurTea
13.01.2017
22:08:17
Такой вопрос: Как проверить переменную на определенность
Есть у меня update['message']['new_chat_member'], если его нет в update['message'], он возвращает KeyError. В перле я это делал функцией defined, а в питоне как можно сделать?

here1am
13.01.2017
22:08:51
это не переменная

Artem
13.01.2017
22:09:12

Denis
13.01.2017
22:09:12
if 'new_chat_member' in update['message']:

Artem
13.01.2017
22:09:32

b0g3r
13.01.2017
22:10:00
Или использовать .get()

here1am
13.01.2017
22:10:08
можно просто трай-эксепт

Roman
13.01.2017
22:10:20

b0g3r
13.01.2017
22:10:31
Можно, но зачем?

YaOurTea
13.01.2017
22:10:38

Roman
13.01.2017
22:10:43

Google

here1am
13.01.2017
22:10:57

YaOurTea
13.01.2017
22:10:58

b0g3r
13.01.2017
22:11:35
Будет тебе бул

YaOurTea
13.01.2017
22:11:56
Увидел сверху, спасибо

Roman
13.01.2017
22:12:02

YaOurTea
13.01.2017
22:12:05

Petr
13.01.2017
22:12:18
да

b0g3r
13.01.2017
22:12:20
Ага

Roman
13.01.2017
22:12:22

YaOurTea
13.01.2017
22:12:34
Значит зря ляпнул :)

here1am
13.01.2017
22:12:38

Geronimo (Макс) NN
13.01.2017
22:12:40
x='имя_переменной'
if x in dir():
print x, 'defined'
Чо-нить типа такого, не?

Roman
13.01.2017
22:12:58
Ну или вот mysql + handlersocket - это бд?

b0g3r
13.01.2017
22:13:51

YaOurTea
13.01.2017
22:13:56

Roman
13.01.2017
22:14:02

b0g3r
13.01.2017
22:14:10

Roman
13.01.2017
22:14:18
Да емае

Google

YaOurTea
13.01.2017
22:14:38
handlersocket это же как надстройка над мускулом

Roman
13.01.2017
22:14:39
Кеш - это без персистентности и гарантий

b0g3r
13.01.2017
22:14:45
А тут матом ругаться можно?

Roman
13.01.2017
22:14:46

YaOurTea
13.01.2017
22:15:10
?

Admin
ERROR: S client not available

YaOurTea
13.01.2017
22:15:25
Я ньювайбер, я могу тупить, законом не запрещено

Roman
13.01.2017
22:15:39

YaOurTea
13.01.2017
22:16:16
Я лучше буду помалкивать и читать :)

Geronimo (Макс) NN
13.01.2017
22:16:17

b0g3r
13.01.2017
22:17:01

here1am
13.01.2017
22:17:03
Плохая практика
в целом или конкретно в этом контексте? если второе, то почему?

Roman
13.01.2017
22:17:29

b0g3r
13.01.2017
22:17:53

here1am
13.01.2017
22:18:00

Geronimo (Макс) NN
13.01.2017
22:18:09

Roman
13.01.2017
22:18:11
И ексепшены стоит использовать только там где исключение происходит крайне редко

here1am
13.01.2017
22:18:54
тоже из-за дороговизны?

Google

b0g3r
13.01.2017
22:19:03
Исключительно редко ;)

Roman
13.01.2017
22:19:33

here1am
13.01.2017
22:20:04
ок, спасибо

Roman
13.01.2017
22:20:12
Если ты в цикле ловишь возникающий эксепшн - ты олень

YaOurTea
13.01.2017
22:20:16

Geronimo (Макс) NN
13.01.2017
22:21:27

Pavel
13.01.2017
22:21:48
Это не неправильно

here1am
13.01.2017
22:21:52
ну вот. запросы в монгу вроде не похожи вообще. а ещё сиквел очень тяжёлый, были какие-то патчи к мускулю, которые позволяли дёргать данные (без кучи возможностей само собой) в обход сиквела
а, вот же, хендлерсокет и есть

YaOurTea
13.01.2017
22:23:46
Я уже сохранил статейку для прочтения
https://habrahabr.ru/post/239637/

Roman
13.01.2017
22:31:21

here1am
13.01.2017
22:34:29
ну да, запамятовал

Артур
14.01.2017
05:53:23
https://docs.python.org/3/glossary.html#term-eafp

Dmitry
14.01.2017
06:26:24

Мерлин
14.01.2017
08:32:35
https://sircmpwn.github.io/2017/01/13/The-problem-with-Python-3.html