Ответы пользователя по тегу Node.js
  • Как вывести людей в Voice каналах discord js?

    @ettychel
    let voiceonline = guild.voiceStates.cache.filter(e => e.channelID).size;

    .toLocaleString() - Здесь необязательно, потому как JS сам преобразует в строку при дальнейшей вашей операции
    Ответ написан
  • Как перевести код с python на node js?

    @ettychel
    Ниже ваш код питона в JS с использованием библиотеки discord-js
    А вообще тут знание питона и не нужно, достаточно пара запросов в гугл
    Код

    const Discord = require("discord.js");
    const bot = new Discord.Client();
    
    bot.on("ready", async () => {
      console.log("Bot Connected");
      global.tdict = {};
      await bot.user.setActivity("r!help", { type: "PLAYING" });
    });
    
    bot.on("voiceStateUpdate", async (before, after) => {
      const author = before.member.id || after.member.id;
      if (!before.channel && after.channel) {
        console.log("1");
        const t1 = Math.floor(Date.now() / 1000);
        global.tdict[author] = t1;
      } else if (before.channel && !after.channel && global.tdict.hasOwnProperty(author)) {
        const t2 = Math.floor(Date.now() / 1000);
        console.log("0");
        console.log(t2 - global.tdict[author]);
      }
    });

    Ответ написан
    1 комментарий
  • Как сделать что бы бот discord показывал статус сайта?

    @ettychel
    rama_jecboom, делайте запрос curl к нужному сайту, если отвечает 200 статусом, значит сайт доступен.

    Например вешаете обработчик на команду !status , где name ресурс, статус которого предстоит узнать.
    У вас должен быть также json файлик, ну или какой либо другой файлик или источник информации с названиями сайтов и их url, например:
    /* urlBase.json */
    [
      {
        "name": "google",
        "url": "https://google.com"
      },
      {
        "name": "vk",
        "url": "https://vk.com"
      }
    ]


    Соответственно в обработчике вы ищите в массиве нужный вам объект и отправляете его в метод который запросит статус
    /* ... */
    import urlBase from "./urlBase.json"
    
    /*...*/
    
    const targetSite = urlBase.find( e => e.name === name )
    
    return getTargetSiteStatus(targetSite)


    А вот сам метод запроса статуса делается с помощью пакета node-fetch и https, оставляю реализацию вам
    Ответ написан
    Комментировать
  • Что лучше всего использовать для аутентификации, если данные пользователя могут изменится в любой момент?

    @ettychel
    Ну первое - очень долгая жизнь акссесс. поставьте ну хотя бы 2 часа.
    Второе - попробуйте использовать готовое решение в виде сервера аутентификации, вам не надо заморачиваться с токенами и их валидацией и вообще станет намного проще всё. Этот сервер также может авторизовать и вообще функционал огромный. Там и все модели выдачи прав доступа и подключение других поставщиков идентификации, в общем изучайте и с удовольствием пользуйтесь.

    P.s. примерно год назад я искал как лучшим образом осуществить аутентификацию и авторизацию у себя и Иван Шумов подсказал в каком направлении идти, с тех пор юзаю и наслаждаюсь)

    P.s. P.s. На первых этапах знакомства с инструментом наблюдается резкое обострение облысения))
    Ответ написан
    3 комментария