отвечая на твит в твипи - PullRequest
       10

отвечая на твит в твипи

1 голос
/ 04 марта 2020

В моем коде есть проблема, когда независимо от того, что я пытаюсь сделать, каждый раз, когда я отвечаю на твит, он просто публикует как регулярное обновление статуса на моей временной шкале.

вот фрагмент кода

class StreamListener(tweepy.StreamListener):
 def on_status(self, status):
    tweetid = status.id
    tweetnouser = status.text.replace("@CarlWheezerBot", "")
    username = '@'+status.user.screen_name


    user_tweet = gTTS(text=tweetnouser, lang='en', slow=False)

    # Saving the converted audio

    user_tweet.save("useraudio/text2speech.mp3")

    # importing the audio and getting the audio all mashed up
    text2speech = AudioFileClip("useraudio/text2speech.mp3")
    videoclip = VideoFileClip("original_video/original_cut.mp4")
    editedAudio = videoclip.audio

    # splicing the original audio with the text2speech
    compiledAudio = CompositeAudioClip([editedAudio.set_duration(3.8), text2speech.set_start(3.8)])
    videoclip.audio = compiledAudio

    # saving the completed video fie
    videoclip.write_videofile("user_video/edited.mp4", audio_codec='aac')

    upload_result = api.media_upload("user_video/edited.mp4")
    api.update_status( status='@CarlWheezerBot',in_reply_to_status_id=[tweetid], media_ids=[upload_result.media_id_string], auto_populate_reply_metadata=True)

Я также пробовал без какого-либо статуса, а также с помощью status.id_str. Кажется, ничего не работает. Я сделал это без параметра метаданных. Я слежу за документацией дословно.

Ответы [ 2 ]

2 голосов
/ 04 марта 2020

ХОРОШО. для всех, кто читает это в будущем

используйте это in_reply_to_status_id=tweetid

, не используйте квадратные скобки. Теперь все отлично работает

0 голосов
/ 11 марта 2020

Играя с этим, я также заметил, что вы должны также упомянуть автора твита, на который вы отвечаете, особенно если вы отвечаете на существующий ответ, потому что он все равно будет публиковать его как обновление статуса. Строка из документации:

in_reply_to_status_id - Идентификатор существующего статуса, на который обновление отвечает. Примечание. Этот параметр будет игнорироваться, если в тексте состояния не указан автор твита, на который ссылается этот параметр. Следовательно, вы должны включить @username, где username является автором указанного твита, в обновление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...