Я пытаюсь создать диссон-бота, который работает с голосовыми командами (используя 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);
}));