Вы не можете передать текст для отправки в качестве параметра функции @ bot.command. Обычно вы используете это:
async def say(ctx, *args):
args - это кортеж из разделенных пробелами подстрок вашего сообщения (также известного как слова ;-)). Например,
!say Hello world
представит вам
args = ("Hello", "world")
, чтобы преобразовать кортеж в строку, просто используйте:
message = ""
message = ' '.join(args)
всего:
@bot.command(pass_context=True)
@commands.has_role('Manager')
async def say(ctx, *args):
message = ""
message = ' '.join(args)
channel = ctx.guild.get_channel("714229744798925012")
await channel.send(channel, message)
Если вы хотите sh добавить команду для удаления сообщения позже, я предлагаю сохранить его идентификатор для дальнейшего использования.