如何在discord.py中使用tenor api获取顶级搜索结果并返回随机gif

2024-04-23 06:18:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用这个函数使用tenor api生成一个gif命令,但是在这个函数中,它每次只返回一个gif,所以我如何使它看起来像是得到了最重要的结果并将其附加到列表中,然后使用random模块获得一个随机gif呢

def get_gif(searchTerm):  
    response = requests.get("https://g.tenor.com/v1/search?q={}&key={}&limit=1".format(searchTerm, TenorToken))
    data = response.json()
        
    # see urls for all GIFs
    for result in data['results']:
        for media in result['media']:
            return data['results'][0]['media'][0]['gif']['url']

Tags: 函数in命令api列表fordataget
1条回答
网友
1楼 · 发布于 2024-04-23 06:18:25

根据:https://tenor.com/gifapi/documentation#endpoints-search将api调用中的limit=1更改为最多50的数字

data["results"]将是一个GIF_OBJECT列表,您可以使用random.choice从这些列表中随机选择一个:

import random
...

...
gif = random.choice(data["results"])

然后,您可以使用以下方式返回gif

return gif['media'][0]['gif']['url']

相关问题 更多 >