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
(!) Здесь мы все на "ты"
RED
1
сорян. eval
m4dn355
1
блин, после применения exec() содержимое превращается в None ...
RED
1
костыльно на вид, но должно работать.. мне кажется у бд должны быть встроенные средства для таких дел
RED
1
ye z yt pyf.? ytcrjkmrj rjcnskmyj/ e ,l ljk;ys ,snm dcnhjtyyst chtlcndf? vyt rf;tncz
m4dn355
1
то есть перед записью в бд a = str(a), а после чтения a = exec(a), да?)
m4dn355
1
ща попробую))
RED
1
или json
RED
1
ы = exec(ы), например
RED
1
самое простое, разверни строку в словарь с помощью exec
m4dn355
1
так, если напрямую из переменной с типом 'PhotoAttachment' передавать в attachments=, то все работает, остался самый главный вопрос...
как переменную с типом 'PhotoAttachment' добавить в субд. пользуюсь postgresql и столбец с тем куда я пытаюсь то что внутри этой переменной сохранить имеет тип text и при попытке записи он меня отправляет в пешее эротическое, что 'PhotoAttachment' нельзя записать. ...
RED
1
не знаю.. то ли баг, то ли фича
RED
1
кстати оно работает только в привате. а в публичном чате получается {"code":"chat.denied","message":"chat.send.msg.no.permission.generic"}
m4dn355
1
только у меня)
m4dn355
1
оно же не может просто так не работать)
m4dn355
1
таааак, теперь внимательно ща пересмотрю)
RED
1
eval TTBOT.send_message(NewMessageBody('ололо', attachments=HLOL), user_id=source[1])
RED
1
попробовал.. работает
RED
1
ой
RED
1
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
1
и я все равно получаю
HTTP response body: {"code":"proto.payload","message":"attachments.null: invalid type"}
m4dn355
1
вот он у меня получается передает туда
[{'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
1
то же самое...
RED
1
attachment = update.message.body.attachments
m4dn355
1
тоооочно))) сейчас попробую))
RED
1
эм.. а зачем ты урл вытаскиваешь. попробуй тело аттача целиком
m4dn355
1
понятно, что инвалид тайп, так а какой должен он быть чтоб быть валид? где-то я что-то упускаю...
m4dn355
1
не, так тоже не дает...
HTTP response body: {"code":"proto.payload","message":"attachments.null: invalid type"}
m4dn355
1
ща попробую)
m4dn355
1
attachmentS
m4dn355
1
а стоп)
m4dn355
1
неа...
HTTP response body: {"code":"proto.payload","message":"attachment: invalid type"}
m4dn355
1
ща попробую)
RED
1
а если так.. attachments=[data['url']]
m4dn355
1
Добрый день) задача стоит создать бота которые делает отложенные посты в канале. бот спрашивает у пользователя сначала время, записывает время, затем спрашивает тело поста и пользователь пишет собственно сам пост, который нужно отложенно публиковать.
с отправкой текста я разобрался, а вот с прикрепленными файлами понять не могу что и как делать.
Получая ответ от пользователя сначала записываю текс ...
Иван
1
urllib3 вроде как в requirements)
Иван
1
А сразу его нельзя получить?
Иван
1
С помощью этого кода вроде как можно файл достать. https://stackoverflow.com/questions/17285464/whats-the-best-way-to-download-file-using-urllib3
Иван
1
А как аудиофайлы грузить? В attachments приходит url только?
Тут вообще ерунда написана. Этот цикл либо никогда не выполнится, либо будет выполняться бесконечно.
Текст то в update.message.body.text не меняется