Discord custom emoji имеет вид <:name:id>
.Поэтому, если вы используете re
, библиотеку регулярных выражений Python, вы можете найти все пользовательские эмодзи в данном сообщении.
import re
import discord
@client.event
async def on_message(msg):
custom_emojis = re.findall(r'<:\w*:\d*>', msg.content)
custom_emojis = [int(e.split(':')[1].replace('>', '')) for e in custom_emojis]
custom_emojis = [discord.utils.get(client.get_all_emojis(), id=e) for e in custom_emojis]
# From now, `custom_emojis` is `list` of `discord.Emoji` that `msg` contains.
Я не тестировал этот код сейчас, но раньше использовал этот метод и нашелэто сработало.Поэтому, пожалуйста, дайте мне обратную связь, если это не сработает, тогда я найду, если я неправильно набрал.