Twitter 트윗 봇을 일본에서 가장 이해하기 쉽습니다.

필자에 대해서


  • 동양대학 정보연계학부 학생
  • INIAD

  • 준비


  • 파이썬을 실행할 수있는 환경
  • heroku 계정을 가지고 싶어요
  • Twitter API도 사용할 수 있기를 바랍니다.

    Let's start!



    여기 소스 코드
    소스 코드에 "requirements.txt"가 있습니다.
    이것은 heroku에 설치된 모듈입니다.

    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로 이동


  • 작성한 앱이 있으므로 그 안에서 scheduler를 클릭

  • - create add가 있다고 생각하기 때문에, 클릭한다.





    위와 같이 설정하면 완료입니다! !
    10분 후에 확인해 봅시다! !

    수고하셨습니다!

    좋은 웹페이지 즐겨찾기