Files
AstrBot/docs/zh/dev/star/guides/other.md
lingyun14 fd4fe84310 fix: docs (#8229)
* Update listen-message-event.md

* Update other.md

* Update send-message.md

* Update ai.md

* Update ai.md

* Update send-message.md

* Update listen-message-event.md

* Delete docs/zh/dev/star/guides/env.md

* Delete docs/en/dev/star/guides/env.md

* Update simple.md

* Update discord.md

* Update discord.md

* Update matrix.md

* Update matrix.md

* Update index.md

* Update index.md

* Update openapi.md

* Update ppio.md

* Update ppio.md

* Update function-calling.md

* Update function-calling.md

* Update config.mjs

* docs: add EN desktop deployment page

* Update plugin.md

* Update ai.md

* Update ai.md

* Update ai.md

* Update desktop.md
2026-05-22 20:35:29 +08:00

1.7 KiB
Raw Permalink Blame History

杂项

获取消息平台实例

v3.4.34 后

from astrbot.api.event import filter, AstrMessageEvent

@filter.command("test")
async def test_(self, event: AstrMessageEvent):
    from astrbot.core.platform.sources.aiocqhttp.aiocqhttp_platform_adapter import AiocqhttpAdapter # 其他平台同理
    # >= v4.0.0 使用:
    platform_id = event.get_platform_id()
    platform = self.context.get_platform_inst(platform_id)
    # < v4.0.0 使用(已废弃):
    # platform = self.context.get_platform(filter.PlatformAdapterType.AIOCQHTTP)
    assert isinstance(platform, AiocqhttpAdapter)
    # platform.get_client().api.call_action()

调用 QQ 协议端 API

@filter.command("helloworld")
async def helloworld(self, event: AstrMessageEvent):
    if event.get_platform_name() == "aiocqhttp":
        # qq
        from astrbot.core.platform.sources.aiocqhttp.aiocqhttp_message_event import AiocqhttpMessageEvent
        assert isinstance(event, AiocqhttpMessageEvent)
        client = event.bot # 得到 client
        payloads = {
            "message_id": event.message_obj.message_id,
        }
        ret = await client.api.call_action('delete_msg', **payloads) # 调用 协议端  API
        logger.info(f"delete_msg: {ret}")

关于 CQHTTP API请参考如下文档

Napcat API 文档:https://napcat.apifox.cn/

Lagrange API 文档:https://lagrange-onebot.apifox.cn/

获取载入的所有插件

plugins = self.context.get_all_stars() # 返回 StarMetadata 包含了插件类实例、配置等等

获取加载的所有平台

from astrbot.api.platform import Platform
platforms = self.context.platform_manager.get_insts() # List[Platform]