Googleスプレッドシート→どどんとふへのチャット送信テスト

 ガラコのGoogleスプレッドシートを作ったときに、久々にスプレッドシートをいじってみたら、いろいろと機能拡張がスゴイことになっていて、ガラコのシートは関数だけで書いたのですが、実はスクリプトJavaScriptみたいなGoogle Apps Script)も実行出来るようになっていて、これはほぼExcelと同様のことが出来る!という期待と、またExcelと同様の変態アプリがそこかしこで出来るんじゃないかという危惧を感じつつ、早速変なスクリプトを書いてみたり。


 内容はタイトルの通り、Googleスプレッドシートから、どどんとふのチャットに文字列を送信するというものです。

使い方

準備

 色つきセルの内容を必要に応じて書き換える。特にURLとか。

実行方法

  • その1:「送信ボタン」を押下する。
  • その2:メニューから「どどんとふ」→「チャット送信」を選択する。

※初回実行はアプリケーションからの承認許可を求められる。

結果

  • (うまく動作していれば)指定したどどんとふの部屋に発言する。
  • 処理結果をスプレッドシートのダイアログに表示する。

スクリプトソース

// メニュー作成
function onOpen() {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var entries = [{
    name : "チャットへの発言",
    functionName : "sendDodontoF"
  }];
  spreadsheet.addMenu("どどんとふ", entries);
};

// どどんとふチャット送信
function sendDodontoF() {
  var mySheet = SpreadsheetApp.getActiveSheet();

  // シートから情報取得
  var postUrl = mySheet.getRange("B3").getValue();
  var postRoomNo = mySheet.getRange("B4").getValue();
  var postUser = mySheet.getRange("B5").getValue();
  var postMessage = mySheet.getRange("B6").getValue();
  
  // どどんとふWEBIF実行
  var url = postUrl.replace('DodontoF.swf', 'DodontoFServer.rb?')
      + 'webif=talk&room=' + postRoomNo + '&name=' + postUser + '&message=' + postMessage + '&callback=responseFunction';
      // urlにオプションを追加すれば、文字職、ダイスボットの指定が可能。
  var response = UrlFetchApp.fetch(url);  

  // 結果出力
  Browser.msgBox(response);
};

 キャラクターシート連携とかで使えそうな感じですです。