Discord.py Как получить список участников онлайн на сервере в discord?
Я хочу написать бота, который выводил бы сообщение в консоль, когда кто-то заходит в сеть на моем дискорд сервере. Но я не могу получить участников онлайн. member.status, возвращает "offline" для тех кто в сети и не в сети. В доках discord py, я не нашел функцию, которая возвращала бы только онлайн юзеров
import discord
from discord.ext import commands
intents = discord.Intents.default()
intents.members = True
Token = 'My bot token'
client = discord.Client(intents = intents)
@client.event
async def on_ready():
for server in client.guilds:
print(server)
for member in server.members:
print(member, "-", member.status)
client.run(Token)
Ответы (1 шт):
Автор решения: RAINGM
→ Ссылка
Вот список юзеров online, idle, offline, dnd
mbrs = ctx.guild.members
online = len(list(filter(lambda x: x.status == discord.Status.online, mbrs)))
idle = len(list(filter(lambda x: x.status == discord.Status.idle, mbrs)))
offline = len(list(filter(lambda x: x.status == discord.Status.offline, mbrs)))
dnd = len(list(filter(lambda x: x.status == discord.Status.dnd, mbrs)))