不接受Twitter Tweep API中的关键字参数“user”

2024-03-29 10:37:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我对你有意见api.send.direct发送。消息代码。
它正在抛出一个error; peError: send_direct_message()得到一个意外的关键字参数'user'。
我尝试了多个选项,包括屏幕名称=user.u名称但运气不好。你知道吗

import tweepy
import time

# Authenticate to Twitter
auth = tweepy.OAuthHandler("Kr2pjbeG3hDC2", 
"3nunhSaUZ9MeAHpmbEhuEEqSFmj2l2EfaMIzxu9")
auth.set_access_token("107550621-n7OrqgFx", 
"mse3r98sEfziOO95qPCrnD0kUh9lJToxRJ3E0Uzmg")

api = tweepy.API(auth, wait_on_rate_limit=True, wait_on_rate_limit_notify=True)

for user in api.followers():
   text="""Hi"""       

   try:
      api.send_direct_message(user=user, text=text) 
      print(user.screen_name)
   except tweepy.TweepError as e:
       print(e.args[0][0]['code'])  # prints 34
      print(e.args[0][0]['message'])
      continue
   except StopIteration:
      break  

Tags: textimport名称authsendapimessagerate
1条回答
网友
1楼 · 发布于 2024-03-29 10:37:09

根据documentation,您应该指定收件人的ID:

API.send_direct_message(recipient_id, text[, quick_reply_type][, attachment_type][, attachment_media_id])

您的代码应该如下所示:

import tweepy
import time

# Authenticate to Twitter
auth = tweepy.OAuthHandler("Kr2pjbeG3hDC2", 
"3nunhSaUZ9MeAHpmbEhuEEqSFmj2l2EfaMIzxu9")
auth.set_access_token("107550621-n7OrqgFx", 
"mse3r98sEfziOO95qPCrnD0kUh9lJToxRJ3E0Uzmg")

api = tweepy.API(auth, wait_on_rate_limit=True, wait_on_rate_limit_notify=True)

for user in api.followers():
   text="""Hi"""       

   try:
      api.send_direct_message(recipient_id=user.id, text=text) 
      print(user.screen_name)
   except tweepy.TweepError as e:
       print(e.args[0][0]['code'])  # prints 34
      print(e.args[0][0]['message'])
      continue
   except StopIteration:
      break  

相关问题 更多 >