Skip to content

ja workshop impl platform adapter

langbot-wiki-sync[bot] edited this page Jul 29, 2026 · 1 revision

メッセージプラットフォームアダプターの実装

この記事では、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ドキュメントに従って接続を作成し、イベントリスナーを登録し、メッセージコンバーターを実装するだけです。

alt text

pkg.platform.sources.aiocqhttpファイルでは、AiocqhttpAdapterだけでなく、class AiocqhttpMessageConverter(adapter.MessageConverter):class AiocqhttpEventConverter(adapter.EventConverter):も確認できます。

  • MessageConverterは、LangBotメッセージとプラットフォームメッセージ間の変換に使用されます。
  • EventConverterは、LangBotイベントとプラットフォームイベント間の変換に使用されます。

TBC...

LangBot Documentation

Home

简体中文
指南
开发者
API 参考
Other pages
English
Guides
Developers
API Reference
Other pages
日本語
ガイド
開発者
API リファレンス
Other pages

Clone this wiki locally