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:
parent
14be2b8c18
commit
2da48c0adc
@ -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
|
||||
|
@ -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
|
||||
pass
|
||||
|
Loading…
Reference in New Issue
Block a user