Обновите статус Twitter с более чем 4 изображениями / более чем 1 видео - PullRequest
0 голосов
/ 11 января 2019

Я создал бота в Твиттере, который загружает изображения и видео, он работает, но он может загружать только 1 изображение и 1 видео в 1 твите. Поэтому я хочу улучшить его, чтобы можно было загружать несколько изображений / видео, но в твиттере есть 4 изображения или 1 ограничение на видео в 1 твите. Я уже понял, как загрузить 4 изображения в 1 твите, но я этого не хочу. Таким образом, идея заключается в том, чтобы максимально увеличить лимит загрузки в Твиттере, а затем, если он достигнут, загрузить его в ветку твиттера. Например, в папке, содержащей 5 изображений и 2 видео, бот отправит твит 1 видео - ответит на предыдущий твит с 1 видео - ответит на предыдущий твит с 4 изображениями - затем ответит на предыдущий твит с 1 изображением или наоборот. Я получил некоторые идеи от dumpbot и thread на github, но все еще не знаю, как реализовать мою идею в этих скриптах. Спасибо.

1 Ответ

0 голосов
/ 11 января 2019

Я думаю, что вроде понял, это работает. Пока это только для загрузки изображений, хотя ...

import tweepy as tp
import time
import os

consumer_key = ''
consumer_secret = ''
access_token = ''
access_secret = ''


#Twitter login.
auth = tp.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token,access_secret)
api = tp.API(auth)


os.chdir('images')
media_ids = []
for filename in os.listdir('.'):
    res = api.media_upload(filename)
    media_ids.append(res.media_id)


medid1= media_ids[:4]
print(medid1)
medid2 = media_ids[4:8]
print(medid2)
medid3 = media_ids[8:]
print(medid3)

# tweet with multiple images
if medid1:
    tweet1 = api.update_status(status='tweet1', media_ids=medid1)
    tweetid1 = tweet1.id_str
    time.sleep(1)

if medid2:
    tweet2 = api.update_status(status='tweet2', media_ids=medid2, in_reply_to_status_id = tweetid1)
    tweetid2 = tweet2.id_str
    time.sleep(1)

if medid3:
    tweet3 = api.update_status(status='tweet3', media_ids=medid3, in_reply_to_status_id = tweetid2)
    tweetid3 = tweet3.id_str
    time.sleep(1)
...