【发布时间】:2020-03-25 22:06:51
【问题描述】:
这段代码我有各种各样的问题,这是另一个 stackoverflow 用户代码的很大一部分,但我假设他们可能永远不会完成它,因为我得到了各种各样的错误。众所周知,“状态”对象没有“替换”属性。我认为我已经修复了,不知道,在网上找不到任何东西,虽然它是一个变量,所以我尝试了非变量版本,但仍然没有。现在我有这个问题。
Yes
Traceback (most recent call last):
File "C:\Users\alexo\Desktop\Twitter Dad.py", line 28, in <module>
answer="@"+tweet.user.screen_name+" Hi " + c + ", I'm Dad!"
TypeError: can only concatenate str (not "tuple") to str
不知道这有什么问题,脚本的重点是让这个机器人搜索某人的推文以“我是____”开头并回复“嗨____,我是爸爸!”只是一个幽默的事情,但我完全迷路了。感谢所有帮助,谢谢!
新问题!
import tweepy
import tweepy as tt
import time
import sys
import importlib
from importlib import reload
importlib.reload(sys)
#login credentials twitter account
consumer_key = 'redacted'
consumer_secret = 'redacted'
access_token = 'redacted'
access_secret = 'redacted'
#login
auth = tt.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)
api = tt.API(auth)
search_query = "hi I'm Dad"
user = api.me()
print(user.name)
max_tweets = 100
for tweet in tweepy.Cursor(api.search, q=search_query).items(max_tweets):
c = tweet
c = ("im ","")
answer="@"+tweet.user.screen_name+" Hi " + c + ", I'm Dad!"
print("Reply:",answer)
api.update_status(status=answer)
time.sleep(300) #every 5 minutes
Traceback (most recent call last):
文件“C:\Users\alexo\Desktop\Twitter Dad.py”,第 26 行,在 tweet_contents = tweet.split() # 假设 tweet 是 str AttributeError: 'Status' 对象没有属性 'split'
错误:
Traceback (most recent call last):
File "C:\Users\alexo\Desktop\Twitter Dad.py", line 26, in <module>
tweet_contents = tweet.split() # assuming tweet is a str
AttributeError: 'Status' object has no attribute 'split'
代码
import tweepy
import tweepy as tt
import time
import sys
import importlib
from importlib import reload
importlib.reload(sys)
#login credentials twitter account
consumer_key = '4QGxdJFmn4phBS0z9JTMU1S27'
consumer_secret = 'VuOkfqCEq6YcEeI2Sg6hhP4a7xrMHbhzORr9gQKyX8XfETbbnX'
access_token = '1200414502304591872-lj89lAd7r8oFbXEwDaVxg7YnH8pddO'
access_secret = '3PUfawYhaQJYDU6VYriKiVZNA9zYAAc1UOXe1UREgtWH7'
#login
auth = tt.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)
api = tt.API(auth)
search_query = "hi I'm Dad"
user = api.me()
print(user.name)
max_tweets = 100
for tweet in tweepy.Cursor(api.search, q=search_query).items(max_tweets):
tweet_contents = tweet.split() # assuming tweet is a str
i = tweet_contents.index("I'm")
c = tweet_contents[i + 1]
answer = "@{name} Hi {c}, I'm dad!".format(name=tweet.user.screen_name)
print("Reply:",answer)
api.update_status.(status=answer)
time.sleep(300) #every 5 minutes
【问题讨论】:
-
为什么
c是一个元组?你想在那里做什么? -
你的代码没有缩进
-
c = ("im ","")可能是你的问题。为什么你分配c=tweet然后立即将其重新分配给` ("im ","")`?还可以考虑使用字符串格式。 -
这是其他用户代码的一部分,我是新手,对我来说也没有多大意义,但我不知道该怎么处理它。谢谢你的解释!现在我只需要弄清楚如何让它在“我是”之后发推文。现在它只是发推文@example_name 嗨('im',''),我是爸爸!
标签: python windows twitter bots