-
Notifications
You must be signed in to change notification settings - Fork 1.5k
ja workshop impl platform adapter
この記事では、aiocqhttpアダプターを例として、LangBotの新しいメッセージプラットフォームアダプターを実装し、WhatsAppやDiscordなどの新しいメッセージプラットフォームプロトコルを統合する方法を説明します。
新しいメッセージプラットフォームアダプターを追加します。例: WhatsApp、Discordなどを統合
- 基底クラス: `pkg.platform.adapter.MessageSourceAdapter`
- デコレーター: `pkg.platform.adapter.adapter_class(name: str)`
- 参考実装: `pkg.platform.sources/`
メッセージプラットフォームアダプターを実装するには、基本的に基底クラスを継承するクラスを実装し、デコレーターを使用して登録する必要があります。最後に、実行時にユーザーが選択して使用できるようになります。
pkg/platform/sources/ディレクトリに新しいファイルaiocqhttp.pyを作成します:
from .. import adapter
@adapter.adapter_class("aiocqhttp")
class AiocqhttpAdapter(adapter.MessageSourceAdapter):
passまた、pkg/platform/manager.pyの40行目でこのモジュールをインポートします:
from .sources import nakuru, aiocqhttp, qqbotpy最後に、他のアダプターのマニフェストファイルを参考にして、独自のマニフェストファイルを作成します。
メッセージプラットフォームアダプターの主な作業は、メッセージプラットフォームプロトコルからイベントを受信し、LangBotの形式に変換することです。これをコアコンポーネントに渡し、LangBotのコアコンポーネントが処理した後、返信する必要のあるコンテンツをメッセージプラットフォームアダプターに渡します。次に、コンテンツをプラットフォームプロトコル形式に変換してメッセージプラットフォームに送信します。
次の図は、2つのシナリオの処理パターンを示しています: SDKのないメッセージプラットフォームプロトコルと成熟したSDKを持つプロトコル。最初のケースでは、メッセージプラットフォームプロトコルのドキュメントに従って、接続管理とネットワーク形式データのLBメッセージPythonオブジェクトへの変換を実装する必要があります。2番目のケースでは、メッセージプラットフォームに成熟したSDKがあり、SDKドキュメントに従って接続を作成し、イベントリスナーを登録し、メッセージコンバーターを実装するだけです。

pkg.platform.sources.aiocqhttpファイルでは、AiocqhttpAdapterだけでなく、class AiocqhttpMessageConverter(adapter.MessageConverter):とclass AiocqhttpEventConverter(adapter.EventConverter):も確認できます。
-
MessageConverterは、LangBotメッセージとプラットフォームメッセージ間の変換に使用されます。 -
EventConverterは、LangBotイベントとプラットフォームイベント間の変換に使用されます。
TBC...
Automatically synchronized from langbot-app/langbot-wiki.
简体中文
指南
开发者
- 插件开发
- 插件 SDK API
- 核心开发
API 参考
- Service API
English
Guides
Developers
-
Plugin Development
- Plugin Development Tutorial
- Completing Plugin Configuration Information
- Plugin Directory Structure
- Component Development
- Code Style Guide
- Migration Guide
- Publish Plugin
- Plugin SDK API
- Core Development
API Reference
- Service API