Jadi saya mencoba membuat bot yang membalas setiap tweet, yang menyebutkan bot saya, dengan media. Masalahnya, setiap kali saya menjalankan kode ini:

FILE_NAME = "last_seen_reply.txt"

def read_last_seen(FILE_NAME):
    file_read = open(FILE_NAME, 'r')
    last_seen_reply_id = int(file_read.read().strip())
    file_read.close()
    return last_seen_reply_id

def store_last_seen(FILE_NAME, last_seen_reply_id):
    file_write = open(FILE_NAME, 'w')
    file_write.write(str(last_seen_reply_id))
    file_write.close()
    return

def reply_to_tweets_with_media():

    mentions = api.mentions_timeline(read_last_seen(FILE_NAME), tweet_mode = "extended")
    media = api.media_upload(filename = "pinto.png")
    mid = media.media_id

    for mention in reversed(mentions):
        if "@pintobot_" in mention.full_text.lower():
            print("Sending reply...")
            api.update_status(status = ('@' + mention.user.screen_name +' random text'),in_reply_to_status_id = mention.id)
            print("Reply was succesfully sent!")
            store_last_seen(FILE_NAME, mention.id)

while True:
    reply_to_tweets_with_media()
    time.sleep(5)

Balasan dikirim dan Anda benar-benar dapat melihatnya di tweet, tetapi ketika saya mengubah api.update_status dan menyertakan media_id,

api.update.status(status = ("@" + mention.user.screen_name + " random text"), in_reply_to_status_id = mention.id, media_ids = [mid])

Anda dapat melihat jumlah balasan pada tweet, tetapi Anda tidak dapat melihat balasan itu sendiri. Apakah ini bug twitter, atau kode saya salah?

0
Ruivo 3 September 2020, 17:03

1 menjawab

Jawaban Terbaik

Kode Anda baik-baik saja - Ini sepertinya merupakan bug dengan Twitter karena saya juga mengalami ini jauh sebelum saya mulai menggunakan API Twitter. Yakinlah bahwa jika kode Anda mencetak 'Balasan berhasil dikirim!' dan Anda dapat melihat jumlah balasan tweet, itu akan dikirim. Saya pikir itu hanya masalah dengan Twitter itu sendiri jadi tidak ada yang perlu dikhawatirkan.

Jika Anda membuka 'Tweets dan Balasan' di bawah profil Anda di Aplikasi Web Twitter (atau di iPhone, Android, apa pun yang Anda inginkan), Anda akan dapat melihat bahwa balasannya ada di sana jika Anda ingin konfirmasi lebih lanjut.

0
pigeonburger 5 September 2020, 03:07