enrobie.plugins.autojoin package#
Subpackages#
Submodules#
enrobie.plugins.autojoin.params module#
Functions and routines associated with Enasis Network Chatting Robie.
This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.
- class enrobie.plugins.autojoin.params.AutoJoinPluginChannelParams(*, client: Annotated[str, MinLen(min_length=1)], channel: Annotated[str, MinLen(min_length=1)])[source]#
Bases:
RobieParamsModelProcess and validate the Robie configuration parameters.
- channel: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Name of channel to remain joined', metadata=[MinLen(min_length=1)])]#
- client: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Client where channel exists', metadata=[MinLen(min_length=1)])]#
- model_config = {'extra': 'forbid'}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class enrobie.plugins.autojoin.params.AutoJoinPluginParams(_parse: ~typing.Callable[[...], ~typing.Any] | None = None, *, enable: bool = False, locate: ~typing.Annotated[str | None, ~annotated_types.MinLen(min_length=1)] = None, trusted: ~typing.Annotated[list[str] | None, ~annotated_types.MinLen(min_length=1)] = None, channels: ~typing.Annotated[list[~enrobie.plugins.autojoin.params.AutoJoinPluginChannelParams], ~annotated_types.MinLen(min_length=1)], interval: ~typing.Annotated[int, ~annotated_types.Ge(ge=5), ~annotated_types.Le(le=300)] = 5, status: ~enrobie.plugins.status.params.StatusPluginIconParams = <factory>)[source]#
Bases:
RobiePluginParamsProcess and validate the Robie configuration parameters.
- channels: Annotated[list[AutoJoinPluginChannelParams], FieldInfo(annotation=NoneType, required=True, description='Which channels to maintain join', metadata=[MinLen(min_length=1)])]#
- interval: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=5, description='Interval when channels are joined', metadata=[Ge(ge=5), Le(le=300)])]#
- model_config = {'extra': 'forbid'}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- status: Annotated[StatusPluginIconParams, FieldInfo(annotation=NoneType, required=False, default_factory=StatusPluginIconParams, description='Icon used per chat platform')]#
enrobie.plugins.autojoin.plugin module#
Functions and routines associated with Enasis Network Chatting Robie.
This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.
- class enrobie.plugins.autojoin.plugin.AutoJoinPlugin(robie: Robie, name: str, params: RobieChildParams)[source]#
Bases:
RobiePluginIntegrate with the Robie routine and perform operations.
Note
This plugin maintains joined for configured channels.
- property params: AutoJoinPluginParams#
Return the Pydantic model containing the configuration.
- Returns:
Pydantic model containing the configuration.
- classmethod schema() Type[AutoJoinPluginParams][source]#
Return the configuration parameters relevant for class.
- Returns:
Configuration parameters relevant for class.
Module contents#
Functions and routines associated with Enasis Network Chatting Robie.
This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.
- class enrobie.plugins.autojoin.AutoJoinPlugin(robie: Robie, name: str, params: RobieChildParams)[source]#
Bases:
RobiePluginIntegrate with the Robie routine and perform operations.
Note
This plugin maintains joined for configured channels.
- property params: AutoJoinPluginParams#
Return the Pydantic model containing the configuration.
- Returns:
Pydantic model containing the configuration.
- classmethod schema() Type[AutoJoinPluginParams][source]#
Return the configuration parameters relevant for class.
- Returns:
Configuration parameters relevant for class.
- class enrobie.plugins.autojoin.AutoJoinPluginParams(_parse: ~typing.Callable[[...], ~typing.Any] | None = None, *, enable: bool = False, locate: ~typing.Annotated[str | None, ~annotated_types.MinLen(min_length=1)] = None, trusted: ~typing.Annotated[list[str] | None, ~annotated_types.MinLen(min_length=1)] = None, channels: ~typing.Annotated[list[~enrobie.plugins.autojoin.params.AutoJoinPluginChannelParams], ~annotated_types.MinLen(min_length=1)], interval: ~typing.Annotated[int, ~annotated_types.Ge(ge=5), ~annotated_types.Le(le=300)] = 5, status: ~enrobie.plugins.status.params.StatusPluginIconParams = <factory>)[source]#
Bases:
RobiePluginParamsProcess and validate the Robie configuration parameters.
- channels: Annotated[list[AutoJoinPluginChannelParams], FieldInfo(annotation=NoneType, required=True, description='Which channels to maintain join', metadata=[MinLen(min_length=1)])]#
- interval: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=5, description='Interval when channels are joined', metadata=[Ge(ge=5), Le(le=300)])]#
- model_config = {'extra': 'forbid'}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- status: Annotated[StatusPluginIconParams, FieldInfo(annotation=NoneType, required=False, default_factory=StatusPluginIconParams, description='Icon used per chat platform')]#