Бот который показывает количество участников дискорд

Извините за длинное название. Я хочу, чтобы мой бот сообщал мне, сколько участников у моего бота на сервере в статусе бота. Другими словами, я хочу, чтобы на статуях моего бота было написано 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: , т.к. в нужный вам канал, пользователь мог зайти из другого.

Еще по теме:  Discord как отключить обновления

Отслеживать
ответ дан 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

Рейтинг
( Пока оценок нет )
Загрузка ...