如何解决Python-Tweepy-我需要添加什么才能使此代码回复帐户而不是关键字?
这是我当前使用的代码,该代码立即响应包含任何关键字的任何推文。相反,我想更改此代码以自动响应特定帐户(无论何时鸣叫)。我需要添加或删除什么才能实现此目的?当前代码有效,我只想知道如何更改其答复。
import tweepy
from tweepy import Stream
from tweepy.streaming import StreamListener
import json
class StdOutListener(StreamListener):
def on_data(self,data):
clean_data = json.loads(data)
tweetId = clean_data["id"]
tweet = "YOUR REPLY HERE"
respondToTweet(tweet,tweetId)
def setUpAuth():
auth = tweepy.OAuthHandler("consumer_key","consumer_secret")
auth.set_access_token("access_token","access_token_secret")
api = tweepy.API(auth)
return api,auth
def followStream():
api,auth = setUpAuth()
listener = StdOutListener()
stream = Stream(auth,listener)
stream.filter(track=["KEYWORDS"])
def respondToTweet(tweet,tweetId):
api,auth = setUpAuth()
api.update_status(tweet,in_reply_to_status_id=tweetId,auto_populate_reply_metadata=True)
if __name__ == "__main__":
followStream()
解决方法
解决了!
对于想知道如何完成此操作的其他人,这是我的工作:
我在代码中更改了这一行:
func getCompanies(){
DispatchGroup().enter()
let db = Firestore.firestore()
db.collection("companies").getDocuments() { (querySnapshot,err) in
if let err = err {
print("Error getting documents: \(err)")
} else {
for document in querySnapshot!.documents {
let company = Company(name: document.documentID,discount: document.data()["discount"] as! String,website: document.data()["website"] as! String,code: document.data()["code"] as! String,categories: document.data()["categories"] as! String)
LocalData.companies.companyList.append(company)
}
}
DispatchGroup().leave()
}
}
收件人:
stream.filter(track=["KEYWORDS"])
TWITTER_ID =您要自动回复的用户的Twitter ID,可以通过将其句柄插入tweeterid.com来找到。
例如realdonaldtrump的twitter id是25073877,因此您将TWITTER_ID替换为25073877。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。