Discord Bot возвращает «HTTPException: BAD REQUEST (код состояния: 400): не удается отправить пустое сообщение», хотя я отправляю непустое сообщение - PullRequest
1 голос
/ 11 мая 2019

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

У меня есть эта функция, которая простовозвращает строку, переданную в:

def returnParameter(string):
    return string

, и когда я пытаюсь вызвать эту функцию в качестве команды для моего бота на моем сервере раздора, набрав, например, .bot hello world!, выполняется следующий код:

@client.command(aliases = ["bot", "BOT"])
async def botFunction(ctx, *, command):
    response = returnParameter(command)
    await ctx.send(print(response))

Используя приведенный выше пример, я ожидал, что мой дискорд-сервер напечатает "hello world!", но вместо этого я получаю эту ошибку:

Traceback (most recent call last):
  File "/Users/User1/Desktop/Python/venv/lib/python3.7/site-packages/discord/ext/commands/bot.py", line 860, in invoke
    await ctx.command.invoke(ctx)
  File "/Users/User1/Desktop/Python/venv/lib/python3.7/site-packages/discord/ext/commands/core.py", line 698, in invoke
    await injected(*ctx.args, **ctx.kwargs)
  File "/Users/User1/Desktop/Python/venv/lib/python3.7/site-packages/discord/ext/commands/core.py", line 72, in wrapped
    raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: HTTPException: BAD REQUEST (status code: 400): Cannot send an empty message

1 Ответ

0 голосов
/ 11 мая 2019

Две проблемы:

  1. Кажется, что ваша функция и ваша команда имеют одно и то же имя.Вы должны дать им разные имена.

  2. print(response) возвращает None.Вы должны просто делать await ctx.send(response)

...