KarasTipoNoNet
@KarasTipoNoNet
Увлекаюсь програмированием

Почему бот не считает количество участников?

Делаю бота для дискорда и решил сделать статистику сервера, чтобы показывало онлайн и количество участников и у меня почему-то бот "пробегается" не по всем участникам, а только по себе (то есть, он считывает свой статус (то что он онлайн) и показывает в кол-ве участников только себя). Вот код:

@client.command()
async def server(ctx):
	await ctx.send('идёт сбор информации... Пожалуйста подождите...')

	online = 0
	idle = 0
	dnd = 0
	offline = 0

	server_name = ctx.guild.name
	server_owner = ctx.guild.owner
	server_all = 0
	server_members = 0
	server_bots = 0



	for member in ctx.guild.members:
		server_all += 1

		print(f'на сервере {server_all} участников')

		# if member == discord.Bot:
		# 	server_bots += 1

		# 	print(f'На сервере {server_bots} ботов')
		# else:
		# 	server_members += 1

		# 	print(f'на сервере {server_members} людей')

		if member.status == discord.Status.online:
			online += 1
			print(f'онлайн: {online}')
		if member.status == discord.Status.idle:
			idle += 1
			print(f'неактивен: {idle}')
		if member.status == discord.Status.dnd:
			dnd += 1
			print(f'Не беспокоить: {dnd}')
		if member.status == discord.Status.offline:
			offline += 1
			print(f'Оффлайн: {offline}')

	embed=discord.Embed(title="Статистика сервера ", description=f"**Участники:**\nВсего: {server_all}\n \nОнлайн: {online}\nНеактивен: {idle}\nНе беспокоить: {dnd}", color=0x0000ff)
	await ctx.send(embed=embed)

Что не так и как исправить ошибку?

Вот скриншот результата:
624835a78211d211142328.png
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
SoreMix
@SoreMix
yellow
Не хватает нужных прав (intents)

Код с faq:
import discord
 intents = discord.Intents.default()
 intents.members = True

 # Somewhere else:
 # client = discord.Client(intents=intents)
 # or
 # from discord.ext import commands
 # bot = commands.Bot(command_prefix='!', intents=intents)


https://discordpy.readthedocs.io/en/stable/intents...

https://discordpy.readthedocs.io/en/stable/intents.html
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы