适配器开发
Saukko 的聊天平台适配器属于插件。为了统一 API 并方便开发,我们提供了 Bot 抽象类,供适配器插件继承与实现。
不稳定的 API
Saukko Core 的适配器 API 尚处于开发阶段,可能会发生重大变化。
Bot 抽象类
typescript
import { Bot, Context } from '@saukkojs/core';
import eventbus from /* ... */;
declare module '@saukkojs/core' {
interface Events {
'message.private': {
/* ... */
// 此处无需声明 bot 属性。
}
}
}
class MyBot extends Bot {
constructor(context: Context) {
super(context);
eventbus.on('message', (message) => {
// 来自 `Bot` 的 `emit` 方法会将 `MyBot` 对象放在事件的 `bot` 属性里传递给上下文的事件。
this.emit('message.private', message);
});
}
sendPrivateMessage(userId: string, content: string): Promise<void> {
return /* ... */;
}
}
export default function (context: Context) {
const bot = new MyBot(context);
context.mountBot(bot);
}