ohnope.plugins package#

Subpackages#

Module contents#

Functions and routines associated with rawberth Oh-nope IRC Services.

This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.

class ohnope.plugins.ChanServ(robie: Robie, name: str, params: RobieChildParams)#

Bases: RobiePlugin

Integrate with the Robie routine and perform operations.

operate() None#

Perform the operation related to Homie service threads.

property params: ChanServParams#

Return the Pydantic model containing the configuration.

Returns:

Pydantic model containing the configuration.

validate() None#

Perform advanced validation on the parameters provided.

pydantic model ohnope.plugins.ChanServParams#

Bases: RobiePluginParams

Process and validate the core configuration parameters.

Show JSON schema
{
   "title": "ChanServParams",
   "description": "Process and validate the core configuration parameters.",
   "type": "object",
   "properties": {
      "enable": {
         "default": true,
         "description": "Determine if service 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"
      },
      "nickname": {
         "default": "ChanServ",
         "description": "What nickname for the service",
         "minLength": 1,
         "title": "Nickname",
         "type": "string"
      },
      "realname": {
         "default": "Channel registration",
         "description": "What realname for the service",
         "minLength": 1,
         "title": "Realname",
         "type": "string"
      },
      "unique": {
         "default": "CHANS0",
         "description": "Unique identifier for service",
         "minLength": 1,
         "title": "Unique",
         "type": "string"
      },
      "status": {
         "$ref": "#/$defs/StatusPluginIconParams",
         "description": "Icon used per chat platform"
      }
   },
   "$defs": {
      "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
}

Config:
  • extra: str = forbid

Fields:
field enable: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=True, description='Determine if service enabled')] = True#

Determine if service enabled

field nickname: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='ChanServ', description='What nickname for the service', metadata=[MinLen(min_length=1)])] = 'ChanServ'#

What nickname for the service

Constraints:
  • min_length = 1

field realname: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='Channel registration', description='What realname for the service', metadata=[MinLen(min_length=1)])] = 'Channel registration'#

What realname for the service

Constraints:
  • min_length = 1

field status: Annotated[StatusPluginIconParams, FieldInfo(annotation=NoneType, required=False, default_factory=StatusPluginIconParams, description='Icon used per chat platform')] [Optional]#

Icon used per chat platform

field unique: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='CHANS0', description='Unique identifier for service', metadata=[MinLen(min_length=1)])] = 'CHANS0'#

Unique identifier for service

Constraints:
  • min_length = 1

class ohnope.plugins.ChatServ(robie: Robie, name: str, params: RobieChildParams)#

Bases: RobiePlugin

Integrate with the Robie routine and perform operations.

operate() None#

Perform the operation related to Homie service threads.

property params: ChatServParams#

Return the Pydantic model containing the configuration.

Returns:

Pydantic model containing the configuration.

validate() None#

Perform advanced validation on the parameters provided.

pydantic model ohnope.plugins.ChatServParams#

Bases: RobiePluginParams

Process and validate the core configuration parameters.

Show JSON schema
{
   "title": "ChatServParams",
   "description": "Process and validate the core configuration parameters.",
   "type": "object",
   "properties": {
      "enable": {
         "default": true,
         "description": "Determine if service 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"
      },
      "nickname": {
         "default": "ChatServ",
         "description": "What nickname for the service",
         "minLength": 1,
         "title": "Nickname",
         "type": "string"
      },
      "realname": {
         "default": "Invitable LLM chatting",
         "description": "What realname for the service",
         "minLength": 1,
         "title": "Realname",
         "type": "string"
      },
      "unique": {
         "default": "CHATS0",
         "description": "Unique identifier for service",
         "minLength": 1,
         "title": "Unique",
         "type": "string"
      },
      "status": {
         "$ref": "#/$defs/StatusPluginIconParams",
         "description": "Icon used per chat platform"
      }
   },
   "$defs": {
      "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
}

Config:
  • extra: str = forbid

Fields:
field enable: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=True, description='Determine if service enabled')] = True#

Determine if service enabled

field nickname: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='ChatServ', description='What nickname for the service', metadata=[MinLen(min_length=1)])] = 'ChatServ'#

What nickname for the service

Constraints:
  • min_length = 1

