Twitterの名前に絵文字(スマイリー)を付けて、その時の気分や時間帯によって手動で変更していました。なんとなく。
先日、Qiitaに投稿されていた以下の記事を見て、自動化すると面白そうだなと思い、試してみました。
Twitterの名前を5分毎に東京の天気☼☂☃と連動させるサーバレスプログラムを書いたら色々知らないことが出てきた話
TwitterOAuth
PHPで、TwitterOAuthを使ってみました。久しぶりに使いましたが、新しくなっていたんですね。ファイル構造や書き方も変わっているようです。
ダウンロードやTwitter APIの使い方は以下の記事が参考になります。
【PHP】新TwitterOAuthでログイン機能を実装する
OAuthに接続
// OAuth用ライブラリ twitteroauth
require_once 'twitteroauth/autoload.php';
use Abraham\TwitterOAuth\TwitterOAuth;
// アプリ登録した際に発行された値
$consumer_key = 'XXXXXXXXXXXXXXXXXXXXX';
$consumer_secret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
$access_token = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
$access_token_secret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
// オブジェクト生成
$connection = new TwitterOAuth (
$consumer_key,
$consumer_secret,
$access_token,
$access_token_secret
);
スマイリーの設定
// 時間帯 絵文字(スマイリー)設定
date_default_timezone_set('Asia/Tokyo');
$timezone = date('H');
if ($timezone < 6) {
$smily = "😴";
} else if ($timezone >= 6 && $timezone < 9) {
$smily = "😀";
} else if ($timezone >= 9 && $timezone < 12) {
$smily = "😄";
} else if ($timezone >= 12 && $timezone < 17) {
$smily = "🤔";
} else if ($timezone >= 17 && $timezone < 21) {
$smily = "😷";
} else {
$smily = "😪";
}
このあたりは好みですね。もうちょっと細かく分けてバリエーション増やしても面白そう。
date_default_timezone_setでタイムゾーンを設定しておかないと、-9時間になる場合があります。不要な場合は省略可。
ユーザー情報変更
// ユーザー情報変更
$profile_request = $connection->post("account/update_profile", ["name" => "ユーザー名".$smily]);
あとは2時間毎にクーロンを設定したりすれば自動化の完成です。
トリガーを変えるといろいろ応用できるので、例えばSlackのステータスと連動させたり、難易度はめっちゃ高そうですがツイートする度に感情分析して内容と合った絵文字にしたりできると面白そうです!
