mirror of
https://github.com/nonebot/nonebot2.git
synced 2024-11-25 01:25:04 +08:00
50 lines
1.4 KiB
Markdown
50 lines
1.4 KiB
Markdown
|
---
|
|||
|
sidebar_position: 8
|
|||
|
description: 调用机器人平台 API,完成更多的功能
|
|||
|
|
|||
|
options:
|
|||
|
menu:
|
|||
|
weight: 29
|
|||
|
category: guide
|
|||
|
---
|
|||
|
|
|||
|
# 调用平台 API
|
|||
|
|
|||
|
在使用机器人功能时,除了发送消息以外,还可能需要调用机器人平台的 API 来完成更多的功能。
|
|||
|
|
|||
|
NoneBot 提供了两种方式来调用机器人平台 API,两种方式都需要首先获得 Bot 实例,然后调用相应的方法。
|
|||
|
|
|||
|
## 获取 Bot 实例
|
|||
|
|
|||
|
```python
|
|||
|
from nonebot import get_bot
|
|||
|
|
|||
|
bot = get_bot() # 获取第一个已连接的 bot 实例
|
|||
|
bot = get_bot("bot_id") # 获取指定 bot_id 的 bot 实例
|
|||
|
```
|
|||
|
|
|||
|
在事件处理依赖中,我们可以使用更为简便的办法来获取 bot 实例,详情可以参考 [获取上下文信息-Bot](https://v2.nonebot.dev/docs/tutorial/plugin/create-handler#bot)
|
|||
|
|
|||
|
```python
|
|||
|
from nonebot.adapters import Bot
|
|||
|
|
|||
|
async def handle_func(bot: Bot): # 通过依赖注入获取 bot 实例
|
|||
|
...
|
|||
|
```
|
|||
|
|
|||
|
## 调用 API
|
|||
|
|
|||
|
如果需要调用某个机器人平台的 `get_user_info` API,我们可以使用以下任意一种方式:
|
|||
|
|
|||
|
```python
|
|||
|
# 通过 bot 实例上的魔术方法直接使用.操作符调用 API
|
|||
|
result = await bot.get_user_info(user_id=12345678)
|
|||
|
|
|||
|
# 通过 bot 实例上的 call_api 方法调用 API
|
|||
|
result = await bot.call_api("get_user_info", user_id=12345678)
|
|||
|
```
|
|||
|
|
|||
|
:::tip 提示
|
|||
|
实际可用的 API 由平台提供,请参考平台文档。
|
|||
|
:::
|