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

117
Обсуждение, вопросы, предложения. 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
261
Иван, ты невероятно крут. начата новая эра в ботоведении
251
Та не за что)
254
ааа, форварвар. links = NewMessageLink(MessageLinkType.FORWARD, update.message.body.mid) self.msg.send_message(NewMessageBody('Какой-то текст.', link=links), chat_id=update.chat_id) Ну или в место forward - reply. Вроде бы всё правильно
Иван
255
Я хочу делать ботом вот так
Ну или так хотя бы
Иван
269
Я хочу делать ботом вот так
253
Кто-нибудь подскажет?
Я так понимаю речь идёт об этом.
Иван
255
Кто-нибудь подскажет?
Иван
254
Пока вопрос. А как пересылать сообщения в рамках одного чата? В библиотеке не нашёл forward_message
Иван
249
Долго тупил, принимая mp3 за байты
Иван
268
import speech_recognition as sr import subprocess import urllib from urllib.request import urlopen if update.message.body.attachments and update.message.body.attachments[0].type == 'audio': url = update.message.body.attachments[0].payload.url urllib.request.urlretrieve(url, 'temp.mp3') subprocess.call(['ffmpeg', '-y', '-i', 'temp.mp3', 'temp.wav']) ...
Иван
254
Пока вопрос. А как пересылать сообщения в рамках одного чата? В библиотеке не нашёл forward_message
Иван
251
Сейчас добью и скину
Иван
250
А нет, ещё не до конца
Иван
254
Коллеги, я разобрался
RED
244
осталось только скачать файл, перенаправить в яндекс и получить текст
m4dn355
249
в url ссылка на mp3 файл
m4dn355
247
вот бот получил аудиосообщение
m4dn355
245
все правильно)
RED
236
Иван отказывается делиться подробностями с сообществом..
m4dn355
237
кстати, интересная тема)) я же правильно понимаю, голосовое сообщение оно будет как и обычное, но в attachments будет ссылка на аудиофайл?
RED
237
ничего невозможного нет
236
И как он будет голосовые обрабатывать? Это же он должен скачать получается и сделать ряд операций.
239
голосовая команда да? Саймон сказал сделай кофе :D
RED
240
обрабатывать.. звучит страшновато. или решил замутить голосовые команды?
Иван
237
Вопрос непонятен. Что делаешь и что не получается при этом?
Хочу принимать и обрабатывать голосовые. Никак не получается
m4dn355
232
все))) заработало))) спасибо огромнейшее))
m4dn355
237
было вот так: self.msg.send_message(NewMessageBody(f'{data["text"]}', attachment=links), chat_id=-71505373495364) а должно было быть attachmentS
m4dn355
238
твою дивизию)))) я нашел опечатку)))
RED
235
подставь в своём коде строку print(type(attachments)), чтоб понять, что ты ему пытаешься скормить
m4dn355
239
и тогда заработает?
m4dn355
240
может дело в том, что он во второй строке снизу с ошибкой пишет " 'Content-Type': 'application/json; " ? и надо эту штуку как-то в json конвертировать?
m4dn355
232
собственно вот
RED
236
[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
234
блин... eval не заработал....
m4dn355
240
сам бы точно не разобрался))
m4dn355
236
спасибо большое))
RED
237
eval заработает
m4dn355
240
точняяяк!! либо я могу хранить в бд mid, а потом каким-то образом узнавать attachments по этому mid)) но это в случае если eval() не заработает))
m4dn355
236
понял)) после обеда поменяю и проверю))) надеюсь заработает)) а то мне в голову еще более жесткий костыль пришел)) завести десяток глобальных переменных и в них хранить содержимое attachments для каждой строки в бд)) и в бд хранить только номер переменной и в зависимости от номера вызывать определенную переменную)) но это костыль жесткий)) перезапускаешь скрипт, или вырубается свет и данные потеря ...
m4dn355
236
блин, после применения exec() содержимое превращается в None ...
RED
232
костыльно на вид, но должно работать.. мне кажется у бд должны быть встроенные средства для таких дел