Почему await client.say () не работает в моем коде?

Я создаю бота Discord с python 3.6 и discord.py для моего личного сервера Discord, и я сделал команду помощи, единственное, что не работает, - это await client.say(). Я использую винтики, на данный момент у меня есть 3 файла с именами basics.py, info_commands.py и miscellaneous.py

Я попытался заменить await client.say() на await client.send_message(), но все равно не работает. Я не понимаю, почему, потому что это работает где-нибудь еще в моем коде, и сообщение об ошибке мне не помогает.

cogs = ['info_commands', 'miscellaneous']

@client.command(pass_context=True)
async def help(ctx):
    help = discord.Embed(title="Voici le menu d'aide :", description="", 
color=discord.Colour.dark_red())
    for y in range(len(cogs)):
        help.add_field(name=str(cogs[y-1]), value="", inline=True)

    await client.say(embed=help)

Ожидаемый результат - встраивание с двумя полями, первым miscellaneous и вторым info_commands, но текущий результат - это сообщение об ошибке, в котором говорится, что в строке 34 справки есть ошибка, вот сообщение об ошибке:

сообщение об ошибке


person KoraKu    schedule 23.12.2018    source источник
comment
Вы должны получить сообщение об ошибке при попытке зарегистрировать команду help. Вы что-то делаете, чтобы удалить существующую команду help?   -  person Patrick Haugh    schedule 24.12.2018
comment
Да, я удалил команду справки по умолчанию с помощью client.remove_command('help')   -  person KoraKu    schedule 24.12.2018


Ответы (1)


У вас не может быть пустого value в поле для встраивания. Вместо этого вы можете использовать пространство нулевой ширины,

help.add_field(name=str(cogs[y-1]), value="\u200b", inline=True)
person Patrick Haugh    schedule 23.12.2018
comment
О, я не думал об этом, большое спасибо! Я попробую, когда буду завтра за компом - person KoraKu; 24.12.2018