1
0
mirror of https://github.com/eternnoir/pyTelegramBotAPI.git synced 2023-08-10 21:12:57 +03:00

Custom filters upd

This commit is contained in:
Badiboy 2021-09-11 21:49:51 +03:00
parent 14be2b8c18
commit 2da48c0adc
2 changed files with 9 additions and 8 deletions

View File

@ -3140,9 +3140,9 @@ 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):
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.")

View File

@ -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,7 +480,7 @@ class AdvancedCustomFilter:
text: Filter value given in handler
"""
def check(message, text):
def check(self, message, text):
"""
Perform a check.
"""