Skip to content

Latest commit

 

History

History
156 lines (98 loc) · 3.79 KB

File metadata and controls

156 lines (98 loc) · 3.79 KB

EFChat 适配器 API 文档

1. 事件模型

EFChat 适配器提供了多个事件类型,用于处理消息和通知:

MessageEvent(Event)

表示 EFChat 中的通用消息事件,包括 房间消息私聊消息

属性 说明
event.message 消息内容
event.trip 加密身份标识
event.nick 发送者的用户 ID

2. 消息发送

EFChat 适配器提供了以下方法,用于发送消息:

2.1 send(event, message, at_sender=False, reply_message=False)

通用消息发送方法

await bot.send(event, message="你好!", at_sender=True, reply_message=False)
参数 类型 说明
event MessageEvent 事件对象
message strMessageSegment 要发送的消息内容
at_sender bool 是否 @ 发送者
reply_message bool 是否回复原消息

2.2 send_chat_message(message)

发送 房间消息

await bot.send_chat_message(message="Hello!", show=True)
# show参数不是必填的,默认为 False , 即该消息不保存到历史记录中
参数 类型 说明
message strMessageSegment 要发送的内容
show bool 是否保存在聊天记录 (True 保存, False 不保存)

返回


2.3 send_whisper_message(target, message)

发送 私聊消息

await bot.send_whisper_message(target="105", message="Hello EFChat!")
参数 类型 说明
target str 目标用户昵称
message strMessageSegment 要发送的内容

返回


3. 机器人管理

以下 API 方法用于控制 Bot:

3.1 move(new_channel)

移动 Bot 到指定房间:

await bot.move("PrivateRoom")
参数 类型 说明
new_channel str 目标房间名称

返回

空,bot 会直接进入新的房间


3.2 change_nick(new_nick)

修改 Bot 昵称:

await bot.change_nick("EFChatBot")
参数 类型 说明
new_nick str 目标昵称

返回

空,随后服务器会下发ChangeNickEvent事件,父事件为NoticeEvent


3.3 get_chat_history(num)

获取 历史聊天记录

await bot.get_chat_history(num=50)
参数 类型 说明
num int 要获取的消息数量

注意:如果值为1,则返回当天的历史聊天记录;如果值为100,则返回全部历史聊天记录。

返回

空,随后服务器会下发ListHistoryEvent事件,父事件为NoticeEvent


4. API 调用

EFChat 适配器支持 API 调用,用于执行各种命令:

**4.1 call_api(api, **kwargs)**

调用适配器 API:

await bot.call_api("chat", text="Hello, EFChat!")
参数 类型 说明
api str API 方法名称
kwargs dict 额外参数