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

如何在aiogram中获取Telegram机器人的用户名?

解决aiogram获取机器人用户名的AttributeError问题

问题根源在于bot.get_me()是协程函数,直接调用它不会返回机器人信息对象,而是返回一个协程对象,所以直接访问.username会触发属性错误。

以下是两种场景下的修复方案:

1. 异步函数内使用

在异步函数中,通过await关键字等待协程执行完成,拿到机器人信息对象后再提取用户名:

import asyncio
from aiogram import Bot

async def fetch_bot_username():
    bot = Bot(token="你的机器人Token")
    bot_info = await bot.get_me()
    username = bot_info.username
    print(f"机器人用户名:@{username}")
    await bot.session.close()

asyncio.run(fetch_bot_username())

2. 同步环境中调用

如果需要在同步代码里执行,用asyncio.run()来运行协程获取结果:

from aiogram import Bot
import asyncio

bot = Bot(token="你的机器人Token")
bot_info = asyncio.run(bot.get_me())
username = bot_info.username
print(f"机器人用户名:@{username}")
asyncio.run(bot.session.close())

注意:aiogram 3.x版本的核心操作都是异步的,所有涉及Bot的API调用都需要通过异步方式处理,不能像同步函数那样直接调用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 05:44:53