Как проверить, содержится ли в сообщении упоминание с @?

код:

@client.event
async def on_message(message):
    if message.author != client.user:
        print(Fore.YELLOW+'['+str(message.channel)+'] '+Fore.MAGENTA+str(message.author.name)+Fore.WHITE+
              ": "+Fore.MAGENTA+str(message.content)+Fore.RESET)
        stmc = str(message.content)
        await client.process_commands(message)
    else:
        pass

Это что-то типа логов в реальном времени в консоли. Нужно добавлять к каждому упоминанию в сообщении ник упомянотого пользователя. Ведь так видно только что-то типо

<@!718082902696525995>


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

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

Согласно документации, модель Message имеет лист mentions, который содержит упомянутых пользователей Member. У нее в свою очередь есть, например, nick пользователя.

Отсюда узнать наличие упоминаний можно по длине листа

if len(message.mentions) > 0:
    nicks = [member.nick for member in message.mentions]
    print(nicks)
→ Ссылка