Бот Discord отправляет встроенное сообщение на другой канал

1

Я не могу понять, как отправить встроенное сообщение на бота с одного канала на другой, хотя я могу выяснить, как отправить свое сообщение другому:

@bot.command(pass_context=True)
async def tf1(ctx):
    embed=discord.Embed(title="Test", description="1", color=0x5bcdee)
    embed.set_footer(text="Test2")
    await bot.say(discord.Object(id='456277299189383168'),  embed=embed)

Это не работает, и всякий раз, когда я его отправляю, я получаю этот <discord.object.Object object at 0x03B66BD0> а затем встроенное сообщение.

Изображение 174551

С другой стороны, это работает, когда я пытаюсь скопировать сообщение, а не встроенное сообщение, это код для копирования моего сообщения:

@bot.command(pass_context=True)
async def obisowner(ctx, *, mesg):
    await bot.send_message(discord.Object(id='456277299189383168'), "{}".format(mesg))
Теги:
discord
discord.py

1 ответ

2

bot.say() принимает первое message позиционном аргументе и отправляет сообщение и встраивается в канал контекста команды (то есть, канал, из которого командное сообщение получено ботом).

Поскольку вы хотите отправить сообщение на другой канал, вместо этого используйте bot.send_message():

await bot.send_message(discord.Object(id='456277299189383168'),  embed=embed)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню