Загрузка...

Bot VK - НУЖНА СРОЧНАЯ ПОМОЩЬ

Тема в разделе Node.js создана пользователем vcentrevkusa 21 окт 2021. (поднята 22 окт 2021) 678 просмотров

  1. vcentrevkusa
    vcentrevkusa Автор темы 21 окт 2021 Заблокирован(а) 405 18 ноя 2019
    Приветствую. Создаю бота для вк на Node js (VK-IO)
    Хочу написать команду бан, но чтобы она реагировала не только на ссылку пользователя, а при ответном сообщении
    Как сделать?
     
    21 окт 2021 Изменено
  2. Lokshshdvhd
    Lokshshdvhd 21 окт 2021 26 26 июн 2020
    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 база, взял с бота одного
     
    1. vcentrevkusa Автор темы
      Lokshshdvhd, работает только на упоминание, а на ответ сообщения не работает
    2. r3ged1t
      Lokshshdvhd, дак это старая вк ио версия
  3. noteee
    noteee 21 окт 2021 Заблокирован(а) 82 28 мар 2018
    На пересланное сообщение сделать невозможно. Это вконтакте (та ещё помойка), только с ответом на сообщение выйдет
     
    1. vcentrevkusa Автор темы
      noteee, не на переслонное а на ответ
  4. r3ged1t
    r3ged1t 22 окт 2021 3 28 мар 2021
    JavaScript
    let get_id = await ctx.replyMessage.conversationMessageId;
    console.log(get_id)
     
  5. FasterWox
    FasterWox 26 окт 2021 Я мусульман 47 26 июн 2021
    Код
    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)
     
    1. FasterWox
      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)
Загрузка...
Top