我的目标是链接或链接几个不同的不同的情态-一个接一个,以创建一个连续的形式,因为不允许添加超过5个项目或每个模式的"问题".

目标是让MODEL_1和MODEL_2各有5个问题.用户每次运行命令时,都会显示MODEL_1.完成后,用户将提交MODEL_1,之后将出现MODEL_2.

遗憾的是,我所有的try 都没有成功,Discord在提交第一个模式后没有关闭它,而是返回错误:"有些地方出了问题,请重试".该错误不是代码错误,而是discord模式内部的错误.

下面是一个代码片段来说明我正在做的事情:

class Modal_2(discord.ui.Modal,title="Modal_2"):
    question_1 = discord.ui.TextInput(label="That's the second question")

    asnyc def on_sumbit(self,interaction:discord.Interaction):
        await interaction.response.send_message(content="Thanks for your input")

class Modal_1(discord.ui.Modal,title="Modal_1"):
    question_1 = discord.ui.TextInput(label="That's the first question")

    asnyc def on_sumbit(self,interaction:discord.Interaction):
         await interaction.response.send_modal(Modal_2())

class main(commands.Cog):
    def __init__(self,bot):
          self.bot = bot

    @app_commands.command(name="survey")
    async def main(self,interaction:discord.Interaction)
         await interaction.response.send_modal(Modal_1())

运行该命令后,将显示第一个模式.虽然提交后,第二个情态不会出现,第一个情态也不会被驳回.在提交后,它只在第一个模式中返回错误:"发生错误,重试",但现在实际的"代码"错误或异常显示在控制台中.

推荐答案

不,你不能.展望in this section of Discord's Developers' Portal,你可以读到MODEL不能是MODEL_SUBMIT交互的回调.

根据数据是什么,我会使用表单网页,或者try 使用View小部件做一些事情,特别是TextInputs个,因为您可以用这些小部件发送任意多的消息.

Python相关问答推荐

指示组内的rejected_time是否在creation_timestamp后5分钟内

从包含数字和单词的文件中读取和获取数据集

如何计算列表列行之间的公共元素

Matlab中是否有Python的f-字符串等效物

更改键盘按钮进入'

在Python中管理打开对话框

如何使用表达式将字符串解压缩到Polars DataFrame中的多个列中?

形状弃用警告与组合多边形和多边形如何解决

在Python中,从给定范围内的数组中提取索引组列表的更有效方法

Django RawSQL注释字段

找到相对于列表索引的当前最大值列表""

基于另一列的GROUP-BY聚合将列添加到Polars LazyFrame

如何使用正则表达式修改toml文件中指定字段中的参数值

Beautifulsoup:遍历一个列表,从a到z,并解析数据,以便将其存储在pdf中.

Tensorflow tokenizer问题.num_words到底做了什么?

从嵌套极轴列的列表中删除元素

如何获得3D点的平移和旋转,给定的点已经旋转?

有没有办法让Re.Sub报告它所做的每一次替换?

如何训练每一个pandaprame行的线性回归并生成斜率

用由数据帧的相应元素形成的列表的函数来替换列的行中的值