Всем привет. Создаю команду для поиска в Google в Discord боте. Все создал, ключи есть, с этим все ок. Делаю запрос в гугле через axios. Есть проблема. Если ввести в опцию команды латинские буквы, то все ок. Поиск выполняется. Но если ввести кириллицу, то выдает ошибку TypeError:
Логи
TypeError [ERR_UNESCAPED_CHARACTERS]: Request path contains unescaped characters
at new NodeError (node:internal/errors:387:5)
at new ClientRequest (node:_http_client:173:13)
at Object.request (node:https:360:10)
at RedirectableRequest._performRequest (/home/nikita/botfordownloadapk/node_modules/follow-redirects/index.js:279:24)
at new RedirectableRequest (/home/nikita/botfordownloadapk/node_modules/follow-redirects/index.js:61:8)
at Object.request (/home/nikita/botfordownloadapk/node_modules/follow-redirects/index.js:511:14)
at dispatchHttpRequest (/home/nikita/botfordownloadapk/node_modules/axios/lib/adapters/http.js:262:25)
at new Promise (<anonymous>)
at httpAdapter (/home/nikita/botfordownloadapk/node_modules/axios/lib/adapters/http.js:49:10)
at dispatchRequest (/home/nikita/botfordownloadapk/node_modules/axios/lib/core/dispatchRequest.js:58:10) {
code: 'ERR_UNESCAPED_CHARACTERS'
}
Код слеш-команды
const {SlashCommandBuilder} = require('discord.js');
const {googleAPI, googleID} = require('../config.json')
const axios = require('axios')
module.exports = {
data: new SlashCommandBuilder()
.setName('google')
.setDescription('Гугл для неумелых')
.addStringOption(option =>
option.setName('text')
.setDescription('Текст для поиска в Google')
.setRequired(true)),
async execute(interaction) {
const req = interaction.options.getString('text')
axios.get(`https://www.googleapis.com/customsearch/v1?key=${googleAPI}&cx=${googleID}&q=${req}`)
.then((response) => {
return console.log(response.data.items);
}).catch((error) => {
console.log(error);
return interaction.reply({
content: "Произошла ошибка при поиске в Google. Попробуйте позже.",
ephemeral: true
})
});
}
}
Что делать?