• Что не так с кодом js?

    @xIICUX
    Возможно ошибка тут:
    message.member.roles.set(mainRole.id);

    Если вы хотите добавить роль пользователю ...roles.add(roleID)
    Если убрать - ...roles.remove(roleID)
    Ответ написан
    Комментировать
  • Как сделать удаление сообщения по реакции в дискорде?

    @xIICUX
    https://restarter.mattcowley.co.uk/docs/#channelreacts
    Документация по вашему боту, кажется, он этого не может.

    Если не хотите сильно запариваться с программированием кастомного бота, можете поставить yagpdb
    И создать кастомную команду примерно такого вида:
    Trigger type: Reaction ( Added reactions only )
    Response:
    {{ $Msg:= getMessage .Reaction.ChannelID .Reaction.MessageID }}
    {{ if eq $Msg.Author.ID .Reaction.UserID }}    
        {{ deleteTrigger 0 }}
    {{ end }}

    Only run in the following channels: (выберите ваш канал)
    Ответ написан
    Комментировать
  • Как отобразить количество пользователей онлайн в названии голосового канала discord,.js?

    @xIICUX
    Можно сделать так, протестировал, вроде работает, ботов не захватывает
    ( внимание, проверки писал на скорую руку и я вообще сам почти новичок )

    function СhCounter( guild, ChCounter, UpdateTime = 10000 ) { 
    // guild - Объект гильдии, ChCounter - Объект канала в этой гильдии, UpdateTime - обновлять каждые N ms
    
       if ( !guild || !ChCounter || UpdateTime < 1000 ) return 0; // Проверка на валидность
    
       const Users = guild.members.cache.filter(m => m.user.bot === false) //Все юзеры
       const OnlineCount = Users.filter(m => m.presence.status != 'offline').size //Число юзеров онлайн
        
       ChCounter.setName(`${OnlineCount} / ${Users.size} online members`); // Меняем название канала
       setTimeout( СhCounter, UpdateTime, guild, ChCounter, UpdateTime ); // Вызываем повторно через UpdateTime ms
    
    }


    Потом просто вызываете функцию и сообщаете ей нужные параметры
    ( например, во время инициализации бота )

    //Токен уже введёт, логин произведён
    
    const couterConfig = {
       guildID: "YOU GUILD ID",
       chID: "YOU CHANNEL ID"
    }
    
    client.on("ready", () => {
    
       test_GUILD = client.guilds.cache.get(couterConfig.guildID);
       if (!test_GUILD ) return console.log("Не могу найти гильдию для подсчёта") // Проверочка валидности
       test_Channel = test_GUILD.channels.cache.get(couterConfig.chID);
       if (!test_GUILD ) return console.log("Не могу найти канал для подсчёта") // Проверочка валидности
       
       console.log("Начинаю считать");
       СhCounter(test_GUILD, test_Channel, 5000); // Вызов ф-и
       
    }
    Ответ написан
    Комментировать