Skip to content
AstrBot
Main Navigation 主页博客路线图HTTP API

简体中文

English

简体中文

English

切换日光/暗黑模式

简介和部署接入消息平台接入 AI使用开发
Sidebar Navigation

简介

关于 AstrBot

社区

常见问题

部署

包管理器部署

雨云一键云部署

桌面客户端部署

启动器一键部署

Docker 部署

Kubernetes 部署

宝塔面板部署

1Panel 部署

手动部署

其他部署方式

CasaOS 部署

优云智算 GPU 部署

社区提供的部署方式

支持我们

接入消息平台

快速接入指南

QQ 官方机器人

Websockets 方式(推荐)

Webhook 方式

OneBot v11

NapCat

Lagrange

其他端

企微应用

企微智能机器人

微信公众号

飞书

钉钉

Telegram

LINE

Slack

Misskey

Discord

KOOK

Satori

使用 LLOneBot

使用 server-satori

社区提供

Matrix

VoceChat

接入 AI

✨ 接入模型服务

NewAPI

AIHubMix

PPIO 派欧云

硅基流动

小马算力

302.AI

Ollama

LMStudio

⚙️ Agent 执行器

内置 Agent 执行器

Dify

扣子 Coze

阿里云百炼应用

DeerFlow

使用

WebUI

插件

内置指令

工具使用 Tools

技能 Skills

SubAgent 编排

主动型 Agent 能力

MCP

网页搜索

知识库

自定义规则

Agent 执行器

统一 Webhook 模式

自动上下文压缩

Agent 沙箱环境

开发

插件开发

🌠 从这里开始

最小实例

接收消息事件

发送消息

插件配置

调用 AI

存储

文转图

会话控制器

杂项

发布插件

插件指南(旧)

接入平台适配器

AstrBot HTTP API

AstrBot 配置文件

其他

自部署文转图

插件下载不了?试试自建 GitHub 加速服务

开源之夏

OSPP 2025

目录

最小实例 ​

插件模版中的 main.py 是一个最小的插件实例。

python
from astrbot.api.event import filter, AstrMessageEvent, MessageEventResult
from astrbot.api.star import Context, Star, register
from astrbot.api import logger # 使用 astrbot 提供的 logger 接口

class MyPlugin(Star):
    def __init__(self, context: Context):
        super().__init__(context)

    # 注册指令的装饰器。指令名为 helloworld。注册成功后,发送 `/helloworld` 就会触发这个指令,并回复 `你好, {user_name}!`
    @filter.command("helloworld")
    async def helloworld(self, event: AstrMessageEvent):
        '''这是一个 hello world 指令''' # 这是 handler 的描述,将会被解析方便用户了解插件内容。非常建议填写。
        user_name = event.get_sender_name()
        message_str = event.message_str # 获取消息的纯文本内容
        logger.info("触发hello world指令!")
        yield event.plain_result(f"Hello, {user_name}!") # 发送一条纯文本消息

    async def terminate(self):
        '''可选择实现 terminate 函数,当插件被卸载/停用时会调用。'''

解释如下:

  • 插件需要继承 Star 类。
  • Context 类用于插件与 AstrBot Core 交互,可以由此调用 AstrBot Core 提供的各种 API。
  • 具体的处理函数 Handler 在插件类中定义,如这里的 helloworld 函数。
  • AstrMessageEvent 是 AstrBot 的消息事件对象,存储了消息发送者、消息内容等信息。
  • AstrBotMessage 是 AstrBot 的消息对象,存储了消息平台下发的消息的具体内容。可以通过 event.message_obj 获取。

TIP

Handler 一定需要在插件类中注册,前两个参数必须为 self 和 event。如果文件行数过长,可以将服务写在外部,然后在 Handler 中调用。

插件类所在的文件名需要命名为 main.py。

所有的处理函数都需写在插件类中。为了精简内容,在之后的章节中,我们可能会忽略插件类的定义。

发现文档有问题?在 GitHub 上编辑此页

Last updated:

Pager
上一篇🌠 从这里开始
下一篇接收消息事件

Deployed on Rainyun Logo