TamTamBot для питона ✔️
 122 •
@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
(!) Здесь мы все на "ты"
RED
 242
ye z yt pyf.? ytcrjkmrj rjcnskmyj/ e ,l ljk;ys ,snm dcnhjtyyst chtlcndf? vyt rf;tncz
m4dn355
 241
то есть перед записью в бд a = str(a), а после чтения a = exec(a), да?)
m4dn355
 240
ща попробую))
RED
 240
или json
RED
 241
ы = exec(ы), например
RED
 243
самое простое, разверни строку в словарь с помощью exec
m4dn355
 232
так, если напрямую из переменной с типом 'PhotoAttachment' передавать в attachments=, то все работает, остался самый главный вопрос...
как переменную с типом 'PhotoAttachment' добавить в субд. пользуюсь postgresql и столбец с тем куда я пытаюсь то что внутри этой переменной сохранить имеет тип text и при попытке записи он меня отправляет в пешее эротическое, что 'PhotoAttachment' нельзя записать. ...
RED
 233
не знаю.. то ли баг, то ли фича
RED
 238
кстати оно работает только в привате. а в публичном чате получается {"code":"chat.denied","message":"chat.send.msg.no.permission.generic"}
m4dn355
 235
только у меня)
m4dn355
 232
оно же не может просто так не работать)
m4dn355
 233
таааак, теперь внимательно ща пересмотрю)
RED
 239
eval TTBOT.send_message(NewMessageBody('ололо', attachments=HLOL), user_id=source[1])
RED
 232
попробовал.. работает
RED
 233
ой
RED
 240
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
 234
и я все равно получаю
HTTP response body: {"code":"proto.payload","message":"attachments.null: invalid type"}
m4dn355
 220
вот он у меня получается передает туда
[{'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
 220
то же самое...
RED
 221
attachment = update.message.body.attachments
m4dn355
 218
тоооочно))) сейчас попробую))
RED
 229
эм.. а зачем ты урл вытаскиваешь. попробуй тело аттача целиком
m4dn355
 218
понятно, что инвалид тайп, так а какой должен он быть чтоб быть валид? где-то я что-то упускаю...
m4dn355
 214
не, так тоже не дает...
HTTP response body: {"code":"proto.payload","message":"attachments.null: invalid type"}
m4dn355
 215
ща попробую)
m4dn355
 214
attachmentS
m4dn355
 218
а стоп)
m4dn355
 212
неа...
HTTP response body: {"code":"proto.payload","message":"attachment: invalid type"}
m4dn355
 210
ща попробую)
RED
 215
а если так.. attachments=[data['url']]
m4dn355
 213
Добрый день) задача стоит создать бота которые делает отложенные посты в канале. бот спрашивает у пользователя сначала время, записывает время, затем спрашивает тело поста и пользователь пишет собственно сам пост, который нужно отложенно публиковать.
с отправкой текста я разобрался, а вот с прикрепленными файлами понять не могу что и как делать.
Получая ответ от пользователя сначала записываю текс ...
 322
Вопрос непонятен. Что делаешь и что не получается при этом?
Иван
 213
urllib3 вроде как в requirements)
Иван
 218
А сразу его нельзя получить?
Иван
 222
С помощью этого кода вроде как можно файл достать. https://stackoverflow.com/questions/17285464/whats-the-best-way-to-download-file-using-urllib3
Иван
 212
А как аудиофайлы грузить? В attachments приходит url только?
 221
Ну и, есть подозрение, что туториал не читал
 206
По такому предположению, я предполагаю, что нет понимания вот какого момента:
в ботапи всё асинхронно, и тем более кнопки. Т.е. вот так - "нажал - отправилось" обрабатывается как:
нажал - пришло событие боту - в процессе обработки этого события направилось ...
Вот здесь посмотри
 219
Никак. С ботами в принципе подход другой
 213
А как получить текст нового сообщения в этом цикле?
 213
Тут вообще ерунда написана. Этот цикл либо никогда не выполнится, либо будет выполняться бесконечно.
Текст то в update.message.body.text не меняется
 219
А как обновить состояние для последнего полученного сообщения? То есть я хочу получить текст нового сообщения, а он мне присылает текст старого. ...
Тут вообще ерунда написана. Этот цикл либо никогда не выполнится, либо будет выполняться бесконечно.
 221
А как обновить состояние для последнего полученного сообщения? То есть я хочу получить текст нового сообщения, а он мне присылает текст старого.
 212
Привет. Как можно получить текст полученного сообщения?
update.text не исполняется.
И сейчас при использовании вашего аудиобота и выполнении некоторых команд моего приходит сообщение {бот @FileToAudio (Аудио из файлов (Audio from files))} Ваш запрос (menu) невозможно выполнить прямо сейчас (т.к. выполняются сервисные работы ...
Это эксепшн. Смотри логи
 214
Привет. Как можно получить текст полученного сообщения?
update.text не исполняется.
И сейчас при использовании вашего аудиобота и выполнении некоторых команд моего приходит сообщение {бот @FileToAudio (Аудио из файлов (Audio from files))} Ваш запрос (menu) невозможно выполнить прямо сейчас (т.к. выполняются сервисные работы и др.). Попробуйте позже. (диалог <бот @FileToAudio (Аудио из файлов (Audi ...