Задать вопрос
@kokapuk

Почему не могу получить участников сервера?

import discord
from discord import message
from discord import member
from discord.ext import commands
import json
import os.path
import datetime
import asyncio
import os

_dict = {}
SAVEPATH = 'MuteData.json'
MUTEROLEID = x
GUILDID = x
MODERATIONROLEID = x
TOKEN = 'X'

MUTEROLE = ''
GUILD = ''
MODERATIONROLE = ''

intents = discord.Intents.all()

bot = commands.Bot(command_prefix='+', intents=intents)

@bot.event
async def on_ready():
    print('invoked')
    global MUTEROLE, GUILD, MODERATIONROLE
    GUILD = await bot.fetch_guild(GUILDID)
    MUTEROLE = GUILD.get_role(MUTEROLEID)
    MODERATIONROLE = GUILD.get_role(MODERATIONROLEID)
    bot.loop.create_task(getMuteList())
    if (not os.path.exists(SAVEPATH)) or (len(_dict) == 0):
        print(GUILD.members)
        for member in GUILD.members:
            if MUTEROLE in member.roles:
                await member.remove_roles(MUTEROLE)

bot.run(TOKEN)


GUILD.members возвращает пустой список

611bfdd982608513681484.png

Ещё интересно то, что событие присоединения на сервер срабатывает, хотя оно тоже, насколько я знаю требует intents.
  • Вопрос задан
  • 44 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • SF Education
    Бэкенд-разработчик на Python
    3 месяца
    Далее
Решения вопроса 1
@ZERRITO
Пустой ноль
Используйте get_guild(GUILDID) вместо fetch_guild(GUILDID)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы