Получение ошибки «У нетипа нет атрибута - et c.» и не могу найти ничего, чтобы это исправить. [-Discord.py-] - PullRequest
0 голосов
/ 15 апреля 2020

Я делаю дискорд-команду под названием «alert», которая заставит бота сказать указанное сообщение в указанном канале. Это мой код:

@bot.command()
@commands.has_permissions(view_audit_log=True)
async def alert(ctx, channel, message):
    print(channel)
    channel = ctx.guild.get_channel(channel)
    await channel.send(message)

Ошибка здесь:

raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'NoneType' object has no attribute 'send'

Помощь?

1 Ответ

0 голосов
/ 15 апреля 2020

Это не может работать, потому что аргумент get_channel должен быть int, представляющим идентификатор канала. Лучшим решением было бы использовать конвертер:

@bot.command()
@commands.has_permissions(view_audit_log=True)
async def alert(ctx, channel: discord.TextChannel, *, message):
    await channel.send(message)
...