2017-07-31 8 views
0

tweepyとpythonを使ってtwitter botを作ろうとしていますが、tweetに返信する方法がわかりません。tweepyを使ってツイートに返信するにはどうしたらいいですか?

import tweepy 
from Keys import keys 
import time 

CONSUMER_KEY = keys['consumer_key'] 
CONSUMER_SECRET = keys['consumer_secret'] 
ACCESS_TOKEN = keys['access_token'] 
ACCESS_TOKEN_SECRET = keys['access_token_secret'] 

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) 
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET) 
auth.secure = True 
api = tweepy.API(auth) 

message = " Test message" 

for tweet in tweepy.Cursor(api.search, q='search_item', lang = 'en').items(1): 
try: 
    print ("Found tweet by:@" + tweet.user.screen_name) 
    api.update_status('@' + tweet.user.screen_name + message) 
    print 'responded to @' + tweet.user.screen_name 

    if tweet.user.following == False: 
     tweet.user.follow() 
     print ("following @" + tweet.user.screen_name) 

except tweepy.TweepError as e: 
    print(e.reason) 
    time.sleep(3) 
    continue 
except tweepy.RateLimitError: 
    time.sleep(15*60) 
except StopIteration: 
    break 

私はそれが@usernameでつぶやきを投稿して、メッセージを言ってんだけど、それは返信することができません。

答えて

0

私はそれを最終的に考え出しました。 ツイートに返信するコードは

api.update_status(status = "your message here", in_reply_to _status_id = tweet.id_str) 
0

さて、それは何か簡単だった。つぶやきが@表記を使って向けられた人を特定する必要がありました。

api.update_status('My status update @whoIReplyTo',tweetId) 
+0

ですか?あなたが言ったことをすると、端末はキーワードargの後に非キーワードargを出します。あなたは実際のtweetIdを意味しますかもしそうなら、私はtweepyでそれをどうやって見つけるのですか? – Peyton

+0

@Peyton 'tweetId = tweet ['results'] [0] ['id']' –

関連する問題