#python #tweepy
Вопрос:
Я пытаюсь создать функцию для удаления последних 5 DMS, отправленных в проекте, над которым я работаю, но я могу отправлять только все DMS, которые достигают предела скорости, поэтому заставляю Tweepy ждать более 30 секунд. Код:
import tweepy
CONSUMER_KEY = 'private'
CONSUMER_SECRET = 'private'
ACCESS_KEY = 'private'
ACCESS_SECRET = 'private'
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)
api = tweepy.API(auth)
dms = api.list_direct_messages(5)
print(len(dms))
for i in range(len(dms)):
api.destroy_direct_message(dms[i]._json['id'])
Когда я запускаю его, print(len(dms))
выводит 0, показывая, что он вообще не получил список.
Ответ №1:
count
Параметр для конечной точки API Twitter GET direct_messages/события/список, который API.list_direct_messages
используется, — это «максимальное количество возвращаемых событий».
Не гарантируется, что вернется так много.
Вместо этого вы должны использовать Cursor
для перебора 5 прямых сообщений.
Кроме того, вы можете получить доступ id
непосредственно в качестве атрибута DirectMessage
объектов.