Ответы пользователя по тегу Node.js
  • Не получается удалить сообщение с помощью VK API, что делать?

    aeonixlegit
    @aeonixlegit
    Back-end разработчик на node.js
    Всё зависит от того, кем является необходииый Вам бот, если бот является группой и работает через
    добавление группы в чаты - то увы, ничего не поделать, API не хранит айди сообщений для групп, из-за чего со стороны групп нельзя удалить сообщения, единственный способ - это удалять сообщения от имени пользователя или удалять их вручную.

    Если же Вы используете бота со стороны страницы пользователя, то попробуйте законсолить то, что выдает API и рассуждать и устранять исходя из этого.

    Как я понимаю, в коде используется библиотека vk-io, следовательно адаптировал код под неё.

    const otherMessage = (await vk.api.messages.getByConversationMessageId({
      peer_id: 2000000000 + message.chatId,
      conversation_message_ids: message.conversationMessageId,
    })).items[0]
    
    console.log(otherMessage)
    
    await Promise.all([
      vk.api.messages.delete({
        message_ids: otherMessage.id,
        delete_for_all: 1,
      }),
      vk.api.messages.removeChatUser({
        chat_id: message.chatId,
        user_id: message.senderId,
      })
    ])
    
    return message_b(message.chatId, 'Отправка ссылок в этой беседе запрещена.')
    Ответ написан
    Комментировать
  • Как сделать такую статистику сервера в дискорд?

    aeonixlegit
    @aeonixlegit
    Back-end разработчик на node.js
    Код вряд-ли кто скинет, тут "вопрос-ответ", а не "напишите код за меня за спасибо", но реализовать это довольно просто.

    1. Создаем 3 Voice канала, сохраняем их ID для последующего редактирования, блокируем к ним доступ.
    2. Каждые N секунд, делаем запрос на количество участников из них вычитаем участников с тегом "бот"
    3. Редактируем название Voice канала на необходимое нам с количеством участников.
    Ответ написан
  • Почему при отправки запроса в ответ получаю 404?

    aeonixlegit
    @aeonixlegit
    Back-end разработчик на node.js
    Скорее всего на сайте включена капча-защита от сторонних сервисов наподобии Cloudflare, которым для реализации капчи необходимо использовать JavaScript, чтоб пользователь прошел капчу и перешел на сам сайт, либо на сайте просто стоит защита, которая перед рендером сайта отправляет клиенту JavaScript-челлендж, который решается банальным eval(), когда после отправки ответа сайт оправляет содержимое страницы.

    Более упрощенная схема работы: сайт при первом подключении отправляет челлендж, после чего записывает его в ячейку "сессии" и отправляет в виде Cookie данную сессию или любые данные, которые позволят идентифицировать что именно этот пользователь прошел проверку капчей или челленджем, при последующих запросах JavaScript не требуется, так как сайт идентифицировал Вас по Cookie.

    Вряд ли они понимают, что запрос делается не через браузер, в качестве альтернативы запроса остается лишь использовать библиотеки на подобии Puppeteer, эмулирующие браузер или выполняющие JavaScript код; либо придется писать свои алгоритмы обхода защит.
    Ответ написан
    Комментировать
  • Нужно ли очищать интервал в nodejs?

    aeonixlegit
    @aeonixlegit
    Back-end разработчик на node.js
    Зависит от ситуации, если Вы делаете запрос в интервале, сравнивает и записываете изменения в нем, то утечки быть не должно и очищать тоже, это все делается автоматически. В любой момент Вы можете протестировать это самостоятельно, логируя используемую оперативную память.
    Ответ написан
    Комментировать