field realname: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='Invitable LLM chatting', description='What realname for the service', metadata=[MinLen(min_length=1)])] = 'Invitable LLM chatting'#

What realname for the service

Constraints:
  • min_length = 1

field status: Annotated[StatusPluginIconParams, FieldInfo(annotation=NoneType, required=False, default_factory=StatusPluginIconParams, description='Icon used per chat platform')] [Optional]#

Icon used per chat platform

field unique: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='CHATS0', description='Unique identifier for service', metadata=[MinLen(min_length=1)])] = 'CHATS0'#

Unique identifier for service

Constraints:
  • min_length = 1

class ohnope.plugins.HelpServ(robie: Robie, name: str, params: RobieChildParams)#

Bases: RobiePlugin

Integrate with the Robie routine and perform operations.

operate() None#

Perform the operation related to Homie service threads.

property params: HelpServParams#

Return the Pydantic model containing the configuration.

Returns:

Pydantic model containing the configuration.

validate() None#

Perform advanced validation on the parameters provided.

pydantic model ohnope.plugins.HelpServParams#

Bases: RobiePluginParams

Process and validate the core configuration parameters.

Show JSON schema
{
   "title": "HelpServParams",
   "description": "Process and validate the core configuration parameters.",
   "type": "object",
   "properties": {
      "enable": {
         "default": true,
         "description": "Determine if service 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"
      },
      "nickname": {
         "default": "HelpServ",
         "description": "What nickname for the service",
         "minLength": 1,
         "title": "Nickname",
         "type": "string"
      },
      "realname": {
         "default": "Help about the services",
         "description": "What realname for the service",
         "minLength": 1,
         "title": "Realname",
         "type": "string"
      },
      "unique": {
         "default": "HELPS0",
         "description": "Unique identifier for service",
         "minLength": 1,
         "title": "Unique",
         "type": "string"
      },
      "status": {
         "$ref": "#/$defs/StatusPluginIconParams",
         "description": "Icon used per chat platform"
      }
   },
   "$defs": {
      "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
}

Config:
  • extra: str = forbid

Fields:
field enable: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=True, description='Determine if service enabled')] = True#

Determine if service enabled

field nickname: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='HelpServ', description='What nickname for the service', metadata=[MinLen(min_length=1)])] = 'HelpServ'#

What nickname for the service

Constraints:
  • min_length = 1

field realname: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='Help about the services', description='What realname for the service', metadata=[MinLen(min_length=1)])] = 'Help about the services'#

What realname for the service

Constraints:
  • min_length = 1

field status: Annotated[StatusPluginIconParams, FieldInfo(annotation=NoneType, required=False, default_factory=StatusPluginIconParams, description='Icon used per chat platform')] [Optional]#

Icon used per chat platform

field unique: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='HELPS0', description='Unique identifier for service', metadata=[MinLen(min_length=1)])] = 'HELPS0'#

Unique identifier for service

Constraints:
  • min_length = 1

class ohnope.plugins.HostServ(robie: Robie, name: str, params: RobieChildParams)#

Bases: RobiePlugin

Integrate with the Robie routine and perform operations.

operate() None#

Perform the operation related to Homie service threads.

property params: HostServParams#

Return the Pydantic model containing the configuration.

Returns:

Pydantic model containing the configuration.

validate() None#

Perform advanced validation on the parameters provided.

pydantic model ohnope.plugins.HostServParams#

Bases: RobiePluginParams

Process and validate the core configuration parameters.

Show JSON schema
{
   "title": "HostServParams",
   "description": "Process and validate the core configuration parameters.",
   "type": "object",
   "properties": {
      "enable": {
         "default": true,
         "description": "Determine if service 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"
      },
      "nickname": {
         "default": "HostServ",
         "description": "What nickname for the service",
         "minLength": 1,
         "title": "Nickname",
         "type": "string"
      },
      "realname": {
         "default": "Host cloak management",
         "description": "What realname for the service",
         "minLength": 1,
         "title": "Realname",
         "type": "string"
      },
      "unique": {
         "default": "HOSTS0",
         "description": "Unique identifier for service",
         "minLength": 1,
         "title": "Unique",
         "type": "string"
      },
      "status": {
         "$ref": "#/$defs/StatusPluginIconParams",
         "description": "Icon used per chat platform"
      }
   },
   "$defs": {
      "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
}

Config:
  • extra: str = forbid

Fields:
field enable: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=True, description='Determine if service enabled')] = True#

