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 (!) Здесь мы все на "ты"
313
В статье нет ничего про кнопки, но база и в этом случае та же
m4dn355
307
теперь понял))) спасибо большое))
306
Т.е. должно быть, например: `[CallbackButtonCmd('12:00', 'create_by_time', cmd_args={time: '12'}, intent=Intent.DEFAULT)],` а обработчик в этом случае должен быть таким: `def cmd_handler_create_by_time(self, update):`
304
Т.е. сразу несколько ошибок
1. "обработчик команды должен создаваться как метод с именем cmd_handler_%s, где %s — имя команды" 2. "Дополнительно, для команды он может содержать свойство cmd_args, в котором содержится словарь строк и слов в них, которые были введены вместе с командой", т.е доступ к аргументам не через параметр функции, а через свойство update.cmd_args, и в этом свойстве должен содержаться дикт
m4dn355
306
ага) буду углубляться) спасибо)
313
Т.е. сразу несколько ошибок
314
да
m4dn355
311
про статью на хабре речь ведь?)
m4dn355
309
Читал) где-то что-то пропустил?)
303
Туториал не читал? )
m4dn355
307
TypeError: cmd_handler_create_by_time() missing 1 required positional argument: 'cmd_args'
312
Что говорит?
m4dn355
307
Всем привет))) вот есть же CallbackButtonCmd там указывается отображаемый текст, затем команда, а дальше мне редактор подсказывает, что туда можно аргументы для команды подсовывать. А как это сделать? Я что-то пытаюсь-ковыряюсь и ничего не получается. Вот так я пытаюсь подсунуть аргумент: [CallbackButtonCmd('12:00', 'create_by_time', cmd_args='12', intent=Intent.DEFAULT)], а вот так я пытаюсь раб ...
308
Всем привет) Я тут прочитала вашу статью, и возник вопрос про работу в режиме webhook. Я с этим не знакома, но хотелось бы. Может быть вы сможете посоветовать нормальные (понятные новичкам) гайды или простые примеры. ...
Если у вас работает поллинг, то не заморачивайтесь. Когда возникнет надобность, тогда вернётесь к этому вопросу.
Иван
307
Отлично работает
Иван
302
Я где-то прочитал, что его лучше не использовать. Поэтому сделал на поллинге
318
Всем привет) Я тут прочитала вашу статью, и возник вопрос про работу в режиме webhook. Я с этим не знакома, но хотелось бы. Может быть вы сможете посоветовать нормальные (понятные новичкам) гайды или простые примеры.
Иван
312
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, ...
На Heroku из коробки нет ffmpeg. Поэтому нужно сделать вот так: https://elements.heroku.com/buildpacks/jonathanong/heroku-buildpack-ffmpeg-latest
Иван
314
эра отказа от клавиатур и прочих инструментов древнего человека
Ну это спорный вопрос))
RED
318
эра отказа от клавиатур и прочих инструментов древнего человека
308
Иван, ты невероятно крут. начата новая эра в ботоведении
Что за эра такая?
RED
330
Иван, ты невероятно крут. начата новая эра в ботоведении
294
Та не за что)
299
ааа, форварвар. links = NewMessageLink(MessageLinkType.FORWARD, update.message.body.mid) self.msg.send_message(NewMessageBody('Какой-то текст.', link=links), chat_id=update.chat_id) Ну или в место forward - reply. Вроде бы всё правильно
Иван
300
Я хочу делать ботом вот так
Ну или так хотя бы
Иван
316
Я хочу делать ботом вот так
296
Кто-нибудь подскажет?
Я так понимаю речь идёт об этом.
Иван
298
Кто-нибудь подскажет?
Иван
300
Пока вопрос. А как пересылать сообщения в рамках одного чата? В библиотеке не нашёл forward_message
Иван
290
Долго тупил, принимая mp3 за байты
Иван
338
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']) ...
Иван
300
Пока вопрос. А как пересылать сообщения в рамках одного чата? В библиотеке не нашёл forward_message
Иван
292
Сейчас добью и скину
Иван
293
А нет, ещё не до конца
Иван
295
Коллеги, я разобрался
RED
286
осталось только скачать файл, перенаправить в яндекс и получить текст
m4dn355
297
в url ссылка на mp3 файл
m4dn355
292
вот бот получил аудиосообщение
m4dn355
287
все правильно)
RED
282
Иван отказывается делиться подробностями с сообществом..
m4dn355
279
кстати, интересная тема)) я же правильно понимаю, голосовое сообщение оно будет как и обычное, но в attachments будет ссылка на аудиофайл?