Twitterのbotをpython3で作ってみた
参考にしたページはこちら。
https://www.utali.io/entry/2016/10/09/231510
途中手こずったところを書いておきます。
1つ目の問題は、SMS認証で電話番号がなかなか有効化されませんでした。電話番号1つにつき1個のアカウントしかSMS認証できないのかと予想しましたが、Twitter公式サイトによると、1つの電話番号で10個のアカウントのSMS認証が可能だそうです。これを信じて、諦めずに何回もコードを送信すると、10回くらいで有効化されました。
文言を表示させる.pyファイルを実行して、JSONデータは帰って来なかったけれど、ツィートをつぶやくことに成功しました。
ここからcronを使ってスクリプトの定期実行に挑戦。参考にしたのはこちら。
viはコマンド「esc + i」でINSERT、「esc + ZZ」でsave&exitです。
cronの設定を書くところまでは順調だったのですが、ここで2つ目の問題が・・・。設定した時刻にツィートされるか確認したところ、「No module named twitter」とエラーが返ってきました。調べたところ、以下のような処理をしないといけないみたいです。
もう少し分かりやすく書いてあるのがこちら。
http://d.hatena.ne.jp/noazoh/20091103
これで定期的にツィートがされるようになりました。ただ、同じツィートを数十分間隔で送信するのはエラーが返ってくるので、ツィートの内容を毎回違ったものにするなどの工夫が必要です。
エラーログの内容 - キャラボット設定の参考になればいいなログ
とりあえず、日付を入れてツィートするようにしたら問題は解決します。
あと、cronの操作に大分手こずりました。cron内でpythonのpathを通してやる必要があります。詳しくは以下のサイトを参考にしました。
晴れてbotが完成しました!今回作ったbotはこちら。
色々試したせいで文章の統一ができていないし、まだまだ改善の余地ありですが、完成したので良かったです。これからもう少し面白いbotにしていきたいです。
ここまで読んでいただきありがとうございました!