aiogram 中 BusinessIntro 类型详解:Telegram 商业账户主页简介的读取与使用
后端即时通讯API设计【免费下载链接】aiogramaiogram is a modern and fully asynchronous framework for Telegram Bot API written in Python using asyncio项目地址https://gitcode.com/gh_mirrors/ai/aiogram点击查看免费下载BusinessIntro 是 aiogram 中用于描述Telegram 商业账户Business Account起始页设置的类型对象对应 Telegram Bot API 的BusinessIntro对象。本文以 docs/api/types/business_intro.rst 的 API 文档为骨架结合仓库源码与测试用例系统讲解其三个可选字段title、message、sticker的语义、在ChatFullInfo中的挂载位置、通过get_chat获取的完整调用链以及它在 Business 系列类型家族中的定位。读完本文你将能够准确解析商业账户主页简介数据并在自己的机器人中正确读取与使用这一信息。一、BusinessIntro 是什么商业账户的起始页设置根据 aiogram/types/business_intro.py 中类级别的 docstringContains information about the start page settings of a Telegram Business account.即BusinessIntro 承载了 Telegram 商业账户起始页start page的设置信息。当用户为商业账户配置了主页简介后这份简介的内容标题、正文文案、装饰贴纸就会以BusinessIntro对象的形式随聊天信息返回给机器人。在 aiogram 中它是一个典型的Telegram API 数据对象TelegramObject继承自 aiogram/types/base.py 中定义的TelegramObject基于 PydanticBaseModel配置了frozenTrue、extraallow、validate_assignmentTrue等行为。这意味着实例一旦创建即不可修改多出的未知字段也会被保留方便兼容 Telegram API 的向前演进。class BusinessIntro(TelegramObject): Contains information about the start page settings of a Telegram Business account. title: str | None None message: str | None None sticker: Sticker | None None二、三个可选字段的完整语义BusinessIntro的全部内容由三个全部可选Optional的字段构成下表汇总了源码 aiogram/types/business_intro.py 中的定义字段类型默认值含义源码 docstringtitlestr \| NoneNone商业账户主页简介的标题文本Title text of the business intromessagestr \| NoneNone商业账户主页简介的消息文本Message text of the business introstickerSticker \| NoneNone商业账户主页简介的贴纸Sticker of the business intro2.1 title标题文本title是商业账户起始页上展示的标题文字类型为str | None。它是一个纯文本字段并不强制要求提供——即商业账户主可以在不配置标题的情况下只提供正文。2.2 message正文消息文本message是起始页正文区域的文案类型同样为str | None。它是整个 intro 中最常见的实质内容载体通常用于一句话说明店铺/服务/联系方式等商业信息。2.3 sticker贴纸对象sticker字段的类型不是简单字符串而是一个完整的Sticker对象见 aiogram/types/sticker.py。也就是说当商业账户主为 intro 配置了贴纸时机器人收到的不是file_id字符串而是一个可进一步使用的结构化对象。Sticker自带file_id、file_unique_id、type、width、height、is_animated、is_video等字段可直接用于send_sticker等方法的二次转发或展示。注意由于三个字段都是可选的实际返回的BusinessIntro实例中可能只出现其中一两个字段。从源码结构看当商业账户主没有配置任何起始页内容时Telegram 甚至不会返回business_intro字段本身。三、BusinessIntro 在仓库中的注册与文档挂载3.1 导出位置BusinessIntro通过 aiogram/types/init.py 从模块aiogram.types.business_intro导入并同时加入__all__导出列表同文件第 371 行。因此使用者可以通过from aiogram.types import BusinessIntro或from aiogram import types的方式直接访问from aiogram.types import BusinessIntro intro BusinessIntro(titleAI Coffee, message欢迎光临营业时间 9:00-21:00) print(intro.title) # AI Coffee print(intro.message) # 欢迎光临营业时间 9:00-21:003.2 文档索引在 API 参考文档的类型索引 docs/api/types/index.rst 中business_intro被收录进toctree而 docs/api/types/business_intro.rst 本身通过 Sphinxautomodule指令自动从源码 docstring 生成页面内容这也是它正文极简的原因——真正的内容主体就是上面第 2 节所讲解的类定义与字段文档。仓库内还保留有对应的翻译源文件 docs/locale/uk_UA/LC_MESSAGES/api/types/business_intro.po可进一步印证这三个字段的官方语义描述。四、从哪个接口获取 BusinessIntroGetChat → ChatFullInfo 调用链BusinessIntro并不会单独作为一个更新事件推送而是作为聊天详情数据的一部分下发。在 aiogram 中它的宿主类型有两个其中一个是当前唯一正式生效的路径。4.1 正式路径ChatFullInfo.business_intro推荐在 aiogram/types/chat_full_info.py 中ChatFullInfo声明了字段business_intro: BusinessIntro | None None *Optional*. For private chats with business accounts, the intro of the business字段语义非常明确仅在与商业账户的私聊private chats with business accounts场景下返回普通用户私聊不会携带该字段。获取它的完整调用链是调用 GetChat 方法即bot.get_chat(chat_id...)GetChat的__returning__被声明为ChatFullInfo响应体被反序列化为ChatFullInfo对象从返回对象上读取chat.business_intro得到BusinessIntro | None。示例代码from aiogram import Bot async def show_business_intro(bot: Bot, chat_id: int) - None: chat await bot.get_chat(chat_idchat_id) intro chat.business_intro # type: BusinessIntro | None if intro is None: print(该聊天未提供商业账户起始页简介) return print(标题:, intro.title) print(正文:, intro.message) if intro.sticker: # sticker 是一个完整的 Sticker 对象 print(贴纸 file_id:, intro.sticker.file_id)这一调用链有对应的测试用例佐证tests/test_api/test_methods/test_get_chat.py 中通过MockedBot.add_result_for(GetChat, okTrue, resultChatFullInfo(...))构造响应再调用bot.get_chat(chat_id-42)并断言response prepare_result.result验证了get_chat返回ChatFullInfo的完整往返流程。当然要拿到真实的BusinessIntro数据需要在测试夹具的ChatFullInfo中补充business_introBusinessIntro(...)参数。4.2 已废弃路径Chat.business_intro在 aiogram/types/chat.py 中Chat也曾声明过business_intro字段但该字段通过json_schema_extra{deprecated: True}被标记为废弃docstring 明确说明它仅在getChat方法中返回且已随 Bot API 7.32024 年 5 月 6 日变更迁移.. deprecated:: API:7.3也就是说新版 Telegram Bot API 已把包括business_intro在内的一批聊天详情字段从通用的Chat对象迁移到了专门的ChatFullInfo对象中ChatFullInfo本身继承自Chat见 aiogram/types/chat_full_info.py。在实际开发中应统一从ChatFullInfo.business_intro读取避免依赖Chat上已废弃的字段。五、BusinessIntro 在 Business 类型家族中的定位BusinessIntro是 aiogram 商业账户Business相关类型群的一员。与它同属一个家族的还有BusinessConnectionaiogram/types/business_connection.py描述机器人与商业账户之间的连接包含id、user、user_chat_id、date、is_enabled、rights等字段是处理business_connection更新的入口BusinessLocation商业账户的地点信息BusinessOpeningHours及BusinessOpeningHoursInterval商业账户的营业时间BusinessMessagesDeleted商业账户消息被删除事件。这些类型共同服务于 Telegram 商业账户生态。在 Update 对象 中business_connection、business_message、edited_business_message、deleted_business_messages作为独立的更新字段出现而BusinessIntro不走更新推送只作为get_chat返回的聊天静态信息存在这也是它与上述事件类对象在使用方式上的关键区别。六、使用注意事项与最佳实践综合源码与文档使用BusinessIntro时有以下几点需要留意全字段可选务必判空title、message、sticker均为None默认值业务代码在读取前应做空值判断避免对None做字符串拼接或属性访问。仅商业账户私聊返回business_intro在ChatFullInfo中的 docstring 限定为 private chats with business accounts因此在处理非私聊或普通用户私聊时该字段大概率是None不要假设其必然存在。优先使用 ChatFullInfo虽然Chat上也有同名字段但它已随 API 7.3 废弃应以ChatFullInfo为准可参考 aiogram/types/chat_full_info.py 与 aiogram/types/chat.py 的对比。sticker 是完整对象sticker字段是Sticker类型而非字符串可以直接用其file_id在send_sticker等方法中复用该贴纸。对象不可变BusinessIntro继承的TelegramObject配置了frozenTrueaiogram/types/base.py创建后字段不可再赋值需要修改时应重新构造新实例。七、小结BusinessIntro虽只有三个可选字段却是机器人读取 Telegram 商业账户起始页设置的关键入口。本文从 API 文档出发结合 aiogram/types/business_intro.py 源码确认了title、message、sticker的确切语义与类型沿 GetChat → ChatFullInfo 的调用链说明了其实际获取方式并辨析了Chat.business_intro的历史废弃路径。如果你正在开发面向商业账户的机器人例如读取商家主页简介用于客服引导或展示直接从bot.get_chat(...)返回对象的business_intro字段入手即可配合上述判空与兼容性注意点就能稳妥地完成数据读取。赞分享后端即时通讯API设计【免费下载链接】aiogramaiogram is a modern and fully asynchronous framework for Telegram Bot API written in Python using asyncio项目地址https://gitcode.com/gh_mirrors/ai/aiogram点击查看免费下载相关推荐aiogram 实战指南使用 setBusinessAccountBio 修改托管商业账户简介aiogram 实战指南使用 setBusinessAccountBio 修改托管商业账户简介 本指南围绕 aiogram 框架中的 setBusinessA后端即时通讯API设计aiogram 中 postStory 方法详解用管理型企业账户发布 Telegram 故事aiogram 中 postStory 方法详解用管理型企业账户发布 Telegram 故事 postStory 是 aiogram 提供的 Telegram后端即时通讯API设计aiogram OwnedGift 类型详解从 Telegram 礼物对象到业务账户礼品管理实战aiogram OwnedGift 类型详解从 Telegram 礼物对象到业务账户礼品管理实战 本指南以 aiogram 仓库中的 OwnedGift 类型后端即时通讯API设计创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Ubuntu离线中文语音识别实战:从VAD到束搜索的完整部署指南

