Как настроить отправку ответных сообщений, которые видит только пользователь, вызвавший команду? Discord py

Рейтинг: 0Ответов: 2Опубликовано: 02.02.2023

Хочу сделать, чтобы бот отправлял ответное сообщение, которое видит только один пользователь

Мой код:

@bot.slash_command(name='namecard', description = "отправляет выбранный баннер")
async def banner(ctx, категория: str, название: str):
  pic2 = название + ".png"
  await ctx.defer()
  await asyncio.sleep(1)
  await ctx.respond(f'Баннер **«{название}»**', file=discord.File(f'General/NameCard/{категория}/{pic2}'))

Ответы

▲ 0Принят

Вам необходимо добавить условие ephemeral.

ephemeral=True - видно только одному пользователю.

ephemeral=False - видно всем.

В вашем случае:

  await ctx.respond(f'Баннер **«{название}»**', file=discord.File(f'General/NameCard/{категория}/{pic2}'), ephemeral=True)
▲ 0

await interaction.response.send_message(f'Баннер **«{название}»**', file=discord.File(f'General/NameCard/{категория}/{pic2}'), ephemeral=True)

Более подробно в документации