5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Twitterつぶやきbotを日本で一番わかりやすく教えるぜ

Last updated at Posted at 2019-12-11

筆者について

  • 東洋大学 情報連携学部 の学生
  • INIAD

準備

  • pythonを実行できる環境
  • herokuアカウント持っていてほしい
  • Twitter APIも使えるようになっていてほしい

Let's start!

ここに ソースコード
ソースコードに「requirements.txt」があります。
これは、herokuでinstallされるモジュールどもです。

tweet.py

import urllib
from requests_oauthlib import OAuth1Session
import requests
import sys
import os
import datetime

# キー等は環境変数に入れます
CK = os.environ.get("CK")
CS = os.environ["CS"]
AT = os.environ["AT"]
ATS = os.environ["ATS"]

# 署名URLの作成みたいな感じかな
twitter = OAuth1Session(CK, CS, AT, ATS)

# statues/update使います。(短期間での同じツイート内容はブロックされる)
url = "https://api.twitter.com/1.1/statuses/update.json"

# ex. おはよんよん!!2019年12月11日 08:51:56
dtNow = datetime.datetime.now() + datetime.timedelta(hours=9)
tweet = "おはよんよん!!" + dtNow.strftime('%Y年%m月%d日 %H:%M:%S')

params = {
    "status": tweet
}

res = twitter.post(url, params=params)

if res.status_code == 200:
    print("SUCCESS")
else:
    print(res)


注意

statues/updateは短期間で同じツイートをした場合はブロックされます。(403が帰ってくる)
なので、datetimeを使って毎回異なる時間帯を文字列に付け加えました。

heroku cliの設定

ご自身のターミナルで以下を実行。
なお、初期設定はしてあるとみなす。

terminal
$ heroku login

$ heroku create [app name]

$ git init

$ git remote add heroku https://git.heroku.com/[your app name].git

$ git add .
$ git commit -m "First commit to heroku"
$ git push heroku master

herokuの環境変数にTwitterのAPIキーを設定

terminal
$ heroku config:set CK=APIkey CS=APIsecretkey AT=Accesskey token ATS=Accesstokensecret

実際にherokuで実行されるか確認

terminal
$ heroku run python tweet.py

SUCCESSが返ればOK!!!!

herokuでcron(scheduler)の設定

なお、クレジットカードの登録はしてあるとする

terminal
$ heroku addons:add scheduler:standard

herokuに行く

  • 作成したappがあるので、その中でschedulerをクリック
  • create addがあると思うので、クリックする。
スクリーンショット 2019-12-11 9.30.39.png

上記のように設定すれば完了です!!
10分後に確認してみましょう!!

お疲れ様です!

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?