Ubuntu离线中文语音识别实战:从VAD到束搜索的完整部署指南

1. 项目缘起与整体设计思路在Ubuntu上折腾离线中文语音识别这件事,最早是源于一个很实际的需求:手头有一台常年跑在内网的工控机,系统是Ubuntu 20.04,上面要做一个语音指令的交互模块,但现场环境压根连不上外网&#x…

2026/10/13 0:11:33 阅读更多 →
SVR支持向量回归预测实战:原理、调参与避坑指南

SVR支持向量回归预测实战:原理、调参与避坑指南

简介:Python实现的SVR回归预测示例代码,面向机器学习初学者与需要快速建立回归模型的开发者。资源围绕支持向量回归(SVR)展开,演示了使用Scikit-learn库从数据预处理到模型评估的完整流程:包括特征标准化、…

2026/10/13 0:11:32 阅读更多 →
从XRD相对峰强预测催化活性:多晶氧化物线性标度关系解析

从XRD相对峰强预测催化活性:多晶氧化物线性标度关系解析

刚做多相催化的时候,我拿到XRD数据有个坏毛病:只对照JCPDS卡片看物相,顺手用谢乐公式算个晶粒尺寸,然后就归档了。相信不少人跟我一样。直到后来做形貌可控的氧化物催化剂,才意识到自己一直在浪费衍射谱里最有价值的一…

