@classmethod
def yes_or_no(cls, ctx: Optional[commands.Context]=None, channel: Optional[discord.TextChannel]=None, user: Optional[discord.abc.User]=None) -> 'MessagePredicate':
    same_context = cls.same_context(ctx, channel, user)

    def predicate(self: MessagePredicate, m: discord.Message) -> bool:
        if (not same_context(m)):
            return False
        content = m.content.lower()
        if (content in ('yes', 'y')):
            self.result = True
        elif (content in ('no', 'n')):
            self.result = False
        else:
            return False
        return True
    return cls(predicate)
@classmethod
def yes_or_no(cls, ctx: Optional[commands.Context]=None, channel: Optional[discord.TextChannel]=None, user: Optional[discord.abc.User]=None) -> 'MessagePredicate':
    same_context = cls.same_context(ctx, channel, user)

    def predicate(self: MessagePredicate, m: discord.Message) -> bool:
        if (not same_context(m)):
            return False
        content = m.content.lower()
        if (content in ('yes', 'y')):
            self.result = True
        elif (content in ('no', 'n')):
            self.result = False
        else:
            return False
        return True
    return cls(predicate)