Determine if service enabled

field nickname: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='HostServ', description='What nickname for the service', metadata=[MinLen(min_length=1)])] = 'HostServ'#

What nickname for the service

Constraints:
  • min_length = 1

field realname: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='Host cloak management', description='What realname for the service', metadata=[MinLen(min_length=1)])] = 'Host cloak management'#

What realname for the service

Constraints:
  • min_length = 1

field status: Annotated[StatusPluginIconParams, FieldInfo(annotation=NoneType, required=False, default_factory=StatusPluginIconParams, description='Icon used per chat platform')] [Optional]#

Icon used per chat platform

field unique: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='HOSTS0', description='Unique identifier for service', metadata=[MinLen(min_length=1)])] = 'HOSTS0'#

Unique identifier for service

Constraints:
  • min_length = 1

class ohnope.plugins.MemoServ(robie: Robie, name: str, params: RobieChildParams)#

Bases: RobiePlugin

Integrate with the Robie routine and perform operations.

operate() None#

Perform the operation related to Homie service threads.

property params: MemoServParams#

Return the Pydantic model containing the configuration.

Returns:

Pydantic model containing the configuration.

validate() None#

Perform advanced validation on the parameters provided.

pydantic model ohnope.plugins.MemoServParams#

Bases: RobiePluginParams

Process and validate the core configuration parameters.

Show JSON schema
{
   "title": "MemoServParams",
   "description": "Process and validate the core configuration parameters.",
   "type": "object",
   "properties": {
      "enable": {
         "default": true,
         "description": "Determine if service 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"
      },
      "nickname": {
         "default": "MemoServ",
         "description": "What nickname for the service",
         "minLength": 1,
         "title": "Nickname",
         "type": "string"
      },
      "realname": {
         "default": "Offline message sharing",
         "description": "What realname for the service",
         "minLength": 1,
         "title": "Realname",
         "type": "string"
      },
      "unique": {
         "default": "MEMOS0",
         "description": "Unique identifier for service",
         "minLength": 1,
         "title": "Unique",
         "type": "string"
      },
      "status": {
         "$ref": "#/$defs/StatusPluginIconParams",
         "description": "Icon used per chat platform"
      }
   },
   "$defs": {
      "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
}

Config:
  • extra: str = forbid

Fields:
field enable: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=True, description='Determine if service enabled')] = True#

Determine if service enabled

field nickname: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='MemoServ', description='What nickname for the service', metadata=[MinLen(min_length=1)])] = 'MemoServ'#

What nickname for the service

Constraints:
  • min_length = 1

field realname: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='Offline message sharing', description='What realname for the service', metadata=[MinLen(min_length=1)])] = 'Offline message sharing'#

What realname for the service

Constraints:
  • min_length = 1

field status: Annotated[StatusPluginIconParams, FieldInfo(annotation=NoneType, required=False, default_factory=StatusPluginIconParams, description='Icon used per chat platform')] [Optional]#

Icon used per chat platform

field unique: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='MEMOS0', description='Unique identifier for service', metadata=[MinLen(min_length=1)])] = 'MEMOS0'#

Unique identifier for service

Constraints:
  • min_length = 1

class ohnope.plugins.NickServ(robie: Robie, name: str, params: RobieChildParams)#

Bases: RobiePlugin

Integrate with the Robie routine and perform operations.

operate() None#

Perform the operation related to Homie service threads.

property params: NickServParams#

Return the Pydantic model containing the configuration.

Returns:

Pydantic model containing the configuration.

validate() None#

Perform advanced validation on the parameters provided.

pydantic model ohnope.plugins.NickServParams#

Bases: RobiePluginParams

Process and validate the core configuration parameters.

