Приветствую. Создаю бота для вк на Node js (VK-IO) Хочу написать команду бан, но чтобы она реагировала не только на ссылку пользователя, а при ответном сообщении Как сделать?
if (!message.hasForwards && !message.replyMessage) { if (!message.args[1]) return bot( `вы не указали обязательный аргумент. (ссылка/id/пересланное сообщение)` ); user = users.find(x => x.uid == Number(message.args[1])); if (!user) { let res = await vk.snippets.resolveResource(message.args[1]); user = users.find(x => x.id == res.id); } } else { mes = message.hasForwards ? message.forwards[0].senderId : message.replyMessage.senderId; user = users.find(x => x.id == mes); } if (!user) return bot(`Не удалось найти игрока`); JavaScript if (!message.hasForwards && !message.replyMessage) { if (!message.args[1]) return bot( `вы не указали обязательный аргумент. (ссылка/id/пересланное сообщение)` ); user = users.find(x => x.uid == Number(message.args[1])); if (!user) { let res = await vk.snippets.resolveResource(message.args[1]); user = users.find(x => x.id == res.id); } } else { mes = message.hasForwards ? message.forwards[0].senderId : message.replyMessage.senderId; user = users.find(x => x.id == mes); } if (!user) return bot(`Не удалось найти игрока`); json база, взял с бота одного
На пересланное сообщение сделать невозможно. Это вконтакте (та ещё помойка), только с ответом на сообщение выйдет
let get_id = await ctx.replyMessage.conversationMessageId; console.log(get_id) JavaScript let get_id = await ctx.replyMessage.conversationMessageId; console.log(get_id)
if (!context.text && ! !context.forwards[0] && !context.replyMessage) { return context.send(`Ты должен ввести ссылку на человека или переслать его сообщение.`) } let id if (context.replyMessage) { id = context.replyMessage.senderId; } else if(context.forwards[0]) { id = context.forwards[0].senderId; } console.log(id) Code if (!context.text && ! !context.forwards[0] && !context.replyMessage) { return context.send(`Ты должен ввести ссылку на человека или переслать его сообщение.`) } let id if (context.replyMessage) { id = context.replyMessage.senderId; } else if(context.forwards[0]) { id = context.forwards[0].senderId; } console.log(id)
FasterWox, const { API, resolveResource } = require('vk-io'); const api = new API({ token: 'token' }) /** * Это уже кидай там где будет обрабатывать */ if (!context.text && !context.forwards[0] && !context.replyMessage) { return context.send(`Ты должен ввести ссылку на человека или переслать его сообщение.`) } let id, response if (context.replyMessage) { id = context.replyMessage.senderId; } else if(context.forwards[0]) { id = context.forwards[0].senderId; } else { try { response = await resolveResource({ api, resource: context.text.split(' ')[1] }) if (response.type !== 'user') { return context.send('Указанная ссылка ведет не на человека.') } id = response.id; } catch (e) { // Тут обработка ошибки } } console.log(id) Code const { API, resolveResource } = require('vk-io'); const api = new API({ token: 'token' }) /** * Это уже кидай там где будет обрабатывать */ if (!context.text && !context.forwards[0] && !context.replyMessage) { return context.send(`Ты должен ввести ссылку на человека или переслать его сообщение.`) } let id, response if (context.replyMessage) { id = context.replyMessage.senderId; } else if(context.forwards[0]) { id = context.forwards[0].senderId; } else { try { response = await resolveResource({ api, resource: context.text.split(' ')[1] }) if (response.type !== 'user') { return context.send('Указанная ссылка ведет не на человека.') } id = response.id; } catch (e) { // Тут обработка ошибки } } console.log(id)