THEROER
@THEROER

Как сделать динамическую slash команду disnake?

Когда я пытаюсь сделать lambda в функции кидает ошибку

Код:

@commands.slash_command()
async def untimeout(
self,
interaction:disnake.ApplicationCommandInteraction, 
user:int = commands.Param(default = False, name="prepared_time", description = "Время наказания", choices=lambda self: [disnake.OptionChoice(name=e.get_member(q["user_id"]).name,value=int(q["user_id"])) for q in self.coll_u.find() for w in q["warns"] if q["warns"][w]["enable"] == 1 and q["warns"][w]["type"] == "timeout" for e in self.bot.guilds if e.id == q["guild_id"]])
):

Ошибка:

62681969d44c6561818353.png

Подробнее:

Я пытаюсь получить список пользователей в из базы данных которые имеют enable: 1 и type: "timeout" а затем записать это всё в disnake.OptionChoice(name = с помощью guild получаю member, description=id записанное в базе данных) проблема в том что я без self не могу получить список гильдий и так же получить доступ к базе данных
  • Вопрос задан
  • 671 просмотр
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Т.е. ты хочешь чтобы в команде автоматически предлагался список доступных серверов и т.п.?
Никак. Особенно с учётом того что команда (а значит, и её параметры) регистрируется при старте бота, а со временем этот список всё равно может измениться и потерять актуальность.
Ответ написан
Ваш ответ на вопрос

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

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