enrobie.plugins.autonick package#
Subpackages#
Submodules#
enrobie.plugins.autonick.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.
- pydantic model enrobie.plugins.autonick.params.AutoNickPluginParams[source]#
Bases:
RobiePluginParams
Process and validate the Robie configuration parameters.
Show JSON schema
{ "title": "AutoNickPluginParams", "description": "Process and validate the Robie configuration parameters.", "type": "object", "properties": { "enable": { "default": false, "description": "Determine whether child enabled", "title": "Enable", "type": "boolean" }, "locate": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "For which plugin are parameters", "examples": [ "enrobie.plugins.AinswerPlugin", "enrobie.plugins.AutoJoinPlugin", "enrobie.plugins.AutoNickPlugin", "enrobie.plugins.StatusPlugin" ], "title": "Locate" }, "trusted": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Users are trusted by the plugin", "title": "Trusted" }, "clients": { "description": "List of clients to enable plugin", "items": { "type": "string" }, "minItems": 1, "title": "Clients", "type": "array" }, "interval": { "default": 5, "description": "Interval when nick is validated", "maximum": 300, "minimum": 5, "title": "Interval", "type": "integer" }, "services": { "anyOf": [ { "items": { "$ref": "#/$defs/AutoNickPluginServiceParams" }, "type": "array" }, { "type": "null" } ], "default": null, "description": "How to identify with services", "title": "Services" }, "status": { "$ref": "#/$defs/StatusPluginIconParams", "description": "Icon used per chat platform" } }, "$defs": { "AutoNickPluginServiceParams": { "additionalProperties": false, "description": "Process and validate the Robie configuration parameters.", "properties": { "client": { "description": "Client where services exist", "minLength": 1, "title": "Client", "type": "string" }, "password": { "description": "Identify with nick services", "minLength": 1, "title": "Password", "type": "string" }, "service": { "default": "NickServ", "description": "Nickname of network service", "minLength": 1, "title": "Service", "type": "string" } }, "required": [ "client", "password" ], "title": "AutoNickPluginServiceParams", "type": "object" }, "StatusPluginIconParams": { "additionalProperties": false, "description": "Contain information for constructing the chat messages.", "properties": { "irc": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Icon used for the chat platform", "title": "Irc" }, "dsc": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Icon used for the chat platform", "title": "Dsc" }, "mtm": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Icon used for the chat platform", "title": "Mtm" } }, "title": "StatusPluginIconParams", "type": "object" } }, "additionalProperties": false, "required": [ "clients" ] }
- Config:
extra: str = forbid
- Fields:
- field clients: Annotated[list[str], FieldInfo(annotation=NoneType, required=True, description='List of clients to enable plugin', metadata=[MinLen(min_length=1)])] [Required]#
List of clients to enable plugin
- Constraints:
min_length = 1
- field enable: Annotated[bool, Field(False, description='Determine whether child enabled')] = False#
Determine whether child enabled
- field interval: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=5, description='Interval when nick is validated', metadata=[Ge(ge=5), Le(le=300)])] = 5#
Interval when nick is validated
- Constraints:
ge = 5
le = 300
- field locate: Annotated[str | None, Field(None, description='For which plugin are parameters', examples=['enrobie.plugins.AinswerPlugin', 'enrobie.plugins.AutoJoinPlugin', 'enrobie.plugins.AutoNickPlugin', 'enrobie.plugins.StatusPlugin'], min_length=1)] = None#
For which plugin are parameters
- Constraints:
min_length = 1
- field services: Annotated[list[AutoNickPluginServiceParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='How to identify with services')] = None#
How to identify with services
- field status: Annotated[StatusPluginIconParams, FieldInfo(annotation=NoneType, required=False, default_factory=StatusPluginIconParams, description='Icon used per chat platform')] [Optional]#
Icon used per chat platform
- pydantic model enrobie.plugins.autonick.params.AutoNickPluginServiceParams[source]#
Bases:
RobieParamsModel
Process and validate the Robie configuration parameters.
Show JSON schema
{ "title": "AutoNickPluginServiceParams", "description": "Process and validate the Robie configuration parameters.", "type": "object", "properties": { "client": { "description": "Client where services exist", "minLength": 1, "title": "Client", "type": "string" }, "password": { "description": "Identify with nick services", "minLength": 1, "title": "Password", "type": "string" }, "service": { "default": "NickServ", "description": "Nickname of network service", "minLength": 1, "title": "Service", "type": "string" } }, "additionalProperties": false, "required": [ "client", "password" ] }
- Config:
extra: str = forbid
- Fields:
- field client: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Client where services exist', metadata=[MinLen(min_length=1)])] [Required]#
Client where services exist
- Constraints:
min_length = 1
enrobie.plugins.autonick.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.autonick.plugin.AutoNickPlugin(robie: Robie, name: str, params: RobieChildParams)[source]#
Bases:
RobiePlugin
Integrate with the Robie routine and perform operations.
Note
This plugin maintains configured nickname on server.
- property params: AutoNickPluginParams#
Return the Pydantic model containing the configuration.
- Returns:
Pydantic model containing the configuration.
- classmethod schema() Type[AutoNickPluginParams] [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.autonick.AutoNickPlugin(robie: Robie, name: str, params: RobieChildParams)[source]#
Bases:
RobiePlugin
Integrate with the Robie routine and perform operations.
Note
This plugin maintains configured nickname on server.
- property params: AutoNickPluginParams#
Return the Pydantic model containing the configuration.
- Returns:
Pydantic model containing the configuration.
- classmethod schema() Type[AutoNickPluginParams] [source]#
Return the configuration parameters relevant for class.
- Returns:
Configuration parameters relevant for class.
- pydantic model enrobie.plugins.autonick.AutoNickPluginParams[source]#
Bases:
RobiePluginParams
Process and validate the Robie configuration parameters.
Show JSON schema
{ "title": "AutoNickPluginParams", "description": "Process and validate the Robie configuration parameters.", "type": "object", "properties": { "enable": { "default": false, "description": "Determine whether child enabled", "title": "Enable", "type": "boolean" }, "locate": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "For which plugin are parameters", "examples": [ "enrobie.plugins.AinswerPlugin", "enrobie.plugins.AutoJoinPlugin", "enrobie.plugins.AutoNickPlugin", "enrobie.plugins.StatusPlugin" ], "title": "Locate" }, "trusted": { "anyOf": [ { "items": { "type": "string" }, "minItems": 1, "type": "array" }, { "type": "null" } ], "default": null, "description": "Users are trusted by the plugin", "title": "Trusted" }, "clients": { "description": "List of clients to enable plugin", "items": { "type": "string" }, "minItems": 1, "title": "Clients", "type": "array" }, "interval": { "default": 5, "description": "Interval when nick is validated", "maximum": 300, "minimum": 5, "title": "Interval", "type": "integer" }, "services": { "anyOf": [ { "items": { "$ref": "#/$defs/AutoNickPluginServiceParams" }, "type": "array" }, { "type": "null" } ], "default": null, "description": "How to identify with services", "title": "Services" }, "status": { "$ref": "#/$defs/StatusPluginIconParams", "description": "Icon used per chat platform" } }, "$defs": { "AutoNickPluginServiceParams": { "additionalProperties": false, "description": "Process and validate the Robie configuration parameters.", "properties": { "client": { "description": "Client where services exist", "minLength": 1, "title": "Client", "type": "string" }, "password": { "description": "Identify with nick services", "minLength": 1, "title": "Password", "type": "string" }, "service": { "default": "NickServ", "description": "Nickname of network service", "minLength": 1, "title": "Service", "type": "string" } }, "required": [ "client", "password" ], "title": "AutoNickPluginServiceParams", "type": "object" }, "StatusPluginIconParams": { "additionalProperties": false, "description": "Contain information for constructing the chat messages.", "properties": { "irc": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Icon used for the chat platform", "title": "Irc" }, "dsc": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Icon used for the chat platform", "title": "Dsc" }, "mtm": { "anyOf": [ { "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "description": "Icon used for the chat platform", "title": "Mtm" } }, "title": "StatusPluginIconParams", "type": "object" } }, "additionalProperties": false, "required": [ "clients" ] }
- Config:
extra: str = forbid
- Fields:
- field clients: Annotated[list[str], FieldInfo(annotation=NoneType, required=True, description='List of clients to enable plugin', metadata=[MinLen(min_length=1)])] [Required]#
List of clients to enable plugin
- Constraints:
min_length = 1
- field enable: Annotated[bool, Field(False, description='Determine whether child enabled')] = False#
Determine whether child enabled
- field interval: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=5, description='Interval when nick is validated', metadata=[Ge(ge=5), Le(le=300)])] = 5#
Interval when nick is validated
- Constraints:
ge = 5
le = 300
- field locate: Annotated[str | None, Field(None, description='For which plugin are parameters', examples=['enrobie.plugins.AinswerPlugin', 'enrobie.plugins.AutoJoinPlugin', 'enrobie.plugins.AutoNickPlugin', 'enrobie.plugins.StatusPlugin'], min_length=1)] = None#
For which plugin are parameters
- Constraints:
min_length = 1
- field services: Annotated[list[AutoNickPluginServiceParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='How to identify with services')] = None#
How to identify with services
- field status: Annotated[StatusPluginIconParams, FieldInfo(annotation=NoneType, required=False, default_factory=StatusPluginIconParams, description='Icon used per chat platform')] [Optional]#
Icon used per chat platform