Vadok
@Vadok

Как сделать команду блока?

Я хочу сделать некую команду блокировки, т.е. чтобы администратор ввëл в неë пользователя и бот больше не реагировал на данного пользователя. Как это можно реализовать?
  • Вопрос задан
  • 27 просмотров
Решения вопроса 1
fenrir1121
@fenrir1121 Куратор тега discord.py
Начни с документации
Во-первых нужно где-то хранить этих пользователей. В идеале в БД, но т.к список будет обновляться редко хотя бы в json или yaml файле, на основании которого будет проверяться каждый пользователь.

Далее при вызове любой команды должна осуществляться проверка есть ли пользователь в этом черном списке.
Для этого есть два пути:
1) На все команды можно навешивать произвольные проверки, используя commands.checks. Способ требует больше действий, но тоньше настраивается (тем же способом можно добавлять премиум команды, команды для администраторов и т д)

2) Если бан распространяется на вообще все команды ту же проверку можно осуществлять в событиях on_message, если бот сделан на префикс командах или в on_interaction, если на слешах. Это избавит от необходимости прописывать проверку к каждой команде.

Пример первого варианта можно посмотреть в шаблоне Криптона: сама проверка, команда блока ban.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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