TamTamBot для питона ✔️
123 •
@pyBotApiFrm
Обсуждение, вопросы, предложения.
TamTamBot (TTB):
https://github.com/asvbkr/TamTamBot">https://github.com/asvbkr/TamTamBot
OpenAPI client (OAC):
https://github.com/asvbkr/openapi_client">https://github.com/asvbkr/openapi_client
* туториал - https://habr.com/ru/company/mailru/blog/466373/
* демобот - https://github.com/asvbkr/ttBotDemo">https://github.com/asvbkr/ttBotDemo
Его работающая инсталяция - @asvbkrTestBot1
* Другие примеры - https://github.com/asvbkr
(!) Здесь мы все на "ты"
364
или запускать задание из шедулера
375
Да мне по-сути надо снимать с сервера статистику
384
как - зависит от используемых средств
366
я вот только пока не понял, его из командой строчки можно запускать, а не из пичарма?
385
и за туториал огромный плюс
369
Сергей, воспользовался твоей либой. Спасибо)
384
Не исключаю, что в update.update_previous может быть и свой update.update_previous ну и т.д )))
m4dn355
379
кайф вообще))) спасиб)))
m4dn355
389
Готово)))) вот так получилось:
update_previous = UpdateCmn(update.update_previous)
position = update.message.body.text
print(f"ФИО: {update_previous.cmd_args.get('fio')}")
print(f"Департамент: {update_previous.cmd_args.get('dep')}")
print(f"Должность: {position}")
m4dn355
380
все))) нашел))
m4dn355
376
а UpdateCmn откуда импортить?)
363
это типа цитирование с хабры =)
375
Он никогда и не выкатывался, если честно)
362
опять Серега скатился в программирование
367
И уже тогда:
`print(f"ФИО: {update_previous.callback.payload.cmd_args.get('fio')}")
Или даже:
`print(f"ФИО: {update_previous.payload.cmd_args.get('fio')}")
362
кто бы мне с flask так помог
m4dn355
362
просто Bro power skill pobeda))
вот так сделал:
if isinstance(update.update_previous.callback.payload, str):
cmd_args = json.loads(update.update_previous.callback.payload).get('cmd_args')
fio = cmd_args.get('fio')
dep = cmd_args.get('dep')
else:
print('Самсинг хэс гоу вронг')
385
update_previous = UpdateCmn(update.update_previous)
И уже тогда:
`print(f"ФИО: {update_previous.callback.payload.cmd_args.get('fio')}")
402
update_previous = UpdateCmn(update.update_previous)
355
Вот так:
`if isinstance(update.update_previous.callback.payload, str):
update.update_previous.callback.payload = json.loads(update.update_previous.callback.payload)
368
только лучше так:
if isinstance(update.update_previous.callback.payload.cmd_args, str):
update.update_previous.callback.payload.cmd_args = json.loads(update.update_previous.callback.payload.cmd_args)
360
в смысле update.update_previous.callback.payload.cmd_args
m4dn355
369
эх блин... эксепшн поймал...
print(f"ФИО: {update.update_previous.callback.payload.cmd_args.get('fio')}")
AttributeError: 'str' object has no attribute 'cmd_args'
m4dn355
360
ооооооо! вижу)) спасиб)))
это получается update.update_previous.callback.payload.cmd_args.get('fio') ?)
359
выбранный пользователем ответ в callback.payload
m4dn355
361
а стоп.... это клавиатура, которую бот отправил, а не выбранный пользователем ответ....
m4dn355
359
блин, думаю отсюда как-то можно достать) там в cmd_args есть ФИО и в text есть получается департамент)
m4dn355
357
update previous: {'callback': {'callback_id': 'qQ1krysU0TYTXlBU_UFFonD5JTh7RQih1cnN58hXVx0Gi7pKIXJaSRP1kOeXgOfx',
'payload': '{"cmd": "/position", "cmd_args": {"fio": '
'"\\u0418\\u0432\\u0430\\u043d\\u043e\\u0432 '
'\\u0418\\u0432\\u0430\\u043d '
'\\u0418\\u0432\\u0430\\u043d\\u043e\\u0432\\u0438\\u0447", ...
m4dn355
356
эх))) забыл добавить update.required_cmd_response = True )))
350
в else посмотреть на него нужно