(discord.py) Есть ли способ для события on_message просмотреть встроенное, а не обычное сообщение? - PullRequest
0 голосов
/ 18 февраля 2019

Я пытаюсь создать бот discord.py, который ищет заданные ключевые слова в каждом сообщении с событием on_message.Хотя это нормально работает с обычным текстом, я не могу заставить его работать со встроенным сообщением, которое мне нужно.Есть ли способ сделать это?

1 Ответ

0 голосов
/ 19 февраля 2019

message.embeds даст вам список Embed объектов.Вы можете попробовать что-то вроде

def check_all_message(check_for, message):
    if check_for in message.content:
        return True
    for e in message.embeds:
        if any(item and check_for in item for item in (e.title, e.footer, e.description)):
            return True
        if e.fields:
            for field in e.fields:
                if check_for in field.name or check_for in field.value:
                    return True
    return False

@bot.event
async def on_message(message):
    if message.author == bot.user:
        return
    if check_all_message("apple", message):
        await bot.send_message(message.channel, 'You said "apple"!')
...