Как проверить, содержится ли в сообщении упоминание с @?
код:
@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)