Infinite Inferno bug or typo?

So in my code i have

        if enemy:
            if enemy.type != "knight" or "raider" or "ninja" or "ranger" or "samurai" or "sorcerer":

is this wrong?Cause i used (in the past)

if enemy and enemy.type != "knight" or "raider" or "ninja" or "ranger" or "samurai" or "sorcerer":

and both of them gives me
sadly (is this a bug?)

yeah I get type error trying to find enemy.type and

No, you need if enemy.type != something then repeat thing WITH THE enemy.type != something for it to work