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 目录
版权所有
版权归属:KirisameVanilla
