#python #discord #discord.py
Вопрос:
каждый раз, когда я пытаюсь использовать команду с тегом, который, как я точно знаю, является тегом, я получаю «ничего не найдено»…
я новичок в кодировании, что я делаю не так
@bot.command()
async def cough(ctx, *, tags: str):
await ctx.channel.trigger_typing()
tags = strip_global_mentions(tags, ctx)
try:
data = requests.get(
"https://lolibooru.moe/index.php?page=dapiamp;s=postamp;q=indexamp;json=1amp;limit={}amp;tags={}"
.format(limit, tags),
headers=header).json()
except json.JSONDecodeError:
await ctx.send("nothing found")
return
count = len(data)
if count == 0:
await ctx.send("nothing found")
return
image_count = 4
if count < 4:
image_count = count
images = []
for i in range(image_count):
image = data[random.randint(0, count)]
images.append("http://lolibooru.moe/images/{}/{}".format(
image["directory"], image["image"]))
#await ctx.send("nsfw.results", ctx).format(image_count, count, tags, "n".join(images))
await ctx.send(images[0])
Комментарии:
1. Я почему-то не могу получить доступ к сайту, которым вы пытаетесь воспользоваться. Кажется, что
booru.moe
этого больше не существует.
Ответ №1:
Вы пытаетесь позвонить https://lolibooru.moe/index.php?...
, но в документации API никто не говорит о файлах php. Если вам нужен ответ json, используйте https://lolibooru.moe/index.json?...
Он указан в разделе Основы пункта
Пример: https://lolibooru.moe/post/index.json?page=dapiamp;s=postamp;q=indexamp;json=1amp;limit=10amp;tags=azur_lane
Комментарии:
1. спасибо, что это сработало, как бы то ни было, теперь я получаю ошибку
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: KeyError: 'directory'
2. @KB256 это означает
directory
, что в вашем словаре нет ключа. Если у вас есть новый вопрос, задайте его в новом посте, а не в комментариях к ответу.