ぼちゃっとプラグインSDK

プラグインSDK 1.0

  ぼちゃっとのプラグインを作成する為の仕様解説書です。

©1999 ぼらぼら／BORA2. All rights reserved.


連携システムについて

  ぼちゃっととプラグイン間は、TCP/IPでの接続となります。
  ぼちゃっと側でプラグイン用に待ち受けしているポート番号は9191です。
  尚、このポートは、デバックモードを使用する事によって、変更出来ます。


VBでの連携方法

  Winsockコントロールを使用した連携方法を説明します。

  Winsockコントロールのプロパティで、プロトコルを「TCP/IP」にする。
  そして……

  Winsock1.RemoteHost = Winsock1.LocalIP
  Winsock1.RemotePort = 9191
  Winsock1.Connect

  ……と、フォームのLoadや、コマンドボタン等に記述するだけでOKです。


起動時にぼちゃっとから渡されるコマンド

  ぼちゃっとから起動すると、コマンド文字列として情報が渡されます。

  ◆プラグインホスト（自らプラグインを起動）として起動した場合
  -h & 自分のユーザー番号

  ◆プラグインクライアント（接続相手の要求によりプラグインが起動）として起動した場合
  -c & プラグインホストのユーザー番号 & 自分のユーザー番号


ぼちゃっとのデバッグモードについて

  このモードを使用すると、待ち受けしているポートを変更する事が出来ます。
  これにより、１台のPCで動作確認する事が可能になります。

  bochatdebug*subport?　( ? には1～9が入る)

  上記のコマンドを入力すると、下記のように設定が変更になります。

  １……ポート8111
  ２……ポート8211
  ３……ポート8311
  ４……ポート8411
  ５……ポート8511
  ６……ポート8611
  ７……ポート8711
  ８……ポート8811
  ９……ポート8911

  これと同時に、ぼちゃっと同士のやり取りに使用されるポートも変更されますので、ぼちゃっとを複数立ち上げる事が可能です。
  一般的な動作確認方法として、まず１つ目のぼちゃっとを立ち上げます。そして、bochatdebug*subport1 をデバックモードに入力。この時点で、２つ目のぼちゃっとを起動する事が出来ます。
  そして、デバックモードにしたぼちゃっとから自IPを呼び出しします。すると、デバックモードにしていないぼちゃっとがホストとなって、接続状態になります。
  プラグインは、ポート9191で接続する通常バージョンと、デバック用のポート8111バージョンを用意し、通常バージョンを２つ目のぼちゃっとの下に、デバック用を１つ目のぼちゃっとの下に置いておけば、プラグイン同士の接続が可能になります。


送信コマンド一覧

送信文字列 | 機能
"$$plugin$$0001$$" & 0000000000 | 接続相手のプラグインを開く
"$$plugin$$0002$$" & 相手のユーザー番号 | 接続相手がプラグインを開いているかどうかの問い合わせ
"$$plugin$$1000$$" | 参加者データの要求
"$$plugin$$1001$$" & 0000000000 & 表示文字列本文 | ログ画面への文字列表示
"$$plugin$$1002$$" & 0000000000 & メッセージ本文 | プラグインメッセージの送信
"$$plugin$$1003$$" | 自分のユーザー番号要求
"$$plugin$$8888$$" | バージョン番号の問い合わせ
"$$plugin$$9999$$" | プラグインホストの問い合わせ


接続相手のプラグインを開く

◆送信コマンド
"$$plugin$$0001$$" & 0000000000
◆返り値
こちらを参照
◆解説
  接続相手のプラグインを起動させる場合、この文字列をぼちゃっとへ送る。
  「0000000000」は、左からユーザー番号０番～９番を示す。
  「1」を指定すると、該当する相手のプラグインが開く。
  存在しないユーザー番号への指定は、返り値で「失敗」が戻る。
  本人への指定は無視される。
◆例（VB/Winsockコントロール）
Winsock1.SendData "$$plugin$$0001$$0010001000"
この場合は、ユーザー番号２番と６番のプラグインが開く。


接続相手がプラグインを開いているかどうかの問い合わせ

