Pythonでtwitterのbotを作成する方法(後半)

目次

  1. Twitter APIの認証情報を作成してみよう
  2. Pythonを使ってツイートをしてみよう
  3. クラウドを使って自動でツイートするbotを作ってみよう

前回の記事
でステップ1,2までは終了しています。

今回はステップ3の

「クラウドを使って自動でツイートするbotを作ってみよう」

に相当します。

GCP(Google CLoud Platfrom)と呼ばれるクラウドサービスを利用します。

GCP(Google Cloud Platform)とは

Googleが提供するクラウドサービスです。

競合である、Amazonが提供するAWS(Amazon Web Services)も有名ですが、

近年はGCPも人気を集めています。

クラウドを使って自動でツイートするbotを作ってみよう

概要

GCPの以下の2つのサービスを使って、botを構築します。

どちらのサービスも、今回の利用ボリュームであれば無料で利用できます。

手順

Cloud Functions

まずはGCPコンソールにログインする。
https://console.cloud.google.com/?hl=ja

プロジェクトを作成します。

左上のハンバーガーメニュー(三本線のアイコン)をクリックして、
コンピューティングにあるCloud Functionsをクリックする。

GCPを利用されるのが初めての場合、ここの手順あたりで無料トライアルへの登録を促されます。

無料トライアルでは、一年間にわたって300ドル分のクーポンが利用できます。

クレジットカードの登録が必要ですが、説明にもある通り自動で課金されることはありません。

また、今回作成するサービスは上述の通り、この無料トライアルを抜きにしても料金が発生しませんので、ご安心を。

Cloud Functionsに戻り、関数を作成をクリックする。

名前を決めていただき、画像のように入力します。

作成後は、URLにアクセスすることで、関数が実行されツイートが行われます。

このURLを控えておいて下さい。

ランタイムを Pythonに設定

twitterモジュールを利用したいので、requirement.txttwitterと追記してください。

main.pyに戻っていただきコードを編集します。

下記のコードを認証情報を適切に設定してコピペして下さい。

認証情報の作成方法については、前回の記事で解説しています。

実行する関数を変更するのも忘れないでください。(このコードの場合、関数名はtweet

1
2
3
4
5
6
7
8
9
10
import twitter
def tweet(request): # これらの認証情報はダミーなので、書き換えてください
auth = twitter.OAuth(consumer_key="Cymp0qFxlwyfXXddETJjl1lNJ",
consumer_secret="CpXJxBRWkW9QQzLeoRoTWbBVUGREWHQ5fU41pdXnIaRbsfEXph",
token="3045399218-lwL7MZq1upTO680eAPAyIoecQsR6kBPwNM35BrS",
token_secret="MVYTxsC4XN4wQ8zVD2Vp9D4ByUcKTBDIPosCgFK9mc98z")
text = 'このツイートはpythonでツイートしています'
t = twitter.Twitter(auth=auth)
status=text
t.statuses.update(status=status)

作成をクリックして、Cloud Functionsの設定は終了です。

テストを実行してみましょう。ツイートされるはずです。

うまくいかない場合、ログからエラーが確認できるのでデバッグします。

Cloud Scheduler

メニューのツールからCloud Schedulerをクリックし、ジョブを作成します。

特にレイテンシを意識する必要もないので、ロケーションはそのままでもOKです。

頻度を設定します。画像のように設定すると、毎日夜24時にツイートをします。

先ほど控えたCloud FunctionsURLを設定します。

完成です。今すぐ実行でテストすることもできます。

まとめ

いかがだったでしょうか。

この後は、ツイートの内容を工夫するなりして遊んでみるのもいいと思います。

勉強目的なのでこれで十分、という方はプロジェクトごと消してしまいましょう。