2026/10/13 0:10:32 阅读更多 →

最新新闻

【机器人控制】三台非全体移动机器人分散式领跟控制、基于李雅普诺夫的轨迹跟踪以及三角与柱形动态切换编队控制Matlab实现

【机器人控制】三台非全体移动机器人分散式领跟控制、基于李雅普诺夫的轨迹跟踪以及三角与柱形动态切换编队控制Matlab实现

✅作者简介:热爱科研的Matlab仿真开发者,擅长数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和数学建模资料 &…

2026/10/13 11:40:13 阅读更多 →
ArcGIS图斑编号工具:基于空间排序的图斑自动编号方法详解

ArcGIS图斑编号工具:基于空间排序的图斑自动编号方法详解

简介:面向GIS开发者的ArcGIS图斑编号工具,用于对矢量图斑按自上而下、从左到右的规则统一编号,解决地块、建筑物等空间实体标识杂乱的问题,适用于土地利用规划、城市设计与空间数据管理场景。资源为zip压缩包,共39个文…

2026/10/13 11:40:13 阅读更多 →
Agent技能体系构建实战:从定义编排到落地的完整经验

Agent技能体系构建实战:从定义编排到落地的完整经验

最近在梳理智能体项目时,我发现一个很有意思的现象:很多团队在搭建 Agent 应用时,最头疼的往往不是模型选型,也不是 Prompt 调优,而是"明明模型能力很强,为什么落不了地"。说到底,问题…

2026/10/13 11:40:13 阅读更多 →
Dapper从入门到实战:.NET轻量ORM的SQL可控与性能优势

Dapper从入门到实战:.NET轻量ORM的SQL可控与性能优势

1. Dapper的定位:为什么EF Core生态下还需要一个轻量ORM先说点背景。早年在某电商团队做订单中心重构,系统从单体拆服务,数据库访问层最早用的是某重量级ORM。项目后半段做秒杀相关的库存扣减逻辑,优化完SQL、加了索引、改了缓存&…

2026/10/13 11:40:13 阅读更多 →
SpringBoot打包全攻略:从可执行Jar原理到部署实战

SpringBoot打包全攻略:从可执行Jar原理到部署实战

一开始接触SpringBoot打包时,我犯过一个很低级的错误:在IDE里点了几下Build,拿到target目录下的jar直接扔到服务器上执行,结果报了“no main manifest attribute”,当时整个人是懵的。后来才知道,SpringBoo…

2026/10/13 11:40:13 阅读更多 →
AI助手会话记录批量导出实战:从API到浏览器脚本的完整方案

AI助手会话记录批量导出实战:从API到浏览器脚本的完整方案

1. 把需求掰开揉碎:你要的批量导出到底是什么时不时就有人来问:能不能把AI助手左侧那一长串会话记录一次性导出?注意,这里的“会话”指的是左边列表里的每一个独立条目,而不是某个会话里的几十轮来回。每条会话都有自己…

2026/10/13 11:39:13 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →