Client.create_tweet()参数错误原因及替代调用方式咨询
解决
Client.create_tweet() takes 1 positional argument but 2 were given错误 错误原因
你直接将OpenAI的响应对象response作为位置参数传给create_tweet(),但该方法仅接受self作为位置参数,其余参数需通过关键字参数指定,且你未从OpenAI响应中提取实际生成的推文文本。
正确调用方式
首先从OpenAI的响应中提取生成的推文内容,再通过text关键字参数传递给create_tweet():
import tweepy import keys import openai openai.api_key = keys.aiapikey # 调用OpenAI生成推文 response = openai.ChatCompletion.create( model="gpt-3.5-turbo-0301", messages=[{"role": "user", "content": "give me best tweet of the day please"}] ) # 提取生成的推文文本 tweet_content = response['choices'][0]['message']['content'].strip() # 初始化Tweepy客户端 client=tweepy.Client( consumer_key=keys.api, consumer_secret=keys.apisecret, access_token=keys.accesstoken, access_token_secret=keys.accesssecret ) # 正确调用create_tweet,使用text关键字参数 client.create_tweet(text=tweet_content)
其他可选调用方式
根据需求,还可以通过关键字参数添加额外功能:
- 回复某条推文:添加
in_reply_to_tweet_id参数,如client.create_tweet(text=reply_content, in_reply_to_tweet_id=123456) - 添加媒体附件:需先上传媒体获取media_id,再传入
media_ids参数,如client.create_tweet(text=tweet_content, media_ids=[media_id])
内容的提问来源于stack exchange,提问作者lenny
相关产品推荐
相关产品推荐

