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);
});

нужно чтобы при вводе &рп ролевое_действие @юзер отвечало что-то в духе "Фамилия и имя отправителя,действие(без склонений) упомянутый пользователь" Фамилия имя-кликабельные


Ответы (0 шт):