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

Aiogram 3.0.0b中群聊状态机后续处理函数未触发的问题求助

Aiogram 3.0.0b中群聊状态机后续处理函数未触发的问题求助

大家好,我现在碰到了一个Aiogram 3.0.0b的棘手问题,想请各位帮忙分析下。

我开发了一个机器人功能,用来注册连队日志,用到了FSM状态机。触发/register_journal命令的初始函数initiate_register_journal_command在私聊里完全正常,但在群聊里执行时,当我发送连队名称后,后续的处理函数handle_registered_journal_data根本不会被触发,整个流程就卡住了。

先贴一下我的相关代码:

命令处理与状态机逻辑

from ..forms import *

@router.message(Command(commands='register_journal'))
async def initiate_register_journal_command(message: types.Message, state: FSMContext):
    current_user_id = message.from_user.id
    await message.reply(text="Initiating registration")
    # await asyncio.sleep(3)
    await message.reply(text=JournalForm.label)
    await state.set_state(JournalForm.current_user_id)
    await state.update_data(current_user_id=current_user_id) #worked fine
    await state.set_state(JournalForm.name)

@router.message(JournalForm.name) # , CurrentUserFilter(JournalForm.current_user_id))
async def handle_registered_journal_data(message: types.Message, state: FSMContext):
    name = message.text
    if not Journal.objects.get(name=name):
        state.set_state(JournalForm.name)
        state.update_data(name=name)
        group_id = message.chat.id
        add_journal(name, group_id)
    else: 
        await message.reply(text="Error: For the platoon's assignment the journal has already been created")

状态机表单定义

class JournalForm(StatesGroup):
    current_user_id = State()
    name = State()
    label = "Platoon number"
    callback_text = "A journal of visits to the platoon has been created!"
    on_registration_fail_text = "An error occurred while registering a platoon, please try again later"

我排查后发现两个关键现象:

  • 在私聊和机器人对话时,整个流程完全顺畅,发送连队名称后会立刻触发处理函数
  • 但在群聊里执行/register_journal后,机器人正常回复了"Initiating registration"和"Platoon number",可我发送名称后没有任何反应,处理函数完全没被调用

我猜测问题出在群聊环境下,机器人没有正确捕获或处理后续发送的消息,但实在摸不准具体原因,有没有遇到过类似问题的朋友能给点思路?

备注:内容来源于stack exchange,提问作者Dimon Agon

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 10:37:34