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

Aiogram多Router连接异常:仅handlers路由生效问题求助

解决Aiogram中仅单个Router生效的问题

问题根源

你的admin.py代码里存在两处致命错误,导致router1无法正常加载:

  1. Router方法名错误:调用了不存在的include_router1方法,正确方法名是include_router
  2. 路由引用错误:handlers.py中定义的路由是router2,不是router1
  3. 冗余路由包含:main.py已经将两个路由注册到Dispatcher中,admin.py重复包含handlers的路由完全没必要,反而会引发加载异常

修复步骤

1. 修正admin.py代码

删除错误的路由包含语句,确保路由装饰器正确绑定到router1:

from aiogram import F, Router, Bot
from aiogram.types import Message, CallbackQuery
from aiogram.filters import Command

import kb
import config
import text

admin_flag = False
user_id = None

router1 = Router()

@router1.message(Command("admin"))
async def admin_handler(msg: Message):
    global user_id
    user_id = int(msg.from_user.id)
    if user_id in config.admins:
        await msg.answer(text.greet_admin, reply_markup=kb.admin_main_menu_kb)

2. 验证权限配置

确认config.admins列表中包含你测试用的用户ID,避免因权限判断导致/admin命令无响应。

3. 全局变量优化(可选)

Aiogram中不推荐使用全局变量存储用户状态,建议改用FSM上下文替代,不过这不是当前路由失效的直接原因。

验证修复

重新运行main.py,测试/start和/admin命令,两个路由即可正常响应。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 12:04:56