Package: maxapi.context¶
maxapi.context
¶
State()
¶
StatesGroup
¶
Базовый класс для описания группы состояний FSM.
Атрибуты должны быть экземплярами State. Метод states() возвращает список всех состояний в виде строк.
states()
classmethod
¶
Получить список всех состояний в формате 'ИмяКласса:имя_состояния'.
Returns:
| Type | Description |
|---|---|
List[str]
|
Список строковых представлений состояний |
Source code in maxapi/context/state_machine.py
BaseContext(chat_id, user_id, **kwargs)
¶
Bases: ABC
Абстрактный базовый класс для контекста хранения данных пользователя.
Source code in maxapi/context/base.py
MemoryContext(chat_id, user_id, **kwargs)
¶
Bases: BaseContext
Контекст хранения данных пользователя в оперативной памяти.
Source code in maxapi/context/context.py
get_data()
async
¶
Возвращает текущий контекст данных.
Returns:
| Type | Description |
|---|---|
Dict[str, Any]
|
Словарь с данными контекста |
set_data(data)
async
¶
Полностью заменяет контекст данных.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
Dict[str, Any]
|
Новый словарь контекста |
required |
update_data(**kwargs)
async
¶
Обновляет контекст данных новыми значениями.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
**kwargs
|
Any
|
Пары ключ-значение для обновления |
{}
|
set_state(state=None)
async
¶
Устанавливает новое состояние.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
state
|
Optional[Union[State, str]]
|
Новое состояние или None для сброса |
None
|
RedisContext(chat_id, user_id, redis_client, key_prefix='maxapi', **kwargs)
¶
Bases: BaseContext
Контекст хранения данных пользователя в Redis. Требует установленной библиотеки redis: pip install redis
Source code in maxapi/context/context.py
update_data(**kwargs)
async
¶
Атомарно обновляет данные
Source code in maxapi/context/context.py
base
¶
BaseContext(chat_id, user_id, **kwargs)
¶
Bases: ABC
Абстрактный базовый класс для контекста хранения данных пользователя.
Source code in maxapi/context/base.py
context
¶
MemoryContext(chat_id, user_id, **kwargs)
¶
Bases: BaseContext
Контекст хранения данных пользователя в оперативной памяти.
Source code in maxapi/context/context.py
get_data()
async
¶
Возвращает текущий контекст данных.
Returns:
| Type | Description |
|---|---|
Dict[str, Any]
|
Словарь с данными контекста |
set_data(data)
async
¶
Полностью заменяет контекст данных.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
Dict[str, Any]
|
Новый словарь контекста |
required |
update_data(**kwargs)
async
¶
Обновляет контекст данных новыми значениями.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
**kwargs
|
Any
|
Пары ключ-значение для обновления |
{}
|
set_state(state=None)
async
¶
Устанавливает новое состояние.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
state
|
Optional[Union[State, str]]
|
Новое состояние или None для сброса |
None
|
RedisContext(chat_id, user_id, redis_client, key_prefix='maxapi', **kwargs)
¶
Bases: BaseContext
Контекст хранения данных пользователя в Redis. Требует установленной библиотеки redis: pip install redis
Source code in maxapi/context/context.py
update_data(**kwargs)
async
¶
Атомарно обновляет данные
Source code in maxapi/context/context.py
state_machine
¶
State()
¶
StatesGroup
¶
Базовый класс для описания группы состояний FSM.
Атрибуты должны быть экземплярами State. Метод states() возвращает список всех состояний в виде строк.
states()
classmethod
¶
Получить список всех состояний в формате 'ИмяКласса:имя_состояния'.
Returns:
| Type | Description |
|---|---|
List[str]
|
Список строковых представлений состояний |