Discord python как мне получить всех забаненных пользователей? - PullRequest
1 голос
/ 23 февраля 2020

Я просматривал ссылку на API и нашел fetch_ban (пользователь). Как я могу проверить, забанен ли пользователь с сервера, я читал, что он возвращает BanEntry, и получить логическое значение? Могу ли я также использовать член или мне нужно получить пользователя? Спасибо за любой ответ.

1 Ответ

2 голосов
/ 23 февраля 2020

Совет: всегда связывайте то, о чем вы говорите.

fetch_ban BanEntry (исходный код discord.py)

Если вы go в исходном коде вы очень быстро найдете это в первых строках: BanEntry = namedtuple('BanEntry', 'reason user')

Возвращен объект BanEntry , если пользователь заблокирован , в противном случае он возвращает исключение NotFound. Поэтому, чтобы проверить, забанен ли пользователь, просто выполните:

async def is_banned(guild, user):
    try:
        entry = await guild.fetch_ban(user)
    except discord.NotFound:
        return False
    return True

Это также будет работать с членами, поскольку они в основном являются объектами пользователя с небольшим дополнительным значением.

BanEntry является именованным кортежем (если вам нужно освежить в этих здесь ).

...