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, хотя и красивое, но всё же нестандартное.
Поэтому само сочетание "динамический литерал" есть бессмыслица.

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

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

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