Show JSON schema
{
   "title": "NickServParams",
   "description": "Process and validate the core configuration parameters.",
   "type": "object",
   "properties": {
      "enable": {
         "default": true,
         "description": "Determine if service 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"
      },
      "nickname": {
         "default": "NickServ",
         "description": "What nickname for the service",
         "minLength": 1,
         "title": "Nickname",
         "type": "string"
      },
      "realname": {
         "default": "Nickname registration",
         "description": "What realname for the service",
         "minLength": 1,
         "title": "Realname",
         "type": "string"
      },
      "unique": {
         "default": "NICKS0",
         "description": "Unique identifier for service",
         "minLength": 1,
         "title": "Unique",
         "type": "string"
      },
      "status": {
         "$ref": "#/$defs/StatusPluginIconParams",
         "description": "Icon used per chat platform"
      }
   },
   "$defs": {
      "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
}

Config:
  • extra: str = forbid

Fields:
field enable: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=True, description='Determine if service enabled')] = True#

Determine if service enabled

field nickname: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='NickServ', description='What nickname for the service', metadata=[MinLen(min_length=1)])] = 'NickServ'#

What nickname for the service

Constraints:
  • min_length = 1

field realname: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='Nickname registration', description='What realname for the service', metadata=[MinLen(min_length=1)])] = 'Nickname registration'#

What realname for the service

Constraints:
  • min_length = 1

field status: Annotated[StatusPluginIconParams, FieldInfo(annotation=NoneType, required=False, default_factory=StatusPluginIconParams, description='Icon used per chat platform')] [Optional]#

Icon used per chat platform

field unique: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='NICKS0', description='Unique identifier for service', metadata=[MinLen(min_length=1)])] = 'NICKS0'#

Unique identifier for service

Constraints:
  • min_length = 1

class ohnope.plugins.OperServ(robie: Robie, name: str, params: RobieChildParams)#

Bases: RobiePlugin

Integrate with the Robie routine and perform operations.

operate() None#

Perform the operation related to Homie service threads.

property params: OperServParams#

Return the Pydantic model containing the configuration.

Returns:

Pydantic model containing the configuration.

validate() None#

Perform advanced validation on the parameters provided.

pydantic model ohnope.plugins.OperServParams#

Bases: RobiePluginParams

Process and validate the core configuration parameters.

Show JSON schema
{
   "title": "OperServParams",
   "description": "Process and validate the core configuration parameters.",
   "type": "object",
   "properties": {
      "enable": {
         "default": true,
         "description": "Determine if service 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"
      },
      "nickname": {
         "default": "OperServ",
         "description": "What nickname for the service",
         "minLength": 1,
         "title": "Nickname",
         "type": "string"
      },
      "realname": {
         "default": "Network administration",
         "description": "What realname for the service",
         "minLength": 1,
         "title": "Realname",
         "type": "string"
      },
      "unique": {
         "default": "OPERS0",
         "description": "Unique identifier for service",
         "minLength": 1,
         "title": "Unique",
         "type": "string"
      },
      "status": {
         "$ref": "#/$defs/StatusPluginIconParams",
         "description": "Icon used per chat platform"
      }
   },
   "$defs": {
      "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
}

Config:
  • extra: str = forbid

Fields:
field enable: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=True, description='Determine if service enabled')] = True#

Determine if service enabled

field nickname: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='OperServ', description='What nickname for the service', metadata=[MinLen(min_length=1)])] = 'OperServ'#

What nickname for the service

Constraints:
  • min_length = 1

field realname: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='Network administration', description='What realname for the service', metadata=[MinLen(min_length=1)])] = 'Network administration'#

What realname for the service

Constraints:
  • min_length = 1

field status: Annotated[StatusPluginIconParams, FieldInfo(annotation=NoneType, required=False, default_factory=StatusPluginIconParams, description='Icon used per chat platform')] [Optional]#

Icon used per chat platform

field unique: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='OPERS0', description='Unique identifier for service', metadata=[MinLen(min_length=1)])] = 'OPERS0'#

Unique identifier for service

Constraints:
  • min_length = 1

class ohnope.plugins.RootServ(robie: Robie, name: str, params: RobieChildParams)#

Bases: RobiePlugin

Integrate with the Robie routine and perform operations.

operate() None#

Perform the operation related to Homie service threads.

property params: RootServParams#

Return the Pydantic model containing the configuration.

Returns:

Pydantic model containing the configuration.

validate() None#

Perform advanced validation on the parameters provided.

