Дискорд бот на python, упоминание ролей

Подскажите, как упомянуть роль через бота в дискорде?

await message.channel.send("@admin")

Вот такой код не работает.


Ответы (1 шт):

Автор решения: jillstr

1. Способ:

Что бы упомянуть роль достаточно знать её ID и отправить сообщение с таким содержанием:

await message.channel.send("<@&id_роли>")

2. Способ:

Получить роль и упомянуть её:

from discord.ext import commands


@commands.command()
async def push(ctx: commands.Context):
    # Получаем роль
    role = ctx.guild.get_role(role_id=id_роли)
    # Отправляем сообщение
    await ctx.send(f"Роль: {role.mention}")

Если у вас уже имеется ID, то смысла получать роль нет, если в дальнейшем вы ничего не будете с ней делать.

→ Ссылка