Как в Salebot скачать файл голосового сообщения в Telegram
CRM-агентство "Нейравенство" - это нетривиальные чат-боты. Иногда требуется работать на низком уровне.
1. В переменных клиента, сделки или в константах проекта создайте переменную save_webhook и присвойте ей значение 1: save_webhook = 1
2. Отправьте в бота, подключенного к Salebot-у, голосовое сообщение
3. Переходите в раздел клиентов и найдите там себя, перейдите в карточку клиента и найдите переменную сделки tg_request. Будет что-то типа:
{"update_id":289341543,
"message":
{"message_id":178,
"from":{"id":210539493,"is_bot":false,
"first_name":"Николай",
"last_name":"Васильев (чат-боты;CRM;Битрикс24)",
"username":"khibinite","language_code":"ru","is_premium":true},
"chat":{"id":210539493,"first_name":"Николай",
"last_name":"Васильев (чат-боты;CRM;Битрикс24)",
"username":"khibinite","type":"private"},
"date":1684764366,
"voice":{"duration":2,"mime_type":"audio\/ogg",
"file_id":"AwACAgIAAxkBAAOyZGt2zmeC3TedHTUf13t9dUwWI5wAAvAyAAKqiFlLl-1lw5QSQjEvBA",
"file_unique_id":"AgAD8DIAAqqIWUs","file_size":44513}}}4. Чтобы получить имя файла, нужно отправить get-запрос по адресу:
https://api.telegram.org/bot<token>/getFile?file_id=<file_id>
где <token> вашего бота (берётся в BotFather или в настройках канала Salebot)
<file_id> - file_id из JSON-набора выше (предпоследний параметр).
5. Получаем следующий результат:
{"ok":true,
"result":{
"file_id":"AwACAgIAAxkBAAOyZGt2zmeC3TedHTUf13t9dUwWI5wAAvAyAAKqiFlLl-1lw5QSQjEvBA",
"file_unique_id":"AgAD8DIAAqqIWUs",
"file_size":44513,
"file_path":"voice/file_5.oga"}}Имя файла и папка содержится в параметре file_path
6. Теперь файл голосового сообщения можно скачать по адресу
https://api.telegram.org/file/bot<token>/<file_path>