pydantic model ohnope.plugins.RootServParams#

Bases: RobiePluginParams

Process and validate the core configuration parameters.

Show JSON schema
{
   "title": "RootServParams",
   "description": "Process and validate the core configuration parameters.",
   "type": "object",
   "properties": {
      "enable": {
         "default": true,
         "description": "Determine if service 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"
      },
      "nickname": {
         "default": "RootServ",
         "description": "What nickname for the service",
         "minLength": 1,
         "title": "Nickname",
         "type": "string"
      },
      "realname": {
         "default": "Network administration",
         "description": "What realname for the service",
         "minLength": 1,
         "title": "Realname",
         "type": "string"
      },
      "unique": {
         "default": "ROOTS0",
         "description": "Unique identifier for service",
         "minLength": 1,
         "title": "Unique",
         "type": "string"
      },
      "status": {
         "$ref": "#/$defs/StatusPluginIconParams",
         "description": "Icon used per chat platform"
      }
   },
   "$defs": {
      "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
}

Config:
  • extra: str = forbid

Fields:
field enable: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=True, description='Determine if service enabled')] = True#

Determine if service enabled

field nickname: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='RootServ', description='What nickname for the service', metadata=[MinLen(min_length=1)])] = 'RootServ'#

What nickname for the service

Constraints:
  • min_length = 1

field realname: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='Network administration', description='What realname for the service', metadata=[MinLen(min_length=1)])] = 'Network administration'#

What realname for the service

Constraints:
  • min_length = 1

field status: Annotated[StatusPluginIconParams, FieldInfo(annotation=NoneType, required=False, default_factory=StatusPluginIconParams, description='Icon used per chat platform')] [Optional]#

Icon used per chat platform

field unique: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='ROOTS0', description='Unique identifier for service', metadata=[MinLen(min_length=1)])] = 'ROOTS0'#

Unique identifier for service

Constraints:
  • min_length = 1

class ohnope.plugins.StatServ(robie: Robie, name: str, params: RobieChildParams)#

Bases: RobiePlugin

Integrate with the Robie routine and perform operations.

operate() None#

Perform the operation related to Homie service threads.

property params: StatServParams#

Return the Pydantic model containing the configuration.

Returns:

Pydantic model containing the configuration.

validate() None#

Perform advanced validation on the parameters provided.

pydantic model ohnope.plugins.StatServParams#

Bases: RobiePluginParams

Process and validate the core configuration parameters.

Show JSON schema
{
   "title": "StatServParams",
   "description": "Process and validate the core configuration parameters.",
   "type": "object",
   "properties": {
      "enable": {
         "default": true,
         "description": "Determine if service 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"
      },
      "nickname": {
         "default": "StatServ",
         "description": "What nickname for the service",
         "minLength": 1,
         "title": "Nickname",
         "type": "string"
      },
      "realname": {
         "default": "Statistics and analysis",
         "description": "What realname for the service",
         "minLength": 1,
         "title": "Realname",
         "type": "string"
      },
      "unique": {
         "default": "STATS0",
         "description": "Unique identifier for service",
         "minLength": 1,
         "title": "Unique",
         "type": "string"
      },
      "status": {
         "$ref": "#/$defs/StatusPluginIconParams",
         "description": "Icon used per chat platform"
      }
   },
   "$defs": {
      "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
}

Config:
  • extra: str = forbid

Fields:
field enable: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=True, description='Determine if service enabled')] = True#

Determine if service enabled

field nickname: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='StatServ', description='What nickname for the service', metadata=[MinLen(min_length=1)])] = 'StatServ'#

What nickname for the service

Constraints:
  • min_length = 1

field realname: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='Statistics and analysis', description='What realname for the service', metadata=[MinLen(min_length=1)])] = 'Statistics and analysis'#

What realname for the service

Constraints:
  • min_length = 1

field status: Annotated[StatusPluginIconParams, FieldInfo(annotation=NoneType, required=False, default_factory=StatusPluginIconParams, description='Icon used per chat platform')] [Optional]#

Icon used per chat platform

field unique: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='STATS0', description='Unique identifier for service', metadata=[MinLen(min_length=1)])] = 'STATS0'#

Unique identifier for service

Constraints:
  • min_length = 1