LoginSignup
28
30

More than 3 years have passed since last update.

IFTTTとGASで自分のTwitterアカウントをガンダム名言集botにしてみた

Posted at

ガンダム好きのエンジニアにフォローされたい

ちなみに一番好きなガンダムはZガンダムです。

ガンダム名言募集中です

作り方

この方法だと、TwitterのAPIトークンの取得も不要です。

IFTTT

「If This」にWebhooks
「Then That」にTwitterのPost a tweetを選択
ファイル名

Event Nameは何でもいいです。
Value1にガンダム名言が入ります。

ファイル名
IFTTT側の設定はこれだけ。
Webhook用のURLを確認しておきましょう。
↓のページで赤枠をクリック
ファイル名
Documentaionをクリック
ファイル名
↓の赤枠部分をコピーしておく。
ファイル名

GAS

スプレッドシートのA列に好きなガンダム名言を入れます
ファイル名

ツール → スクリプトエディタ を開き、↓のコードを入力
webhookのURLは先ほどコピーしたものに変えてください。

function myOutgoingFunction() {
  const sheet = SpreadsheetApp.getActiveSheet();
  let currentRow = 1;
  while (true) {
    // 記録されていない行が見つかったとき:
    if (!sheet.getRange(currentRow, 1).getValue()) {
      break;
    }
    // 次の行へ
    currentRow++;
  }
  let random = Math.ceil( Math.random () * (currentRow-1) );
  let text = sheet.getRange(random, 1).getValue();
  // さっきコピーしたWebhook URLを貼り付け
  //triggerとwithの間にIFTTTで設定したEvent Nameを入れる
  const URL = 'https://maker.ifttt.com/trigger/text/with/key/doEKaaaaaaaaaaaaaaaaaaa';

  // POSTする中身
  const teamsPayload = {
    'value1': text,
  };

  // UrlFetchAppのオプション
  const params = {
    'method': 'POST',
    'contentType': 'application/json',
    'payload' : JSON.stringify(teamsPayload),
  };

  // HTTPリクエスト送信
  const res = UrlFetchApp.fetch(URL,params);
}

これでスプレッドシートのA列に記載された言葉の中からランダムにどれかをTwitterでつぶやきます。
あとはトリガー設定すれば、好きなタイミングでつぶやけます。
トリガーの設定方法は↓を参考にしてください。

【初心者向けGAS】時限式のイベントトリガーを設置して決まった時刻にBotを送信する方法

あとがき

好きなキャラクターは、

ん~

ルナマリア

28
30
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
28
30