Twitterのbotをpython3で作ってみた

参考にしたページはこちら。

www.utali.io

途中手こずったところを書いておきます。

 

1つ目の問題は、SMS認証で電話番号がなかなか有効化されませんでした。電話番号1つにつき1個のアカウントしかSMS認証できないのかと予想しましたが、Twitter公式サイトによると、1つの電話番号で10個のアカウントのSMS認証が可能だそうです。これを信じて、諦めずに何回もコードを送信すると、10回くらいで有効化されました。

 

文言を表示させる.pyファイルを実行して、JSONデータは帰って来なかったけれど、ツィートをつぶやくことに成功しました。

 

 ここからcronを使ってスクリプトの定期実行に挑戦。参考にしたのはこちら。

qiita.com

www.server-memo.net

viはコマンド「esc + i」でINSERT、「esc + ZZ」でsave&exitです。

 

cronの設定を書くところまでは順調だったのですが、ここで2つ目の問題が・・・。設定した時刻にツィートされるか確認したところ、「No module named twitter」とエラーが返ってきました。調べたところ、以下のような処理をしないといけないみたいです。

 

sekai.hateblo.jp

もう少し分かりやすく書いてあるのがこちら。

http://d.hatena.ne.jp/noazoh/20091103

f:id:skstmrty:20170326155149p:plain

 

これで定期的にツィートがされるようになりました。ただ、同じツィートを数十分間隔で送信するのはエラーが返ってくるので、ツィートの内容を毎回違ったものにするなどの工夫が必要です。

エラーログの内容 - キャラボット設定の参考になればいいなログ

 

とりあえず、日付を入れてツィートするようにしたら問題は解決します。

 

あと、cronの操作に大分手こずりました。cron内でpythonのpathを通してやる必要があります。詳しくは以下のサイトを参考にしました。

qiita.com

 

晴れてbotが完成しました!今回作ったbotはこちら。

f:id:skstmrty:20170326193958p:plain

 

色々試したせいで文章の統一ができていないし、まだまだ改善の余地ありですが、完成したので良かったです。これからもう少し面白いbotにしていきたいです。

 

ここまで読んでいただきありがとうございました!