API 调用
约 464 字大约 2 分钟
2025-01-23
NcatBot API 是你主动向 QQ 发送请求的方式,可以用于各种场景:
NcatBot 提供异步和同步两种 API 调用方式。
提示
如果你此前未了解异步, 可以先使用同步方法, 过程中逐渐学习异步.
提供 API 的类是 BotAPI
,详细信息参考 BotAPI 统一接口层.
调用 API 接口
异步调用
异步调用需要在 async
函数中使用 await
关键字调用 API 方法。
from ncatbot.core import BotClient
bot = BotClient()
@bot.on_private_msg
async def handle_private_msg(event):
# 发送私聊消息
await bot.send_private_msg(
user_id=event.user_id,
message="Hello, this is an async message!"
)
bot.run_frontend()
同步调用
同步调用可以直接在普通函数中使用 API 方法,不需要 await
关键字,但函数名需要以 _sync
结尾。
异步方法的同步版本在方法名后加 _sync
,例如 send_private_msg
的同步版本是 send_private_msg_sync
。
from ncatbot.core import BotClient
bot = BotClient()
@bot.on_private_msg
def handle_private_msg(event):
# 发送私聊消息
bot.send_private_msg_sync(
user_id=event.user_id,
message="Hello, this is a sync message!"
)
bot.run_frontend()
互斥参数
部分接口存在互斥参数(必须且只能二选一),例如:
get_record(file=None, file_id=None)
、get_image(file=None, file_id=None)
:二选一。
当传入冲突参数时,内部会使用 check_exclusive_argument
抛出错误。
返回约定
- 发送消息类接口统一返回
message_id: str
。 - 管理、设置类接口无返回值(正常完成即视为成功),失败将抛出异常。
- 获取类接口返回结构化对象(例如
GroupMemberInfo
、Image
等)或字典数据。
API 目录
版权所有
版权归属:huan-yp