Извините за длинное название. Я хочу, чтобы мой бот сообщал мне, сколько участников у моего бота на сервере в статусе бота. Другими словами, я хочу, чтобы на статуях моего бота было написано Watching [member count] people and [server count] servers , но я не знаю как. Кто-нибудь может помочь?
Nicholas Chen 8 Янв 2021 в 02:23
2 ответа
Лучший ответ
Чтобы узнать количество серверов:
servers = len(client.guilds)
Чтобы узнать количество участников:
members = 0 for guild in client.guilds: members += guild.member_count — 1 # I’ve added a ‘-1’ because guild.member_count includes all users and bots including your own bot
Итак, ваше событие on_ready() будет выглядеть так:
Sujit 8 Янв 2021 в 04:08
await client.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name=f’ servers and people’)
Источник: question-it.com
КАК СОЗДАТЬ СВОЕГО ДИСКОРД БОТА #3 | ДИСКОРД БОТ ПОКАЗЫВАЕТ КОЛИЧЕСТВО УЧАСТНИКОВ НА СЕРВЕРЕ
Счетчик пользователей на голосовом канале
Я пытаюсь создать бота для discord. Нужно написать сообщение в чат, если на голосовом канале есть три человека. Бот понимает, когда человек заходит на канал или выходит из него, но переменная members принимает значения 1 и -1 при входе и выходе из канала соответственно. Также бот не видит, что пользователь ушел, если админ переводит его на другой канал.
Как заставить счетчик работать и чтобы его значение также менялось, если админ перемещает пользователя?
Отслеживать
задан 20 июл 2022 в 22:04
ginta_caro ginta_caro
1 3 3 бронзовых знака
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Я думаю стоит убрать проверку if before.channel is None: , т.к. в нужный вам канал, пользователь мог зайти из другого.
Отслеживать
ответ дан 23 июл 2022 в 8:05
515 1 1 золотой знак 3 3 серебряных знака 10 10 бронзовых знаков
Большое спасибо за ответ! Но этот код так же срабатывает на отключение и включение микрофона (срима и звука), поэтому нужно добавить проверку before.channel.id != id .
23 июл 2022 в 8:32
В итоге я сделал то, что хотел:
Бот отправляет сообщение на текстовый канал, когда на голосовом канале находится необходимое количество людей (в моем случае это 3).
PS
Если есть возможность как-то сократить код или сделать его лучше, я буду рад вашему совету.
Источник: ru.stackoverflow.com
Как провести подсчет участников сервера ботом discord.js?
Написал код который считает участников на сервере дискорд, а также количество людей в голосовых каналах. Однако бот выдает значение количества участников вместе с ботами. Как изменить код чтобы количество участников было без ботов, а также добавить раздельную статистику по статусу — в сети, не активен, не беспокоить. Вот код
Статистика в баннере Дискорд сервера / Бот イド Ида
robot.on(‘message’, async (msg) =>
if (msg.partial) try await msg.fetch();
> catch (error) console.error(‘Something went wrong when fetching the message: ‘, error);
return;
>
>
let voiceChannels = msg.guild.channels.cache.filter(c => c.type === ‘voice’);
let count = 0;
for (let [id, voiceChannel] of voiceChannels) count += voiceChannel.members.size;
robot.channels.fetch(‘813054508015288360’).then(channel => channel.setName(«Котиков:»+ msg.guild.memberCount + ‘ ‘ + count)>);
>);
- Вопрос задан более года назад
- 846 просмотров
1 комментарий
Простой 1 комментарий
Источник: qna.habr.com