From 6d22f9591a1292a3a3a2ae243d80c9de3ec540c4 Mon Sep 17 00:00:00 2001 From: birdi Date: Thu, 18 Jul 2019 23:14:00 +0300 Subject: [PATCH] Add ignore_case support in Text filter. Fixes #169 --- aiogram/dispatcher/filters/builtin.py | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/aiogram/dispatcher/filters/builtin.py b/aiogram/dispatcher/filters/builtin.py index c68bae72..7c8caaa8 100644 --- a/aiogram/dispatcher/filters/builtin.py +++ b/aiogram/dispatcher/filters/builtin.py @@ -267,13 +267,25 @@ class Text(Filter): text = text.lower() if self.equals: - return text == str(self.equals) + self.equals = str(self.equals) + if self.ignore_case: + self.equals = self.equals.lower() + return text == self.equals elif self.contains: - return str(self.contains) in text + self.contains = str(self.contains) + if self.ignore_case: + self.contains = self.contains.lower() + return self.contains in text elif self.startswith: - return text.startswith(str(self.startswith)) + self.startswith = str(self.startswith) + if self.ignore_case: + self.startswith = self.startswith.lower() + return text.startswith(self.startswith) elif self.endswith: - return text.endswith(str(self.endswith)) + self.endswith = str(self.endswith) + if self.ignore_case: + self.endswith = self.endswith.lower() + return text.endswith(self.endswith) return False