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

Merge pull request #1300 from Badiboy/master

Custom filters upd
This commit is contained in:
Badiboy 2021-09-11 21:51:09 +03:00 committed by GitHub
commit f2202b44fe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 8 deletions

View File

@ -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

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,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