◆送信コマンド
"$$plugin$$0002$$" & 相手のユーザー番号
◆返り値
こちらを参照
◆解説
  接続相手のプラグインが開いているかどうかを問い合わせる。
  通常は送信コード0001の返り値で取得してください。
  送信コード0001の返り値が戻ってこなかった場合等、あらためて問い合わせする必要がある場合のみ使用してください。
◆例（VB/Winsockコントロール）
Winsock1.SendData "$$plugin$$0002$$3"
この場合は、ユーザー番号３番のオープン状況が返り値で返ってくる。


参加者データの要求

◆送信コマンド
"$$plugin$$1000$$"
◆返り値
こちらを参照
◆解説
  参加者のデータを要求する。
◆例（VB/Winsockコントロール）
Winsock1.SendData "$$plugin$$1000$$"
この場合は、参加者のデータを要求している。


ログ画面への文字列表示

◆送信コマンド
"$$plugin$$1001$$" & 0000000000 & 表示文字列本文
◆返り値
無し
◆解説
  接続相手のぼちゃっとに文字列を表示させたい場合、この文字列をぼちゃっとへ送る。
  「0000000000」は、左からユーザー番号０番～９番を示す。
  「0」以外を指定すると、該当する相手のぼちゃっとに文字列が表示される。
  存在しないユーザー番号への指定は、無視される。
◆例（VB/Winsockコントロール）
Winsock1.SendData "$$plugin$$1001$$1000002070あいうえお"
この場合は、ユーザー番号０・６・８番のぼちゃっとに「あいうえお」と表示させる。


プラグインメッセージの送信

◆送信コマンド
"$$plugin$$1002$$" & 0000000000 & メッセージ本文
◆返り値
エラー時のみあり
◆解説
  接続相手のプラグインに文字列を送りたい場合、この文字列をぼちゃっとへ送る。
  「0000000000」は、左からユーザー番号０番～９番を示す。
  「0」以外を指定すると、該当する相手のプラグインに文字列が送られる。
  本人への送信は無視される。
  ユーザーが存在しない番号への送信は、返り値でエラーが戻る。
◆例（VB/Winsockコントロール）
Winsock1.SendData "$$plugin$$1002$$1000002070あいうえお"
この場合は、ユーザー番号０・６・８番のプラグインに「あいうえお」という文字列を送る。


自分のユーザー番号要求

◆送信コマンド
"$$plugin$$1003$$"
◆返り値
こちらを参照
◆解説
  自分のユーザー番号を取得したい場合、この文字列をぼちゃっとへ送る。
  通常は起動時のコマンド文字列で取得できる。
◆例（VB/Winsockコントロール）
Winsock1.SendData "$$plugin$$1003$$"
この場合は、自分のユーザー番号を要求している。


バージョン番号の問い合わせ

◆送信コマンド
"$$plugin$$8888$$"
◆返り値
こちらを参照
◆解説
  ぼちゃっとのバージョン番号を取得したい場合、この文字列をぼちゃっとへ送る。
◆例（VB/Winsockコントロール）
Winsock1.SendData "$$plugin$$8888$$"
この場合は、ぼちゃっとのバージョン番号を要求している。


プラグインホストの問い合わせ

◆送信コマンド
"$$plugin$$9999$$"
◆返り値
こちらを参照
◆解説
  現在起動しているプラグインのプラグインホストを問い合わせる。
  通常は、起動時のコマンドラインで取得できる。
◆例（VB/Winsockコントロール）
Winsock1.SendData "$$plugin$$9999$$"
この場合は、プラグインホストの番号を要求している。


受信コマンド一覧

受信文字列 | 機能
"$$plugin$$0000$$" | 送信コマンドエラー
"$$plugin$$0001$$" & 送信元ユーザー番号 & 結果 | プラグインオープン指示に対する返答
"$$plugin$$0002$$" & 送信元ユーザー番号 & 結果 | オープン問い合わせに対する返答
"$$plugin$$1000$$" & ユーザーデータ(10人分) | 参加者ユーザーデータ要求への返答
"$$plugin$$1002$$" & 送信元ユーザー番号 & メッセージ本文 | プラグインメッセージの着信
"$$plugin$$1003$$" & 自分のユーザー番号 | 自分のユーザー番号要求への返答
"$$plugin$$1004$$" & 送信元ユーザー番号 | プラグインメッセージ送信のエラー
"$$plugin$$8888$$" & バージョン番号 | バージョン番号の返答
"$$plugin$$9999$$" & ホスト番号 | プラグインホストかどうかの返答


