10
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Twitterの名前に絵文字を自動設定してみる

Posted at

Twitterの名前に絵文字(スマイリー)を付けて、その時の気分や時間帯によって手動で変更していました。なんとなく。

img.png

先日、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のステータスと連動させたり、難易度はめっちゃ高そうですがツイートする度に感情分析して内容と合った絵文字にしたりできると面白そうです!

10
3
0

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
10
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?