You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Aiogram 3.1.1动态StatesGroup实现可行性咨询

动态创建Aiogram 3.1.1状态实现问卷处理器的问题

我所在的公司主营企业电报机器人开发,技术栈以Django/Aiogram 3.1.1为主。目前遇到一个棘手任务,特向大家咨询实现可能性。

任务说明

数据库中有三类核心表:

  • 问卷表(包含title字段)
  • 关联问题名称与验证类型(数字、姓名、邮箱等)的表
  • 关联用户与问卷答案的表

我的目标是开发一个问卷问题填写处理器。原本可以通过静态方式实现:

静态StatesGroup定义

class QuestionsStates(StatesGroup):
    email = State()
    phone_number = State()
    full_name = State()
    # . . .

对应状态处理器

@router.message(QuestionsStates.last_state)
async def send_data_to_backend(message: Message, state: FSMContext):
    user_answers = await state.get_data()
    
    # user_answer.get('')
    # send all data with user_id to backend

    # . . . 

但这种静态方案无法适配需求变化:问卷的问题可能变更、验证类型可能修改、部分问题可能删除等。

核心问题

能否在Aiogram 3.1.1中实现动态状态的创建?

我有一个初步想法但不确定是否可行,也想了解其他实现思路:

初步思路代码

async def get_anketa_questions():
    questions_response = await django_get_questions()
    for data in questions_response:
        State(state=data.get('name'))
        # 不确定这段代码是否可行

期待各位的建议与帮助,感谢!

内容的提问来源于stack exchange,提问作者Leonid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 12:52:06