"ツイート時間”設定編「Twitterの自動化」#02 テクノロジーを味方に。API無しでできる、IFTTTとGASで実現する"自動TweetBOT"
2023/05/30追加記事
※IFTTTTの仕様変更
「5月23日からTwitter連携を有料プランのみに変更し…」ということになっております。
したがって、こちらの「"自動TweetBOT"」を実行するには、最低でもIFTTTの有料プランが必須になってきます。
上記を踏まえたうえで、読み進めてください。
※参考記事
概要
「自動TweetBOT」の追加設定です。
前回「1日に1回、指定した時間」にTweetするとい設定だったものを、
「1日に4回、2時間毎にTweetする」とか「1日の内の指定した時間帯の中で、1時間おきにTweetする」とかいう設定が可能にします。「自動TweetBOT」をまだ活用されていないという方は、以下の記事をご覧ください。
その他のご要望などは、ご相談ください。
連絡先 メール:info@ginnesh-pm.com
前回の記事、”自動TweetBOT”に関して
前回、「Twitterの自動化」#01を公開してから、いろいろ反響をいただけまして、ありがとうございます。
そんな中で、「ツイートする時間を小分けにしたい」や「1日に1回じゃなくて、数回ツイートしたい」などのご質問をいただけましたので、追加記事を公開することにしました。
というわけで今回は、
「自動TweetBOT:”Tweet時間”設定編」
です。
”Tweet時間”設定編
使う”アプリ”や”サービス”について
GAS(Google App Scipt)
Googleによって開発されたスクリプトプラットフォームである軽量のアプリケーション開発のためのGoogleのワークスペースプラットフォーム。 主にGoogleのサービスを自動化するスクリプト言語です。
全体の流れ
1.Tweetする時間を決める
2.トリガーの設計
2.GASでプログラムを書き換える
1.Tweetする時間を決める
Tweetする時間帯を決めます。
まず、
・1日に何回か?→1日24時間の内、何時間おきにTweetするのか?
・夜中の時間帯はどうするのか?
を決めます。
※今回は、例として、以下の条件で設定します。
・1日に4回Tweetする
・1日24時間の内の、9時から18時までの間で3時間毎に繰り返し実行される
・最後のTweet時に、翌日の9時のTweetのトリガーをセットする
2.トリガーの設計
※トリガースクリプトの概要(今回の場合)
・「9:00、12:00、15:00、18:00」に実行されて、最後の18:00のトリガーで、”翌日の9:00”に次回のトリガーをセットする設定となります。
・「設定」シートの「B6」「C6」に入力した時間は無効になります。
3.GASでプログラムを書き換える
①スプレッドシートの準備
・前回と同じものを使用しますが、
>未使用のセルがあります
・「設定」シート未使用部分
以下の個所(セルに何か記入されていても問題はないです)
・B6・・・ツイート配信時間の「時」を入力(半角英数で入力ください)
・C6・・・ツイート配信時間の「分」を入力(半角英数で入力ください)
②GAS(Google App Script)側のプログラムを書き換える
次の個所を削除する
// トリガーをセットする関数
function setTrigger() {
const setTime = new Date();
const hours = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("設定").getRange("B6").getValue();
const minutes = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("設定").getRange("C6").getValue();
setTime.setDate(setTime.getDate() + 1);
setTime.setHours(hours);
setTime.setMinutes(minutes);
ScriptApp.newTrigger('autoTweet').timeBased().at(setTime).create();
}
以下のコードに書き換える※コピー&ペーストOK!
function setTrigger() {
const time = new Date();
//9~17の数字範囲を判定する正規表現
const regWorkHours = /^(9|1[0-7])$/;
//実行した時間が9~17時 ならば
if(regWorkHours.test(time.getHours())) {
//次の3時間後 (hour) の 00分で「autoTweet」を実行する時間指定タイマーをセット
time.setHours(time.getHours() + 3);
time.setMinutes(00);
ScriptApp.newTrigger('autoTweet').timeBased().at(time).create();
}
//実行した時間が 9~17時以降 ならば
if((regWorkHours.test(time.getHours())) != /^(9|1[0-7])$/ ) {
//翌日の9時00分に「autoTweet」を実行する時間指定タイマーをセットする
time.setDate(time.getDate()+1);
time.setHours(9);
time.setMinutes(00);
ScriptApp.newTrigger('autoTweet').timeBased().at(time).create();
}
}
・スクリプトの概要
時間が9~17時の間であれば、メイン関数のautoTweet()をセットする
3時間毎に繰り返し実行される
1日の最後の18:00のTweet後、翌日の9:00にトリガーをセットする
・テストTweet
必ずテストツイートを行い、希望の設定通りにTweetできるか、確認して確認してください。
補足
今後、Twitter側やIFTTT側、Google側のいずれかで、アプリやサービスの仕様などに変更が生じた場合は、何らかの不具合が出る可能性がありますので、その点は、予めご理解ください。
ご利用について
ツイートの頻度や内容など、一般的ではないような使用を考えられているよな場合は、このBOTは適さない可能性があるため、ご注意ください。
また、このBOTの利用で発生した問題の責任は負いかねます。
事前に使い方をテスト、理解した上で、ご利用ください。
ご不明な点などがございましたら、ご連絡いただければと思います。
連絡先
メール:info@ginnesh-pm.com
#プログラミング #GoogleAppsScript #GAS #コピペ #Twitter #IFTTT #TwitterBOT #BOT #ツール #ノーコード #ローコード #TwitterAPI #自動化 #TwitterAutoBOT #Twitter自動化 #Auto #プログラミング初心者
#テクノロジー #IT #IOT