Код: Выделить всё
@bot.tree.command(name="votazione")
async def make_poll(
interaction: discord.Interaction,
*,
titolo: str,
opzioni: int = 2,
canale: discord.TextChannel | None = None,
maggioranza: int | None = None
):
options = PollOptions(f"test per voto: {titolo}", opzioni)
await interaction.response.send_modal(options)
for option in options.children:
print(len(option.value))
Код: Выделить всё
class PollOptions(ui.Modal):
def __init__(self, title: str, n: int):
super().__init__(title=title)
self.make_options(n)
def make_options(self, n):
for i in range(n):
self.add_item(ui.TextInput(label=f"Opzione {i+1}"))
async def on_submit(self, interaction: discord.Interaction):
await interaction.response.defer()
Проблема здесь в том, что этот оператор print в первый блок кода сообщает мне, что все значения имеют длину 0 (чего не должно быть, во всех тестах я записываю непустые строки в текстовые поля перед отправкой).
Что здесь происходит? Я не очень хорошо знаком с Discord API, и никаких ошибок не появляется (я записываю все исключения в регистратор), поэтому понятия не имею.
Что я пробовал :
- Я создал косую черту, которая создает модальное окно и должна вернуть мне введенные пользователем данные
- Чтобы получить введенные пользователем данные, вставленные в поля TextInput модального окна
- Вместо этого появились пустые строки
Подробнее здесь: https://stackoverflow.com/questions/785 ... ter-submit