Я создаю бота для Kik, который выбирает ссылку на YouTube для песни, которую ищет пользователь, отправив ей название песни.Эта часть работает, но я хочу использовать ResponseKeyboard Кика, чтобы пользователь мог сказать «! Далее», и он отправит им следующий результат, полученный из API YouTube.Тем не менее, когда пользователь говорит «Далее!»например, после «Hello» - получения ссылки на «Adele - Hello», он ищет песню под названием Next вместо получения следующего результата из возвращенного списка URL-адресов из «Hello».
client.onTextMessage((message) => {
let content = message.body;
switch (content) {
default:
let i = 0;
function link() {
ytSearch(content, opts, function (err, results) {
if (err) return console.log(err);
console.dir(results[i].link);
let sendLink = Client.Message.link(results[0].link, message.chatId);
sendLink.addResponseKeyboard(['Next!']);
message.reply(sendLink);
});
};
if(content != 'Next!') {
link();
} else {
function increment(n) {
n++;
return n;
}
i = increment(i);
link();
}
};
Я думал, что если я буду увеличивать i каждый раз, когда "Next!"получен, а затем снова запустите функцию связи, она получит последнее значение, но я понимаю, что «Next!»воспринимается как новое событие onTextMessage, я просто не могу понять, как заставить его этого не делать.