Когда в коде есть пробелы он не работает

Есть дс бот который должен при сообщении проверять есть ли в сообщении запрещеные слова, но когда в сообщении стоит пробел он ложно срабатывает, вот сам код:

blacklist = ["test1","test2"]

@bot.event
async def on_message(message: discord.Message):
    ctx = await bot.get_context(message)
    msgid = ctx.message.id
    msgc = await ctx.fetch_message(msgid) 
    msg = msgc.content
    author = ctx.author
    author_roles = author.roles
    if str(author.id) == "856512828785426472":
        pass
    else:
        if "966009778792960120" in str(author.roles):
            for word in str(msg):
                if str(word) in str(blacklist):
                    await ctx.send("5.4  нарушаешь?")
                    break

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

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

Используйте split что бы получить все слова из сообщения в качестве списка и по нему уже проверять.

blacklist = ['test', 'bad']

msg = 'some message with bad words'

for word in msg.split():
    # msg.split() вернет ['some', 'message', 'with', 'bad', 'words']
    if word in blacklist:
        print('Bad word!')
        break
→ Ссылка