Similization
@Similization
В прострации

Можно ли сгенерированный Literal передать в параметры функции?

Делаю дискорд бота и столкнулся с такой проблемой, что я не знаю, как воткнуть литерал в параметры функции
Только я изначально не знаю, сколько жанров, но могу их получить. А что делать дальше совершенно не представляю.
Может есть идеи, как сделать это иначе? Просто я не хочу делать что-то из разряда while not true, и не пускать пользователя дальше, пока он нормально не выберет жанр из списка, кажется в разы более удобным сразу предоставить ему этот список, но жанры могут меняться (получаю их из апи), поэтому о статическом литерале речи не идет
@bot.slash_command(name="set_genre")
async def set_genre_command(
        inter: disnake.ApplicationCommandInteraction,
        Dynamic.Literal
):
    pass
  • Вопрос задан
  • 40 просмотров
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
поэтому о статическом литерале речи не идет

А ничего, что литералы, как и большинство инструментов type-checking, предназначены для статической проверки кода? Интерпретатор их игнорирует при выполнении. Их использование в discord.py, хотя и красивое, но всё же нестандартное.
Поэтому само сочетание "динамический литерал" есть бессмыслица.

Принимай жанр как строку, и проверяй её самостоятельно, либо, если очень хочется, прописывай для жанра свой конвертер.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
17 мая 2024, в 13:04
15000 руб./за проект
17 мая 2024, в 12:53
500 руб./за проект
17 мая 2024, в 12:41
10000 руб./за проект