TamTamBot для питона ✔️

123
Обсуждение, вопросы, предложения. 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 (!) Здесь мы все на "ты"
RED
276
ничего невозможного нет
281
И как он будет голосовые обрабатывать? Это же он должен скачать получается и сделать ряд операций.
282
голосовая команда да? Саймон сказал сделай кофе :D
RED
285
обрабатывать.. звучит страшновато. или решил замутить голосовые команды?
Иван
279
Вопрос непонятен. Что делаешь и что не получается при этом?
Хочу принимать и обрабатывать голосовые. Никак не получается
m4dn355
277
все))) заработало))) спасибо огромнейшее))
m4dn355
280
было вот так: self.msg.send_message(NewMessageBody(f'{data["text"]}', attachment=links), chat_id=-71505373495364) а должно было быть attachmentS
m4dn355
281
твою дивизию)))) я нашел опечатку)))
RED
281
подставь в своём коде строку print(type(attachments)), чтоб понять, что ты ему пытаешься скормить
m4dn355
282
и тогда заработает?
m4dn355
285
может дело в том, что он во второй строке снизу с ошибкой пишет " 'Content-Type': 'application/json; " ? и надо эту штуку как-то в json конвертировать?
m4dn355
273
собственно вот
RED
278
[30.10.2019 16:04] RED: eval type(eval("{'lol': 1}")) [30.10.2019 16:04] BreezeT: <class 'dict'> [30.10.2019 16:04] RED: eval type(eval("[{'lol': 1}]")) [30.10.2019 16:04] BreezeT: <class 'list'> [30.10.2019 16:04] RED: eval type("[{'lol': 1}]") [30.10.2019 16:04] BreezeT: <class 'str'>
m4dn355
276
блин... eval не заработал....
m4dn355
281
сам бы точно не разобрался))
m4dn355
279
спасибо большое))
RED
281
eval заработает
m4dn355
284
точняяяк!! либо я могу хранить в бд mid, а потом каким-то образом узнавать attachments по этому mid)) но это в случае если eval() не заработает))
m4dn355
281
понял)) после обеда поменяю и проверю))) надеюсь заработает)) а то мне в голову еще более жесткий костыль пришел)) завести десяток глобальных переменных и в них хранить содержимое attachments для каждой строки в бд)) и в бд хранить только номер переменной и в зависимости от номера вызывать определенную переменную)) но это костыль жесткий)) перезапускаешь скрипт, или вырубается свет и данные потеря ...
m4dn355
283
блин, после применения exec() содержимое превращается в None ...
RED
278
костыльно на вид, но должно работать.. мне кажется у бд должны быть встроенные средства для таких дел
RED
292
ye z yt pyf.? ytcrjkmrj rjcnskmyj/ e ,l ljk;ys ,snm dcnhjtyyst chtlcndf? vyt rf;tncz
m4dn355
286
то есть перед записью в бд a = str(a), а после чтения a = exec(a), да?)
RED
288
ы = exec(ы), например
RED
287
самое простое, разверни строку в словарь с помощью exec
m4dn355
279
так, если напрямую из переменной с типом 'PhotoAttachment' передавать в attachments=, то все работает, остался самый главный вопрос... как переменную с типом 'PhotoAttachment' добавить в субд. пользуюсь postgresql и столбец с тем куда я пытаюсь то что внутри этой переменной сохранить имеет тип text и при попытке записи он меня отправляет в пешее эротическое, что 'PhotoAttachment' нельзя записать. ...
RED
278
не знаю.. то ли баг, то ли фича
RED
288
кстати оно работает только в привате. а в публичном чате получается {"code":"chat.denied","message":"chat.send.msg.no.permission.generic"}
m4dn355
277
оно же не может просто так не работать)
m4dn355
279
таааак, теперь внимательно ща пересмотрю)
RED
284
eval TTBOT.send_message(NewMessageBody('ололо', attachments=HLOL), user_id=source[1])
RED
278
попробовал.. работает
RED
286
exec HLOL = [{'payload': {'photo_id': 891176815428, 'token': 'E8KigUCLlbsb3PLLHm2BJYp16aw/8QDJkOBe1GUT8b9tVByxhano+S3hVA8hnZ3/+KuSHiDaOXSQcd7NSTTn4ipccEHtH+wulw1266MrA3I=', 'url': 'https://i.mycdn.me/image?id=891176815428&t=0&plc=API&viewToken=JCY0RhJSgQdkQSjUoafHHw&tkn=*UUjYJu7N54Y9DNPnLnrEk_jRemw'}, 'type': 'image'}]
m4dn355
315
и я все равно получаю HTTP response body: {"code":"proto.payload","message":"attachments.null: invalid type"}
m4dn355
267
вот он у меня получается передает туда [{'payload': {'photo_id': 891176815428, 'token': 'E8KigUCLlbsb3PLLHm2BJYp16aw/8QDJkOBe1GUT8b9tVByxhano+S3hVA8hnZ3/+KuSHiDaOXSQcd7NSTTn4ipccEHtH+wulw1266MrA3I=', 'url': 'https://i.mycdn.me/image?id=891176815428&t=0&plc=API&viewToken=JCY0RhJSgQdkQSjUoafHHw&tkn=*UUjYJu7N54Y9DNPnLnrEk_jRemw'}, 'type': 'image'}]
m4dn355
263
тоооочно))) сейчас попробую))
RED
274
эм.. а зачем ты урл вытаскиваешь. попробуй тело аттача целиком
m4dn355
264
понятно, что инвалид тайп, так а какой должен он быть чтоб быть валид? где-то я что-то упускаю...
m4dn355
261
не, так тоже не дает... HTTP response body: {"code":"proto.payload","message":"attachments.null: invalid type"}