Vk.io, Нужно чтобы после actions выводило фамилию и имя упомянутого пользователя,а перед ним выводило фамилию и имя отправителя
Вот полный код бота для node.js
const { VK } = require('vk-io');
const fs = require('fs');
const vk = new VK({
token: 'token'
});
const { updates } = vk;
let actions = [];
fs.readFile('actions.json', 'utf8', (err, data) => {
if (err) {
console.error('Ошибка при чтении файла:', err);
} else {
try {
actions = JSON.parse(data);
} catch (e) {
console.error('Ошибка при парсинге JSON:', e);
}
}
});
updates.on('message', async (context, next) => {
const { text } = context.message;
if (text && text.toLowerCase() === '&пить') {
const randomAmount = Math.floor(Math.random() * 1000) + 1;
const drinks = ['сока', 'молока', 'чая', 'чифиря', 'нефти', 'лимонной кислоты', 'закамского кваса', 'водки', 'клея момент', 'кефира', 'ряженки', 'солёной воды', 'пива', 'лимонада', 'любовного зелья', 'жижки из подика', 'воды', 'текилы', 'уксуса', 'коньяка', 'очень слабого слабительного', 'жидкого салата из рыбы', 'рассола'];
const randomDrink = drinks[Math.floor(Math.random() * drinks.length)];
const response = `Вы выпили ${randomAmount} мл ${randomDrink}`;
await context.send(response);
}
if (text && text.toLowerCase() === '&') {
const response = 'Ampersand(&) v 0.21 beta пока скиллов программирования у меня особенно нет как таковых \n список команд \n жрать, пить, \n создать рп(юзать через рп "созданное действие") \n все команды с префиксом &';
await context.send(response);
}
if (text && text.toLowerCase() === '&жрать') {
const randomBurger = Math.floor(Math.random() * 20) + 1;
const response = `Вы сожрали ${randomBurger} чизбургеров`;
await context.send(response);
}
if (text && text.toLowerCase().startsWith('&создать рп ')) {
const action = text.slice(11).trim();
if (action) {
actions.push(action);
fs.writeFile('actions.json', JSON.stringify(actions), 'utf8', (err) => {
if (err) {
console.error('Ошибка при записи в файл:', err);
}
});
await context.send(`Вы создали ролевое действие "${action}"`);
} else {
await context.send('Вы не указали действие');
}
}
if (text && text.toLowerCase().startsWith('&рп ')) {
const action = text.slice(4).trim();
if (action) {
if (actions.includes(action)) {
const endings = ['и'];
const ending = endings[Math.floor(Math.random() * endings.length)];
const conjugated = `${action}`;
await context.send(`Ты ${conjugated}`);
} else {
await context.send('Такого действия нет');
}
} else {
await context.send('Вы не указали действие');
}
}
return next();
});
updates.start().then(() => {
console.log('Бот запущен');
}).catch((error) => {
console.error('Ошибка при запуске бота:', error);
});
нужно чтобы при вводе &рп ролевое_действие @юзер отвечало что-то в духе "Фамилия и имя отправителя,действие(без склонений) упомянутый пользователь" Фамилия имя-кликабельные