peyk.dispatcher.filters

class peyk.dispatcher.filters.BaseFilter[source]

Bases: ABC

Base class for filters that may also contribute handler data.

class peyk.dispatcher.filters.Command(*values: str, prefix: str = '/', ignore_case: bool = False, ignore_mention: bool = False, magic: object | None = None)[source]

Bases: BaseFilter

Match a command and expose its parsed CommandObject as command.

class peyk.dispatcher.filters.CommandStart(deep_link: bool = False, **kwargs: object)[source]

Bases: Command

Match the /start command, optionally requiring deep-link arguments.

class peyk.dispatcher.filters.CommandObject(prefix: str, command: str, mention: str | None = None, args: str | None = None, regexp_match: Match[str] | None = None, magic_result: object | None = None)[source]

Bases: object

Parsed command information supplied to a matching handler.

args: str | None = None
magic_result: object | None = None
mention: str | None = None
regexp_match: Match[str] | None = None
prefix: str
command: str
class peyk.dispatcher.filters.CallbackData[source]

Bases: BaseFilter

Dataclass-based callback-data factory compatible with aiogram’s model.

classmethod filter(magic: object | None = None) BaseFilter[source]

Provides the filter operation for the peyk integration.

Parameters:

magic – Value used by this operation.

Returns:

Result produced by the operation.

pack() str[source]

Provides the pack operation for the peyk integration.

Returns:

Result produced by the operation.

classmethod unpack(value: str) CallbackDataT[source]

Provides the unpack operation for the peyk integration.

Parameters:

value – Value used by this operation.

Returns:

Result produced by the operation.

class peyk.dispatcher.filters.ChatTypeFilter(*chat_types: ChatType | str)[source]

Bases: BaseFilter

Match a neutral chat type, treating Telegram supergroup as group.

peyk.dispatcher.filters.ChatType

alias of ChatTypeFilter

class peyk.dispatcher.filters.StateFilter(*states: State | type[StatesGroup] | str | None | Pattern[str], storage: BaseStorage | None = None, platform: str | None = None)[source]

Bases: BaseFilter

Match raw_state injected by FSMContextMiddleware.

StateGroup values match any state in the group, re.Pattern values use match(), None matches the default empty state, and peyk.fsm.state.any_state matches every state.

class peyk.dispatcher.filters.MagicData(magic: object)[source]

Bases: BaseFilter

Evaluate a magic filter against dispatcher dependency data.

class peyk.dispatcher.filters.ExceptionTypeFilter(*types: type[BaseException])[source]

Bases: BaseFilter

Match an ErrorEvent by exception type.

class peyk.dispatcher.filters.ExceptionMessageFilter(message: str, *, contains: bool = False)[source]

Bases: BaseFilter

Match an ErrorEvent by exception message.

class peyk.dispatcher.filters.PlatformFilter(*platforms: str)[source]

Bases: BaseFilter

Match events handled by one of the named platforms.

class peyk.dispatcher.filters.SupportsFilter(feature: Feature)[source]

Bases: BaseFilter

Match when the injected bot advertises audited support for a feature.

class peyk.dispatcher.filters.TextEquals(value: str, case_sensitive: bool = True)[source]

Bases: BaseFilter

Match a message whose text equals value.

class peyk.dispatcher.filters.TextContains(value: str, case_sensitive: bool = True)[source]

Bases: BaseFilter

Match a message containing value.

class peyk.dispatcher.filters.CallbackDataEquals(value: str)[source]

Bases: BaseFilter

Match an exact callback-data string.

class peyk.dispatcher.filters.CallbackDataStartsWith(prefix: str)[source]

Bases: BaseFilter

Match callback data beginning with a prefix.

Modules