送信コマンドエラー

◆着信コマンド
"$$plugin$$0000$$"
◆解説
  送信したコマンド文字列が間違っていた時に戻ってくるコマンド文字列。


プラグインオープン指示に対する返答

◆着信コマンド
"$$plugin$$0001$$" & 送信元ユーザー番号 & 結果
◆解説
  送信コード0001でオープン指示を出した時に返ってくる結果コマンド文字列。
  結果の値は「0」が失敗。「1」が成功。


オープン問い合わせに対する返答

◆着信コマンド
"$$plugin$$0002$$" & 送信元ユーザー番号 & 結果
◆解説
  送信コード0002でオープン指示を出した時に返ってくる結果コマンド文字列。
  結果の値は「0」がクローズ。「1」がオープン。


参加者データ要求への返答

◆着信コマンド
"$$plugin$$1000$$" & ユーザーデータ(0～9)
◆解説
  送信コード1000でユーザーデータを要求した時に返ってくる結果コマンド文字列。
  ユーザーデータはユーザー番号０番から順に９番まで１０人分送られてくる。その区切りはVerticalTab(AsciiCode 11)で区切られています。
  ユーザーが存在しない番号には、各要素に半角スペースが入っています。
◆ユーザーデータの構造
ハンドル & Tab & ハンドル色 & Tab & E-Mailアドレス & Tab & ホームページURL & Tab & ユーザーのIPアドレス & Tab & 表示アイコンファイル名 & VerticalTab


プラグインメッセージの着信

◆着信コマンド
"$$plugin$$1002$$" & 送信元ユーザー番号 & メッセージ本文
◆解説
  相手プラグインがメッセージを送ってきた時、この着信コマンド文字列が着信します。


自分のユーザー番号要求への返答

◆着信コマンド
"$$plugin$$1003$$" & 自分のユーザー番号
◆解説
  送信コード1003で自分のユーザー番号を要求した時に返ってくる結果コマンド文字列。


プラグインメッセージ送信のエラー

◆着信コマンド
"$$plugin$$1004$$" & 送信元番号
◆解説
  送信コード1002でプラグインメッセージを送信した際、相手側が正しく受信出来なかった場合、このコマンド文字列が結果として戻ってくる。。


バージョン番号の返答

◆着信コマンド
"$$plugin$$8888$$" & バージョン番号
◆解説
  送信コード8888でぼちゃっとのバージョン番号を問い合わせた時に返ってくる結果コマンド文字列。


プラグインホストかどうかの返答

◆着信コマンド
"$$plugin$$9999$$" & ホスト番号
◆解説
  送信コード9999でプラグインホストを問い合わせた時に返ってくる結果コマンド文字列。


ユーザーサポート

ユーザーサポートについて

本仕様書に対しての御質問・御要望は、WebSite『ぼらぼらオンライン』にある掲示板でお願いいたします。
BORA2 ONLINE
ぼらぼらオンライン
http://www3.airnet.ne.jp/bora2/

WWWにアクセス出来ない方は、下記のアドレス宛に電子メールをお願いいたします。

E-Mail ： bora2@sf.airnet.ne.jp
NIFTY-Serve ： CXP03725

※メールアドレス・ホームページのURLは、予告無しに変更される場合があります。


使用許諾条件・著作権表示

●本仕様書の著作権は、作者であるぼらぼら／BORA2が有しております。転載・雑誌への紹介等については、作者への連絡・承諾が必要です。尚、転載の際は、一切の改変を禁止します。
●本仕様書を使用する事で発生する直接的・間接的損害に対して、作者及び著作権者であるぼらぼら／BORA2は、その責任を一切負わない事とします。
●Microsoft, Windows, Windows NT またはその他のマイクロソフト製品の名称および製品名は、米国 Microsoft Corporation の米国およびその他の国における商標または登録商標です。その他の製品および会社名は、各社の登録商標または商標です。

ぼちゃっとプラグインSDK Version 1.0
Copyright(C) 1999 ぼらぼら／BORA2