Ramot

備忘録

Twitterbot作ってみた

dotinstallのレッスン使って、Twitterbot作成してみた。

 

VirtualBox

CentOS7

dir  root/home配下に必要なものインストール

(動画に沿って)

 

コマンドから、.phpファイルを実行させて

Twitterで反映されるか試した後は、

crontabコマンドで定期実行できるかどうかの確認

f:id:montea1022:20190106132539p:plain

無事に指定した毎時間15分で自動で叩かれてました

[root@localhost bot_php]# crontab -l
15 * * * * /usr/bin/php /root/bot_php/bot.php

※root権限でやるの良くないよなぁ。

 

Twitter開発アカウントは、新しく作るのめんどくさくて

既存でも使ってるプライベート用そのまま

このあたりの英語申請?部分が、そもそも何を聞かれてるのか

訳しながらでめんどくさかったですね。

 

作ろうと思った理由としては

Twitterの大量のつぶやきの中から、自分が欲しいと思うキーワード入ってるつぶやきを勝手にリツイートさせるような事がしたかったのですが

Teratailで色々見てたら、他の方が『こういう事やってみたい!』

って質問してた方へ

『ちょっといきなりハードだねぇ、あなたがやろうとしてるのは~』

って、丁寧に返答してる方がいたのを見たから。

内容としては、

初心者というか、やり始めたばっかりなのに、もうすばらしい完成品作ろうとしてるからハードすぎですよ、もっと基礎の簡単なところから手をならしましょうみたいな。

 

これが、すーーーっごく私には、これだああああ!と響きまして。

すぐ応用編やりたがる癖があるけど、興味もった気持ちはそのままに

ハードル低いところからやらないとダメだなと気づけました。

 

cronの復習にもなりました。

というか、実際に設定入れたのこれが始めてかも。

 

最初の自動投稿を毎時間15分にして、

13:15に投稿された事を確認。子喜びしてお昼ご飯食べたあと、

14:15に再度確認したら、投稿されていない。。。

あれー?と php bot.phpで直接コマンド叩いたら

[root@localhost bot_php]# php bot.php
Error!Status is a duplicate. 

何かエラーが吐かれてしまい、ログ見てもわからず。

[root@localhost bot_php]# cat /var/log/cron

 

困ったので、検索したところ、

同じ文面をTwitter側が投稿拒否しているerrorみたいです。

文面変えて再度直接file走らせたら、無事にTwitterに反映されました。

 

投稿間隔が毎時間だとダメだったのかな。

監視だと5分間隔とかで見てるし、Twitter側の問題かなあ。

 

とりあえず毎時間はやめました。1日1回、朝投稿できるか見てみる事にします。

[root@localhost bot_php]# crontab -l
0 6 * * * /usr/bin/php /root/bot_php/bot.php