Python Tweepy Bot,它从json文件中随机推送图像和相应的文本标题

Python Tweepy Bot,它从json文件中随机推送图像和相应的文本标题,python,json,tweepy,Python,Json,Tweepy,我正在尝试创建一个Twitter机器人,它每30分钟从json文件中推送一个随机标题和相应的图像。到目前为止,我已经: import tweepy from time import sleep import random import json with open('test.json', 'r') as f: info = json.load(f) print('Twitter Bot') CONSUMER_KEY = 'XXXXXX' CONSUMER_SECRET = 'XX

我正在尝试创建一个Twitter机器人,它每30分钟从json文件中推送一个随机标题和相应的图像。到目前为止,我已经:

import tweepy
from time import sleep
import random

import json
with open('test.json', 'r') as f:
    info = json.load(f)

print('Twitter Bot')

CONSUMER_KEY = 'XXXXXX'
CONSUMER_SECRET = 'XXXXXX'
ACCESS_KEY = 'XXXXXX'
ACCESS_SECRET = 'XXXXXX'

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)
api = tweepy.API(auth)


randomChoice = random.randrange(len(info))
print (info[randomChoice])
api.update_status(status=info[randomChoice])
Json文件:

    [
  {
    "text": "hi",
    "image": "/image1.jpg"
  },
  {
    "text": "hello",
    "image": "/image2.jpg"
  }
]

但是tweet只显示:{'text':'hello','image':'/image2.jpg'}。如何使其仅显示图像和文本?另外,我如何设置它,使其每30分钟发生一次?我是编程新手,非常感谢您提供的任何帮助

您需要类似于:

api.update_with_media(info[randomChoice]['image'], 
                      status=info[randomChoice]['text'])
但是,您需要确保:

  • 图像文件位于当前工作目录中,或
  • 提供图像文件的完整路径
  • 要处理每30分钟运行一次,您可以使用:


    你需要这样的东西:
    api。用媒体更新(info[randomChoice]['image'],status=info[randomChoice]['text'])
    。但是,您需要确保1)图像文件位于当前工作目录中,或者2)您提供了图像文件的完整路径。非常感谢您的帮助。我怎样才能每30分钟自动发一次推特呢?不客气。我发布了一个答案,其中包含了关于如何每30分钟运行一次代码的更多信息。祝你万事如意!杰出的我很感激
    import schedule
    import time
    
    def job():
        print("I'm working...")
        # your tweepy code here 
    
    schedule.every(30).minutes.do(job)
    
    while True:
        schedule.run_pending()
        time.sleep(1)