ストックじゃなくていいねください。
事前準備
途中から 前回までやってる前提の話ができてきます。
ただ、GoogleAppsScriptでdiscordにpostしたいだけの人は無視してください。
GoogleSpreadSheet
今回はGooglesSpreadSheetからdiscordにポストさせます。
前回同様にR6S持ちキャラというスプシを見本に使用します。
discordに送信用botを作成
- 追加したいdiscordのサーバー設定を開き、Webhoooksを選択。
- 名前と追加するチャンネルを設定し保存。また、その時にwebhook URLをメモしておいてください。(何度でも見れますのでメモしなくても必要なときにコピーするだけでも大丈夫です)
- 先程のwebhook URLをブラウザで開いてください。
- "token":"トークン"が書かれているのでtokenをメモしてください。
GoogleAppsScript
操作したいスプシのツールタブ>スクリプトエディタを選択
ファイル→新規作成→スクリプトファイル
source
function R6S() {
// 取り扱いたいスプレッドシートのURL
const spreadSheet = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/1VHruuvXrQXxvfFxVpLi1mz050BJHHrLpe_itdWOlHys/edit#gid=1404341781');
const message = "スプシ更新したよ!!" //送信するメッセージ
discord(message);
}
function discord(message) {
// 各所必要な項目をセットします
const url = 'https://discordapp.com/api/webhooks/zzzzzzzzzzzzzzzzzzzzzzzz';//discordのwebhooksのurl
const token = 'MzkwMTkzNjQ4NzQ4MzMxMDE4.DRwEmA.tMdsdsdsdsDU_Bsasasasasasaasasasasas';//discordのwebhooksのトークン
const channel = '#general';//送信したいチャンネル
const text = message;
const username = 'らんらん';//送信させたいユーザー名
const parse = 'full';
const method = 'post';
const payload = {
'token' : token,
'channel' : channel,
"content" : text,
'username' : username,
'parse' : parse,
};
const params = {
'method' : method,
'payload' : payload,
'muteHttpExceptions': true
};
response = UrlFetchApp.fetch(url, params);
//Logger.log(response.getContentText());
}
今回は「スプシ更新したよ!!」とpostするだけですが、時間の取得やシート内容をpostすることもできます。
自分で調べて改良してみてください。
トリガーの設定
スクリプトエディタに時計みたいなマークがあるのでクリック!
時間や編集時など実行するタイミングを設定します。
今回はシートが編集されると実行し、discordにbotが「スプシ更新したよ!!」と送信されます。
# スプシから情報を取得
ここから前回に追加していきます。
source
########ここより上は前回のdiscord_bor.rb
# スプシ更新したよ!!と送信されると実行
bot.message(content: 'スプシ更新したよ!!') do |event|
range = '持ちキャラ一覧!A2:O14'#指定範囲
response = service.get_spreadsheet_values(spreadsheet_id, range)
response.values.each do |row|
#Print columns A and O, which correspond to indices 0 and 4.
event.respond "#{row[0]},#{row[1]}, #{row[2]}, #{row[3]}, #{row[4]}, #{row[5]}, #{row[6]}, #{row[7]}, #{row[9]}, #{row[10]}, #{row[11]}, #{row[12]}, #{row[13]}"
end
end
スプシ更新したよ!とbotが送信すると別のbotがスプシの情報を参照して指定範囲の内容を送信します。
おまけ
Discordにwebhookのbotを作ったので、GoogleHomeでdiscordのbotにメッセージを送信させるようしましょう。
書くのが面倒なのでQiitaにあった記事拾ってきました。
ここの記事見てやってみてください。
以上