Twitter botでツイート内容をランダム化する
Table of Contents
やりたいこと
Twitter APIを使って、指定したURLのうちランダムで一つを、自動ツイートしたい。
※下準備として、Twitter API との連携やComposerのダウンロードが必要です。
全コード提示
↓bot.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
<?php require_once 'vendor/autoload.php'; require_once 'tweet.php'; //ツイート内容候補をセッティングしたファイル use mpyw\Cowitter\Client; $consumer_key = 'ご自分のconsumer_key'; $consumer_secret = 'ご自分のconsumer_secret'; $access_token = 'ご自分のaccess_token'; $access_token_secret = 'ご自分のconsumer_key_secret'; //Twitterのuser_id $user_id = 'ご自分のツイッターのuser_id'; try { // Twitterの認証を通す $client = new Client([ $consumer_key, $consumer_secret, $access_token, $access_token_secret, ]); //ツイートするURLをランダム選出 shuffle($url_array); $url = $url_array[0]; $status = $client->post('statuses/update', [ 'status' => 'プログラミングに関する情報を発信中!!'."\n".'ぜひ見てください!'."\n".'#プログラミング #駆け出しエンジニアと繋がりたい'."\n"."'$url'", ]); // 投稿したツイートのURLを表示する echo "ツイートしました。\n"; } catch (\RuntimeException $e) { // エラーが起きたら、その内容を表示する echo "Error: {$e->getMessage()}\n"; } |
↓tweet.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
<?php $url_array = array( 'https://produce-web.net/xampp-change-port/', 'https://produce-web.net/transparent-image/', 'https://produce-web.net/wp_query/', 'https://produce-web.net/embed-code/', 'https://produce-web.net/basename/', 'https://produce-web.net/favicon/', 'https://produce-web.net/refined-search/', 'https://produce-web.net/environment-variable/', 'https://produce-web.net/cookie-session-difference/', 'https://produce-web.net/icloud-windows/', 'https://produce-web.net/ultimate-members-1/', 'https://produce-web.net/ultimate-members-2/', 'https://produce-web.net/ultimate-members-3/', 'https://produce-web.net/do-not-reload/', 'https://produce-web.net/metaslider/', 'https://produce-web.net/show-hide-switching-sidebar/', 'https://produce-web.net/python-hello-world/', 'https://produce-web.net/webfont-css/', 'https://produce-web.net/python-scraping/', 'https://produce-web.net/wordpress-table-of-contents/', 'https://produce-web.net/command-prompt-vscode/', 'https://produce-web.net/python-scraping-excel/', 'https://produce-web.net/wordpress-add-widget/', 'https://produce-web.net/multiple-pages-form/', 'https://produce-web.net/php-twitter-bot/', 'https://produce-web.net/php-twitter-bot-2/', 'https://produce-web.net/python-selenium/' ); |
コード解説
24、25行目のところがツイート内容をランダム化している部分になります。具体的には、24行目でurl_arrayの要素の順番をシャッフルして、25行目で配列の1番最初(インデックス0)を取得することで、「url_arrayに登録しておいたURLの一つをランダムで取得」を実現しています。
続いて、28行目がツイート内容になります。上のコードの例では「’プログラミングに関する情報を発信中!!’.”\n”.’ぜひ見てください!’.”\n”.’#プログラミング #駆け出しエンジニアと繋がりたい’.”\n”」までの部分は共通で、最後の$urlの部分が25行目でランダム取得したURLを貼るというツイート内容になっています。ですので、この部分は適宜変更してください。また、上のコードではURLをランダムで取得していますが、内容はURLでなくても問題ありません。