CentOS + PHP で Twitter bot を作成する(ランダムツイート)
Slack 用の bot を Hubot で作成したことを書いた。
CentOS + hubot で Slack に指定時刻に自動発言する – with a Christian Wife
https://wacw.cf/2018/02/11/auto-posting-on-slack-with-hubot-and-centos/
次は Twitter bot を作成してみたい。環境は VPS 上の CentOS 7.1 。
hubot や ruby を使う方法をいろいろ試してみたが、できたのは PHP を使う方法なので、それを紹介する。あらかじめ設定した定型文をランダムにツイートする。
(1)PHP をインストールする。
# yum install php
インストールの確認。
$ rpm -qa php
(2)適当なディレクトリ(twitter-bot とする)を作成。ディレクトリへ移動。
$ mkdir twitter-bot
$ cd twitter-bot
(3)TwistOauth.phar をダウンロード。
$ wget https://github.com/mpyw/TwistOAuth/raw/master/build/TwistOAuth.phar
(4)以下のページで consumer key、consumer secret, access token、access token secret を取得する。
Twitter Application Management
https://apps.twitter.com/
(5)twitter-bot.php というファイルを作成し、以下のように記述。4で取得したコードも記入する。
1
2<?php
3
4require_once('TwistOAuth.phar');
5
6$consumer_key = "XXXX";
7$consumer_secret = "XXXX";
8$access_token = "XXXXX";
9$access_token_secret = "XXXX";
10
11$filelist = file('list.txt');
12if( shuffle($filelist) ){
13$message = $filelist[0];
14}
15
16try {
17$to = new TwistOAuth($consumer_key, $consumer_secret, $access_token, $access_token_secret);
18$status = $to->post('statuses/update', ['status' => $message ]);
19var_dump($status);
20} catch (TwistException $e) {
21echo "[{$e->getCode()}] {$e->getMessage()}";
22}
23
24?>
(6)list.txt というツイート用のテキストを作成。1行ごとに文章を記入。ここからランダムにツイートされる。
(7)試しに実行。ツイートされるはずだ。
$ php twitter-bot.php
cron に登録すれば自動的にツイートできるようになる。
参考:
2分でわかる!LinuxのコマンドラインでPHPを実行するphpコマンドの使い方
https://eng-entrance.com/linux-php-operate
自動ランダムツイートするTwitter BOTをPHPとさくらインターネットで作る
https://montblan9.net/archives/2537