Client SDK
The imhelper client SDK provides a unified interface for connecting to onebots servers and developing cross-protocol robot applications.
Introduction
imhelper is the client SDK for onebots, providing:
- Unified Interface: Same API regardless of protocol (OneBot V11/V12, Satori, Milky)
- Multiple Receivers: Support WebSocket, Webhook, and SSE receiving methods
- Message Conversion: Automatically converts protocol-specific messages to unified format
- Type Safety: Full TypeScript support
Installation
bash
npm install imhelper
# or
pnpm add imhelperQuick Start
typescript
import { ImHelper } from 'imhelper';
// Create ImHelper instance
const helper = new ImHelper({
baseUrl: 'http://localhost:6727',
platform: 'wechat',
accountId: 'my_wechat_mp',
accessToken: 'your_access_token',
protocol: 'onebot.v11',
});
// Listen for messages
helper.on('message', (message) => {
console.log('Received message:', message.content);
// Auto reply
helper.sendMessage({
scene_id: message.scene_id,
scene_type: message.scene_type,
message: [{ type: 'text', data: { text: 'Received!' } }],
});
});
// Connect
await helper.connect();Receivers
WebSocket Receiver
Real-time event reception via WebSocket:
typescript
const helper = new ImHelper({
// ... config
receiver: 'websocket',
});Webhook Receiver
Receive events via HTTP webhook:
typescript
const helper = new ImHelper({
// ... config
receiver: 'webhook',
port: 8080, // Webhook server port
});SSE Receiver
Receive events via Server-Sent Events:
typescript
const helper = new ImHelper({
// ... config
receiver: 'sse',
});API Reference
See Client SDK Documentation for complete API reference.