執筆日時:2019.08.06
初投稿です。
#1.botを使うための準備
python 3.6.1
macOS 10.13.6
以下を参考にして鍵とtokenを取得してください
https://qiita.com/yuki_bg/items/96a1608aa3f3225386b6
#2.python書き書き
##0.準備
pipでtwitterのモジュールをinstallします
pip install twitter
##1.Twitterの認証
# OAuth
ACCESS_TOKEN_KEY = 'hoge'
ACCESS_TOKEN_SECRET = 'fuga'
CONSUMER_KEY = 'hogehoge'
CONSUMER_SECRET = 'fugafuga'
oauth = twitter.OAuth(ACCESS_TOKEN_KEY,
ACCESS_TOKEN_SECRET,
CONSUMER_KEY,
CONSUMER_SECRET)
##2.csvから曲データ読み込み
csvを読み込んで行数を変数len_numberに格納しています。
# csvから曲データを読み込み
f = open("database.csv", "r")
csv_data = csv.reader(f)
music_data = [ e for e in csv_data]
number = len(music_data)
len_number = int(number) - 1
##3.フォローしているユーザのみ対象にする
以下を参考にAPIを呼び出しています
https://syncer.jp/Web/API/Twitter/REST_API/GET/friends/ids/
# Retrieve friends IDs
SCREEN_NAME='account'
twitter_api = twitter.Twitter(auth=oauth)
friends = twitter_api.friends.ids(screen_name=SCREEN_NAME, count=5000)
friends_ids = ','.join(map(str, friends['ids']))
##4.特定のリプライに対してランダムにアイテムを返す
for tweet in stream.statuses.filter(follow=friends_ids):
if tweet['in_reply_to_screen_name']=='account':
if '@account [反応させたい文字列]' in str(tweet) :
random_number = random.randint(0,len_number)
tweet_test = '@' + str(tweet['user']['screen_name']) + ' ' + music_data[random_number][0]
try:
twitter_api.statuses.update(status=tweet_test)
except:
pass
全コードはgithubに上げてあります。
DANCERUSH STARDOMというダンスゲームの課題曲を教えてくれるbotを作りました(今は動かしてません)