diff --git a/telebot/__init__.py b/telebot/__init__.py index 53ea22d..e379435 100644 --- a/telebot/__init__.py +++ b/telebot/__init__.py @@ -3140,10 +3140,10 @@ class TeleBot: filter_check = self.custom_filters.get(message_filter) if not filter_check: return False - elif isinstance(filter_value, util.SimpleCustomFilter): + elif isinstance(filter_check, util.SimpleCustomFilter): return filter_value == filter_check.check(message) - elif isinstance(filter_value, util.AdvancedCustomFilter): - return filter_check.check(message,filter_value) + elif isinstance(filter_check, util.AdvancedCustomFilter): + return filter_check.check(message, filter_value) else: logger.error("Custom filter: wrong type. Should be SimpleCustomFilter or AdvancedCustomFilter.") return False diff --git a/telebot/util.py b/telebot/util.py index 88019ad..8607ff2 100644 --- a/telebot/util.py +++ b/telebot/util.py @@ -5,6 +5,7 @@ import string import threading import traceback from typing import Any, Callable, List, Dict, Optional, Union +from abc import ABC # noinspection PyPep8Naming import queue as Queue @@ -457,20 +458,20 @@ def webhook_google_functions(bot, request): return 'Bot ON' -class SimpleCustomFilter: +class SimpleCustomFilter(ABC): """ Simple Custom Filter base class. Create child class with check() method. Accepts only bool. """ - def check(message): + def check(self, message): """ Perform a check. """ pass -class AdvancedCustomFilter: +class AdvancedCustomFilter(ABC): """ Simple Custom Filter base class. Create child class with check() method. @@ -479,8 +480,8 @@ class AdvancedCustomFilter: text: Filter value given in handler """ - def check(message, text): + def check(self, message, text): """ Perform a check. """ - pass \ No newline at end of file + pass