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
Articles
API Reference
Other pages
日本語
ガイド
開発者
記事
API リファレンス
Other pages

Clone this wiki locally