Created
November 6, 2020 23:03
-
-
Save tajuszk/b75f6cc57952246a35d6b6c79613ed28 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| いいね or RT 機能 | |
| ① 検索ワードをスプレッドシートから取得する | |
| ② 検索ワードをTwitterで検索する(たくさん取れてしまうので「直近10分間」の検索を10分毎に行う) | |
| ③ ツイートに いいね or RT をする | |
| ④ 他に検索ワードがあれば②に戻る | |
| */ | |
| function main () { | |
| // ① 検索ワードをスプレッドシートから取得する | |
| var searchWords = pickUpSearchWords(); | |
| // searchWordsの中身は | |
| // [ [ '投稿内容', 'いいね or RT', '最終TweetId', '実行回数'] , [ '投稿内容', 'いいね or RT', '最終TweetId', '実行回数'],....,] | |
| // という形式になっているので1つずつ見ていく | |
| for (var i = 0, il = searchWords.length; i < il; i++ ) { | |
| var searchWord = searchWords[i][0]; | |
| var type = searchWords[i][1]; | |
| var lastTweetId = searchWords[i][2]; | |
| // !!!!!! 追加 !!!!!!! | |
| var limit = searchWords[i][3]; | |
| // ② Twitterで検索する | |
| var tweetList = findTweets(searchWord, lastTweetId); | |
| var count = 0 | |
| // ③ 複数件ツイートを取得されるので for を使って1つずつツイートを取り出し いいね or RT をする | |
| for (var j = 0, jl = tweetList.length; j < jl; j++ ) { | |
| var tweet = tweetList[j]; | |
| if (tweet.id_str > lastTweetId) { | |
| lastTweetId = tweet.id_str; | |
| } | |
| // !!!!!! 追加 !!!!!!! | |
| if (count == limit) { | |
| // lastTweetIdを出来るだけ新しくしたい場合は continue; | |
| // 次回以降の実行で続きのツイートを使いたい場合は break; | |
| continue; | |
| } | |
| count++; | |
| if (type == 'いいね') { | |
| putFavorite (tweet); | |
| } else if (type == 'RT') { | |
| putRetweet (tweet); | |
| } | |
| } | |
| // 最新のツイートIDを保存して重複処理をしないようにする | |
| var titleRow = 1; // 『検索ワード』とか書いている部分の行数 | |
| var lastTweetIdCol = 3; // 『最終TweetId』の列までなので3列目まで | |
| var updateCell = sheetData.getRange(i + 1 + titleRow, lastTweetIdCol, 1, 1); // i = 0 の時1行目なので+1してる | |
| updateCell.setValue(lastTweetId); | |
| } | |
| } | |
| // 検索ワードをスプレッドシートから取得する | |
| function pickUpSearchWords () { | |
| var titleRow = 1; // 『検索ワード』とか書いている部分の行数 | |
| var startRow = 1 + titleRow; // 1行目は『検索ワード』とか書いているので2行目から | |
| var startCol = 1; | |
| var endRow = sheetData.getLastRow() - titleRow; // 最後の行まで(2行目から始まっているので-1している) | |
| // !!!!!! 変更 !!!!!!! | |
| var endCol = 4; // 『実行回数』の列までなので4列目まで | |
| // 一括で取得する | |
| var cells = sheetData.getRange(startRow, startCol, endRow, endCol).getValues(); | |
| // cellsの中身は | |
| // [ [ '投稿内容', 'いいね or RT', '最終TweetId', '実行回数'] , [ '投稿内容', 'いいね or RT', '最終TweetId', '実行回数'] ,....,] | |
| // という形式になる | |
| return cells; | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment