ping и потеря пакетов увеличиваются при получении данных от wit.ai - PullRequest
0 голосов
/ 30 ноября 2018

Я пытаюсь создать диссон-бота, который работает с голосовыми командами (используя wit.ai для преобразования текста в текст), и у меня это работает, но когда он отправляет или получает данные в / из wit.ai, пинг идетвплоть до 350 мс.

Кроме того, уровень потери исходящих пакетов в голосовом канале возрастает примерно до 20%, что раздражает, потому что тогда вы звучите роботизированно, и это отстает.Когда вы нажимаете на отладку, дискорд говорит, что мой бот находится на входе, но ничего не отправляет на голосовой канал, так почему он будет входящим ??

Бот отправляет данные в wit.ai каждый раз, когда кто-то говорит, так что он почти всегда работает с высоким пингом и прочим.Если кто-то может улучшить мой код (или, может быть, другую библиотеку?), Чтобы он влиял на пинг и пакеты (много), то это было бы здорово.

Заранее спасибо.Вот код, который запускается, когда кто-то говорит:

const accessHeaders = function (access_token, others) {
    return _.extend(others || {}, {
        'Authorization': 'Bearer ' + access_token,
        'Accept': 'application/vnd.wit.' + "20170217"
    });
};


// Request options
const request_options = {
    url: 'https://api.wit.ai/speech',
    method: 'POST',
    json: true,
    headers: accessHeaders('TKOAGFCMGDIRYNZU36XHQDFD32HWXM6O', { 'Content-Type': 'audio/wav' })
};



var wav = require('wav');
var converter = new wav.Writer();

const receiver = member.guild.voiceConnection.createReceiver();
const inputStream = receiver.createPCMStream(member);
inputStream.pipe(converter);

converter.pipe(request(request_options, (error, response, body) => {
    receiver.destroy();
    if (response && response.statusCode != 200) {
        error = "Invalid response received from server: " + response.statusCode;
    }
    if(error)
        return console.log(error);
    console.log("you said: " + body._text);
}));

1 Ответ

0 голосов
/ 18 мая 2019

Лаг не имеет никакого отношения к моему коду.Это было в конце концов, и теперь они это исправили.

...