fumbleのネットワーク周りを考える
なぜか、fumble-minchaをつなぐ部分を作成したわけですが、いまのところ、fumbleとみんちゃAPIが結構強く結合をしています。それにともない、fumble側の動作自体も、みんちゃのAPIにひきづられてます。それは、まぁ、悪いことではないんですが、そこにさらに「汎用ツール目指しているんだから、おーにちゃっとやIRCとかにもつなぎたい」とかの話をする人もいるわけです。
# 「いきあたりばったり」で作るのか、「最終形を念頭において」作っているのか、いまいちはっきりしない。なんか、また全改定するっぽいし。どっちかとゆーと、あまりに機能をはしょりすぎて、みなで使うツール目指して というよりも、開発者のおもちゃと化しているだけな気がする。
とりあえず、fumbleからみたネットワーク機能と、みんちゃが提供している(みんちゃ固有の仕様)を、独立して考えるために、「fumble側に」汎用的な、「fumble側が期待する」interfaceを1つ作成した上で、そのinterfaceと、実際のみんちゃ接続クラスを橋渡しするクラスをはさみたいところ。このinterfaceを考えるのは、本体側を待ちます。どうしたいんだか判らないし、先にいじっても、なんか、全改定する気みたいだし。そもそも、今後どうしたいのか見えないし。
その際にどーしても避けて通れないのは、「fumble側で機能の有無を取得して処理を変更する」という機能。たとえば、みんちゃには、SEND(PRIVMSG)がない。正確には外部アプリに送信・取得するAPIを提供していない。そのため、いまのところ、fumbleの本体全体に受信モード/送信モードという概念が無い。そのとき、どう動作するかは、adapterクラスの実装によるわけです(送受信モードといった概念自体は導入しておく必要がある)
# 送信モードは、%2 とか書くと、SENDで結果が飛んでいったアレです。手札表示とかでも、内部で使ってます。
# 受信モードは、SENDで受信したコマンドや、通常発言のコマンドにたいして、とくに送信モードを指定しない場合に、同じ方法で返信するための記憶してます。
# あとは、動的にコマンド入力者を変えるのもよくつかってました。「>ほげほげ」という書式のアレです。これも受信モード・・・?「>」とすると、元に戻ります。

Recent Comments