ohnope.ohnope.params package#

Submodules#

ohnope.ohnope.params.ohnope module#

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.

pydantic model ohnope.ohnope.params.ohnope.OhnopeIRCParams#

Bases: RobieParamsModel

Process and validate the core configuration parameters.

Show JSON schema
{
   "title": "OhnopeIRCParams",
   "description": "Process and validate the core configuration parameters.",
   "type": "object",
   "properties": {
      "server": {
         "description": "Server address for connection",
         "minLength": 1,
         "title": "Server",
         "type": "string"
      },
      "port": {
         "default": 6900,
         "description": "Server address for connection",
         "maximum": 65535,
         "minimum": 1,
         "title": "Port",
         "type": "integer"
      },
      "timeout": {
         "default": 30,
         "description": "Timeout connecting to server",
         "maximum": 300,
         "minimum": 1,
         "title": "Timeout",
         "type": "integer"
      },
      "nickname": {
         "default": "ohnope",
         "description": "Parameter for the integration",
         "minLength": 1,
         "title": "Nickname",
         "type": "string"
      },
      "username": {
         "default": "ohnope",
         "description": "Parameter for the integration",
         "minLength": 1,
         "title": "Username",
         "type": "string"
      },
      "realname": {
         "default": "Oh-nope IRC Services",
         "description": "Parameter for the integration",
         "minLength": 1,
         "title": "Realname",
         "type": "string"
      },
      "channel": {
         "default": "#opers",
         "description": "Channel where client will join",
         "minLength": 1,
         "title": "Channel",
         "type": "string"
      },
      "ssl_enable": {
         "default": true,
         "description": "Enable connection encryption",
         "title": "Ssl Enable",
         "type": "boolean"
      },
      "ssl_verify": {
         "default": true,
         "description": "Verify the ceritifcate valid",
         "title": "Ssl Verify",
         "type": "boolean"
      },
      "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,
   "required": [
      "server"
   ]
}

Config:
  • extra: str = forbid

Fields:
field channel: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='#opers', description='Channel where client will join', metadata=[MinLen(min_length=1)])] = '#opers'#

Channel where client will join

Constraints:
  • min_length = 1

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

Parameter for the integration

Constraints:
  • min_length = 1

field port: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=6900, description='Server address for connection', metadata=[Ge(ge=1), Le(le=65535)])] = 6900#

Server address for connection

Constraints:
  • ge = 1

  • le = 65535

field realname: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='Oh-nope IRC Services', description='Parameter for the integration', metadata=[MinLen(min_length=1)])] = 'Oh-nope IRC Services'#

Parameter for the integration

Constraints:
  • min_length = 1

field server: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Server address for connection', metadata=[MinLen(min_length=1)])] [Required]#

Server address for connection

Constraints:
  • min_length = 1

field ssl_enable: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=True, description='Enable connection encryption')] = True#

Enable connection encryption

field ssl_verify: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=True, description='Verify the ceritifcate valid')] = True#

Verify the ceritifcate valid

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 timeout: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=30, description='Timeout connecting to server', metadata=[Ge(ge=1), Le(le=300)])] = 30#

Timeout connecting to server

Constraints:
  • ge = 1

  • le = 300

field username: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='ohnope', description='Parameter for the integration', metadata=[MinLen(min_length=1)])] = 'ohnope'#

Parameter for the integration

Constraints:
  • min_length = 1

pydantic model ohnope.ohnope.params.ohnope.OhnopeIRCSParams#

Bases: RobieParamsModel

Process and validate the core configuration parameters.

Show JSON schema
{
   "title": "OhnopeIRCSParams",
   "description": "Process and validate the core configuration parameters.",
   "type": "object",
   "properties": {
      "server": {
         "description": "Server address for connection",
         "minLength": 1,
         "title": "Server",
         "type": "string"
      },
      "port": {
         "default": 6900,
         "description": "Server address for connection",
         "maximum": 65535,
         "minimum": 1,
         "title": "Port",
         "type": "integer"
      },
      "timeout": {
         "default": 30,
         "description": "Timeout connecting to server",
         "maximum": 300,
         "minimum": 1,
         "title": "Timeout",
         "type": "integer"
      },
      "password": {
         "anyOf": [
            {
               "minLength": 1,
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Parameter for the integration",
         "title": "Password"
      },
      "name": {
         "default": "services.invalid",
         "description": "Parameter for the integration",
         "minLength": 1,
         "title": "Name",
         "type": "string"
      },
      "unique": {
         "default": "42X",
         "description": "Unique identifier for services",
         "minLength": 1,
         "title": "Unique",
         "type": "string"
      },
      "about": {
         "default": "Chatting Robie",
         "description": "Parameter for the integration",
         "minLength": 1,
         "title": "About",
         "type": "string"
      },
      "ssl_enable": {
         "default": true,
         "description": "Enable connection encryption",
         "title": "Ssl Enable",
         "type": "boolean"
      },
      "ssl_verify": {
         "default": true,
         "description": "Verify the ceritifcate valid",
         "title": "Ssl Verify",
         "type": "boolean"
      },
      "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,
   "required": [
      "server"
   ]
}

Config:
  • extra: str = forbid

Fields:
field about: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='Chatting Robie', description='Parameter for the integration', metadata=[MinLen(min_length=1)])] = 'Chatting Robie'#

Parameter for the integration

Constraints:
  • min_length = 1

field name: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='services.invalid', description='Parameter for the integration', metadata=[MinLen(min_length=1)])] = 'services.invalid'#

Parameter for the integration

Constraints:
  • min_length = 1

field password: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameter for the integration', metadata=[MinLen(min_length=1)])] = None#

Parameter for the integration

Constraints:
  • min_length = 1

field port: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=6900, description='Server address for connection', metadata=[Ge(ge=1), Le(le=65535)])] = 6900#

Server address for connection

Constraints:
  • ge = 1

  • le = 65535

field server: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Server address for connection', metadata=[MinLen(min_length=1)])] [Required]#

Server address for connection

Constraints:
  • min_length = 1

field ssl_enable: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=True, description='Enable connection encryption')] = True#

Enable connection encryption

field ssl_verify: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=True, description='Verify the ceritifcate valid')] = True#

Verify the ceritifcate valid

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 timeout: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=30, description='Timeout connecting to server', metadata=[Ge(ge=1), Le(le=300)])] = 30#

Timeout connecting to server

Constraints:
  • ge = 1

  • le = 300

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

Unique identifier for services

Constraints:
  • min_length = 1

pydantic model ohnope.ohnope.params.ohnope.OhnopeParams#

Bases: Params

Process and validate the core configuration parameters.

Show JSON schema
{
   "title": "OhnopeParams",
   "description": "Process and validate the core configuration parameters.",
   "type": "object",
   "properties": {
      "enconfig": {
         "anyOf": [
            {
               "$ref": "#/$defs/ConfigParams"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Parameters for Config instance"
      },
      "enlogger": {
         "anyOf": [
            {
               "$ref": "#/$defs/LoggerParams"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Parameters for Logger instance"
      },
      "encrypts": {
         "anyOf": [
            {
               "$ref": "#/$defs/CryptsParams"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Parameters for Crypts instance"
      },
      "database": {
         "default": "sqlite:///:memory:",
         "description": "Database connection string",
         "minLength": 1,
         "title": "Database",
         "type": "string"
      },
      "printer": {
         "$ref": "#/$defs/RobiePrinterParams",
         "description": "Print messages to console"
      },
      "service": {
         "$ref": "#/$defs/RobieServiceParams",
         "description": "Parameters for Robie Service"
      },
      "peering": {
         "anyOf": [
            {
               "$ref": "#/$defs/OhnopeIRCSParams"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Server connection parameters"
      },
      "client": {
         "anyOf": [
            {
               "$ref": "#/$defs/OhnopeIRCParams"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Server connection parameters"
      },
      "persons": {
         "anyOf": [
            {
               "additionalProperties": {
                  "$ref": "#/$defs/OhnopePersonParams"
               },
               "minProperties": 1,
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Parameters for Robie persons",
         "title": "Persons"
      },
      "status": {
         "$ref": "#/$defs/StatusPluginParams",
         "description": "Parameters for the plugin"
      },
      "rootserv": {
         "$ref": "#/$defs/RootServParams",
         "description": "Parameters for the plugin"
      },
      "operserv": {
         "$ref": "#/$defs/OperServParams",
         "description": "Parameters for the plugin"
      },
      "statserv": {
         "$ref": "#/$defs/StatServParams",
         "description": "Parameters for the plugin"
      },
      "nickserv": {
         "$ref": "#/$defs/NickServParams",
         "description": "Parameters for the plugin"
      },
      "chanserv": {
         "$ref": "#/$defs/ChanServParams",
         "description": "Parameters for the plugin"
      },
      "memoserv": {
         "$ref": "#/$defs/MemoServParams",
         "description": "Parameters for the plugin"
      },
      "hostserv": {
         "$ref": "#/$defs/HostServParams",
         "description": "Parameters for the plugin"
      },
      "helpserv": {
         "$ref": "#/$defs/HelpServParams",
         "description": "Parameters for the plugin"
      },
      "chatserv": {
         "$ref": "#/$defs/ChatServParams",
         "description": "Parameters for the plugin"
      }
   },
   "$defs": {
      "ChanServParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "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"
            }
         },
         "title": "ChanServParams",
         "type": "object"
      },
      "ChatServParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "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"
            }
         },
         "title": "ChatServParams",
         "type": "object"
      },
      "ConfigParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "properties": {
            "paths": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "minItems": 1,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Location of configuration files",
               "title": "Paths"
            }
         },
         "title": "ConfigParams",
         "type": "object"
      },
      "CryptParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "properties": {
            "phrase": {
               "description": "Passphrase for the operations",
               "minLength": 1,
               "title": "Phrase",
               "type": "string"
            }
         },
         "required": [
            "phrase"
         ],
         "title": "CryptParams",
         "type": "object"
      },
      "CryptsParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "properties": {
            "phrases": {
               "additionalProperties": {
                  "$ref": "#/$defs/CryptParams"
               },
               "description": "Passphrases for the operations",
               "minProperties": 0,
               "title": "Phrases",
               "type": "object"
            }
         },
         "required": [
            "phrases"
         ],
         "title": "CryptsParams",
         "type": "object"
      },
      "HelpServParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "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"
            }
         },
         "title": "HelpServParams",
         "type": "object"
      },
      "HostServParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "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"
            }
         },
         "title": "HostServParams",
         "type": "object"
      },
      "LoggerParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "properties": {
            "stdo_level": {
               "anyOf": [
                  {
                     "enum": [
                        "critical",
                        "debug",
                        "error",
                        "info",
                        "warning"
                     ],
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Minimum logging message level",
               "title": "Stdo Level"
            },
            "file_level": {
               "anyOf": [
                  {
                     "enum": [
                        "critical",
                        "debug",
                        "error",
                        "info",
                        "warning"
                     ],
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Minimum logging message level",
               "title": "File Level"
            },
            "file_path": {
               "anyOf": [
                  {
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Enable output to the log file",
               "title": "File Path"
            }
         },
         "title": "LoggerParams",
         "type": "object"
      },
      "MemoServParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "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"
            }
         },
         "title": "MemoServParams",
         "type": "object"
      },
      "NickServParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "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"
            }
         },
         "title": "NickServParams",
         "type": "object"
      },
      "OhnopeIRCParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "properties": {
            "server": {
               "description": "Server address for connection",
               "minLength": 1,
               "title": "Server",
               "type": "string"
            },
            "port": {
               "default": 6900,
               "description": "Server address for connection",
               "maximum": 65535,
               "minimum": 1,
               "title": "Port",
               "type": "integer"
            },
            "timeout": {
               "default": 30,
               "description": "Timeout connecting to server",
               "maximum": 300,
               "minimum": 1,
               "title": "Timeout",
               "type": "integer"
            },
            "nickname": {
               "default": "ohnope",
               "description": "Parameter for the integration",
               "minLength": 1,
               "title": "Nickname",
               "type": "string"
            },
            "username": {
               "default": "ohnope",
               "description": "Parameter for the integration",
               "minLength": 1,
               "title": "Username",
               "type": "string"
            },
            "realname": {
               "default": "Oh-nope IRC Services",
               "description": "Parameter for the integration",
               "minLength": 1,
               "title": "Realname",
               "type": "string"
            },
            "channel": {
               "default": "#opers",
               "description": "Channel where client will join",
               "minLength": 1,
               "title": "Channel",
               "type": "string"
            },
            "ssl_enable": {
               "default": true,
               "description": "Enable connection encryption",
               "title": "Ssl Enable",
               "type": "boolean"
            },
            "ssl_verify": {
               "default": true,
               "description": "Verify the ceritifcate valid",
               "title": "Ssl Verify",
               "type": "boolean"
            },
            "status": {
               "$ref": "#/$defs/StatusPluginIconParams",
               "description": "Icon used per chat platform"
            }
         },
         "required": [
            "server"
         ],
         "title": "OhnopeIRCParams",
         "type": "object"
      },
      "OhnopeIRCSParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "properties": {
            "server": {
               "description": "Server address for connection",
               "minLength": 1,
               "title": "Server",
               "type": "string"
            },
            "port": {
               "default": 6900,
               "description": "Server address for connection",
               "maximum": 65535,
               "minimum": 1,
               "title": "Port",
               "type": "integer"
            },
            "timeout": {
               "default": 30,
               "description": "Timeout connecting to server",
               "maximum": 300,
               "minimum": 1,
               "title": "Timeout",
               "type": "integer"
            },
            "password": {
               "anyOf": [
                  {
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Parameter for the integration",
               "title": "Password"
            },
            "name": {
               "default": "services.invalid",
               "description": "Parameter for the integration",
               "minLength": 1,
               "title": "Name",
               "type": "string"
            },
            "unique": {
               "default": "42X",
               "description": "Unique identifier for services",
               "minLength": 1,
               "title": "Unique",
               "type": "string"
            },
            "about": {
               "default": "Chatting Robie",
               "description": "Parameter for the integration",
               "minLength": 1,
               "title": "About",
               "type": "string"
            },
            "ssl_enable": {
               "default": true,
               "description": "Enable connection encryption",
               "title": "Ssl Enable",
               "type": "boolean"
            },
            "ssl_verify": {
               "default": true,
               "description": "Verify the ceritifcate valid",
               "title": "Ssl Verify",
               "type": "boolean"
            },
            "status": {
               "$ref": "#/$defs/StatusPluginIconParams",
               "description": "Icon used per chat platform"
            }
         },
         "required": [
            "server"
         ],
         "title": "OhnopeIRCSParams",
         "type": "object"
      },
      "OhnopePersonParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "enable": {
               "default": false,
               "description": "Determine whether child enabled",
               "title": "Enable",
               "type": "boolean"
            },
            "first": {
               "anyOf": [
                  {
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Additional optional information",
               "title": "First"
            },
            "last": {
               "anyOf": [
                  {
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Additional optional information",
               "title": "Last"
            },
            "about": {
               "anyOf": [
                  {
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Additional optional information",
               "title": "About"
            },
            "matches": {
               "description": "How the user will be identified",
               "items": {
                  "$ref": "#/$defs/RobiePersonMatchParams"
               },
               "title": "Matches",
               "type": "array"
            },
            "weight": {
               "default": 50,
               "description": "Determine order of precedence",
               "maximum": 100,
               "minimum": 1,
               "title": "Weight",
               "type": "integer"
            }
         },
         "required": [
            "matches"
         ],
         "title": "OhnopePersonParams",
         "type": "object"
      },
      "OperServParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "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"
            }
         },
         "title": "OperServParams",
         "type": "object"
      },
      "RobiePersonMatchParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "client": {
               "description": "Client where the user exists",
               "minLength": 1,
               "title": "Client",
               "type": "string"
            },
            "match": {
               "description": "Values client uses to identify",
               "items": {
                  "type": "string"
               },
               "minItems": 1,
               "title": "Match",
               "type": "array"
            }
         },
         "required": [
            "client",
            "match"
         ],
         "title": "RobiePersonMatchParams",
         "type": "object"
      },
      "RobiePrinterParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "message": {
               "default": false,
               "description": "Print the messages to console",
               "title": "Message",
               "type": "boolean"
            },
            "command": {
               "default": false,
               "description": "Print the commands to console",
               "title": "Command",
               "type": "boolean"
            }
         },
         "title": "RobiePrinterParams",
         "type": "object"
      },
      "RobieServiceParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "respite": {
               "$ref": "#/$defs/RobieServiceRespiteParams",
               "description": "When operates are performed"
            }
         },
         "title": "RobieServiceParams",
         "type": "object"
      },
      "RobieServiceRespiteParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "health": {
               "default": 3,
               "description": "How often health is checked",
               "maximum": 15,
               "minimum": 1,
               "title": "Health",
               "type": "integer"
            }
         },
         "title": "RobieServiceRespiteParams",
         "type": "object"
      },
      "RootServParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "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"
            }
         },
         "title": "RootServParams",
         "type": "object"
      },
      "StatServParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "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"
            }
         },
         "title": "StatServParams",
         "type": "object"
      },
      "StatusPluginCommandParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "irc": {
               "default": "!status",
               "description": "Command name for chat platform",
               "minLength": 2,
               "title": "Irc",
               "type": "string"
            },
            "dsc": {
               "default": "!status",
               "description": "Command name for chat platform",
               "minLength": 2,
               "title": "Dsc",
               "type": "string"
            },
            "mtm": {
               "default": "!status",
               "description": "Command name for chat platform",
               "minLength": 2,
               "title": "Mtm",
               "type": "string"
            }
         },
         "title": "StatusPluginCommandParams",
         "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"
      },
      "StatusPluginIconsParams": {
         "additionalProperties": false,
         "description": "Contain information for constructing the chat messages.",
         "properties": {
            "pending": {
               "$ref": "#/$defs/StatusPluginIconParams",
               "description": "Icon used per the chat platform"
            },
            "normal": {
               "$ref": "#/$defs/StatusPluginIconParams",
               "description": "Icon used per the chat platform"
            },
            "failure": {
               "$ref": "#/$defs/StatusPluginIconParams",
               "description": "Icon used per the chat platform"
            },
            "unknown": {
               "$ref": "#/$defs/StatusPluginIconParams",
               "description": "Icon used per the chat platform"
            }
         },
         "title": "StatusPluginIconsParams",
         "type": "object"
      },
      "StatusPluginParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "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"
            },
            "reports": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/StatusPluginReportParams"
                     },
                     "minItems": 1,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Where to send status updates",
               "title": "Reports"
            },
            "command": {
               "$ref": "#/$defs/StatusPluginCommandParams",
               "description": "Command name per chat platform"
            },
            "icons": {
               "$ref": "#/$defs/StatusPluginIconsParams",
               "description": "Icon used per the chat platform"
            }
         },
         "title": "StatusPluginParams",
         "type": "object"
      },
      "StatusPluginReportParams": {
         "additionalProperties": false,
         "description": "Contain information for constructing the chat messages.",
         "properties": {
            "client": {
               "description": "Client where channel exists",
               "minLength": 1,
               "title": "Client",
               "type": "string"
            },
            "target": {
               "description": "Where the message will be sent",
               "minLength": 1,
               "title": "Target",
               "type": "string"
            },
            "states": {
               "anyOf": [
                  {
                     "items": {
                        "enum": [
                           "pending",
                           "normal",
                           "failure",
                           "unknown"
                        ],
                        "type": "string"
                     },
                     "minItems": 1,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Which status value are related",
               "title": "States"
            },
            "delay": {
               "default": 15,
               "description": "Period between status reports",
               "maximum": 864000,
               "minimum": 0,
               "title": "Delay",
               "type": "integer"
            }
         },
         "required": [
            "client",
            "target"
         ],
         "title": "StatusPluginReportParams",
         "type": "object"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

Fields:
field chanserv: Annotated[ChanServParams, FieldInfo(annotation=NoneType, required=False, default_factory=ChanServParams, description='Parameters for the plugin')] [Optional]#

Parameters for the plugin

field chatserv: Annotated[ChatServParams, FieldInfo(annotation=NoneType, required=False, default_factory=ChatServParams, description='Parameters for the plugin')] [Optional]#

Parameters for the plugin

field client: Annotated[OhnopeIRCParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Server connection parameters')] = None#

Server connection parameters

field database: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='sqlite:///:memory:', description='Database connection string', metadata=[MinLen(min_length=1)])] = 'sqlite:///:memory:'#

Database connection string

Constraints:
  • min_length = 1

field enconfig: Annotated[ConfigParams | None, Field(None, description='Parameters for Config instance')] = None#

Parameters for Config instance

field encrypts: Annotated[CryptsParams | None, Field(None, description='Parameters for Crypts instance')] = None#

Parameters for Crypts instance

field enlogger: Annotated[LoggerParams | None, Field(None, description='Parameters for Logger instance')] = None#

Parameters for Logger instance

field helpserv: Annotated[HelpServParams, FieldInfo(annotation=NoneType, required=False, default_factory=HelpServParams, description='Parameters for the plugin')] [Optional]#

Parameters for the plugin

field hostserv: Annotated[HostServParams, FieldInfo(annotation=NoneType, required=False, default_factory=HostServParams, description='Parameters for the plugin')] [Optional]#

Parameters for the plugin

field memoserv: Annotated[MemoServParams, FieldInfo(annotation=NoneType, required=False, default_factory=MemoServParams, description='Parameters for the plugin')] [Optional]#

Parameters for the plugin

field nickserv: Annotated[NickServParams, FieldInfo(annotation=NoneType, required=False, default_factory=NickServParams, description='Parameters for the plugin')] [Optional]#

Parameters for the plugin

field operserv: Annotated[OperServParams, FieldInfo(annotation=NoneType, required=False, default_factory=OperServParams, description='Parameters for the plugin')] [Optional]#

Parameters for the plugin

field peering: Annotated[OhnopeIRCSParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Server connection parameters')] = None#

Server connection parameters

field persons: Annotated[dict[str, OhnopePersonParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Robie persons', metadata=[MinLen(min_length=1)])] = None#

Parameters for Robie persons

Constraints:
  • min_length = 1

field printer: Annotated[RobiePrinterParams, FieldInfo(annotation=NoneType, required=False, default_factory=RobiePrinterParams, description='Print messages to console')] [Optional]#

Print messages to console

field rootserv: Annotated[RootServParams, FieldInfo(annotation=NoneType, required=False, default_factory=RootServParams, description='Parameters for the plugin')] [Optional]#

Parameters for the plugin

field service: Annotated[RobieServiceParams, FieldInfo(annotation=NoneType, required=False, default_factory=RobieServiceParams, description='Parameters for Robie Service')] [Optional]#

Parameters for Robie Service

field statserv: Annotated[StatServParams, FieldInfo(annotation=NoneType, required=False, default_factory=StatServParams, description='Parameters for the plugin')] [Optional]#

Parameters for the plugin

field status: Annotated[StatusPluginParams, FieldInfo(annotation=NoneType, required=False, default_factory=StatusPluginParams, description='Parameters for the plugin')] [Optional]#

Parameters for the plugin

ohnope.ohnope.params.person module#

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.

pydantic model ohnope.ohnope.params.person.OhnopePersonParams#

Bases: RobiePersonParams

Process and validate the Robie configuration parameters.

Show JSON schema
{
   "title": "OhnopePersonParams",
   "description": "Process and validate the Robie configuration parameters.",
   "type": "object",
   "properties": {
      "enable": {
         "default": false,
         "description": "Determine whether child enabled",
         "title": "Enable",
         "type": "boolean"
      },
      "first": {
         "anyOf": [
            {
               "minLength": 1,
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Additional optional information",
         "title": "First"
      },
      "last": {
         "anyOf": [
            {
               "minLength": 1,
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Additional optional information",
         "title": "Last"
      },
      "about": {
         "anyOf": [
            {
               "minLength": 1,
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Additional optional information",
         "title": "About"
      },
      "matches": {
         "description": "How the user will be identified",
         "items": {
            "$ref": "#/$defs/RobiePersonMatchParams"
         },
         "title": "Matches",
         "type": "array"
      },
      "weight": {
         "default": 50,
         "description": "Determine order of precedence",
         "maximum": 100,
         "minimum": 1,
         "title": "Weight",
         "type": "integer"
      }
   },
   "$defs": {
      "RobiePersonMatchParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "client": {
               "description": "Client where the user exists",
               "minLength": 1,
               "title": "Client",
               "type": "string"
            },
            "match": {
               "description": "Values client uses to identify",
               "items": {
                  "type": "string"
               },
               "minItems": 1,
               "title": "Match",
               "type": "array"
            }
         },
         "required": [
            "client",
            "match"
         ],
         "title": "RobiePersonMatchParams",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "matches"
   ]
}

Config:
  • extra: str = forbid

Fields:

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.

pydantic model ohnope.ohnope.params.OhnopeParams#

Bases: Params

Process and validate the core configuration parameters.

Show JSON schema
{
   "title": "OhnopeParams",
   "description": "Process and validate the core configuration parameters.",
   "type": "object",
   "properties": {
      "enconfig": {
         "anyOf": [
            {
               "$ref": "#/$defs/ConfigParams"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Parameters for Config instance"
      },
      "enlogger": {
         "anyOf": [
            {
               "$ref": "#/$defs/LoggerParams"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Parameters for Logger instance"
      },
      "encrypts": {
         "anyOf": [
            {
               "$ref": "#/$defs/CryptsParams"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Parameters for Crypts instance"
      },
      "database": {
         "default": "sqlite:///:memory:",
         "description": "Database connection string",
         "minLength": 1,
         "title": "Database",
         "type": "string"
      },
      "printer": {
         "$ref": "#/$defs/RobiePrinterParams",
         "description": "Print messages to console"
      },
      "service": {
         "$ref": "#/$defs/RobieServiceParams",
         "description": "Parameters for Robie Service"
      },
      "peering": {
         "anyOf": [
            {
               "$ref": "#/$defs/OhnopeIRCSParams"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Server connection parameters"
      },
      "client": {
         "anyOf": [
            {
               "$ref": "#/$defs/OhnopeIRCParams"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Server connection parameters"
      },
      "persons": {
         "anyOf": [
            {
               "additionalProperties": {
                  "$ref": "#/$defs/OhnopePersonParams"
               },
               "minProperties": 1,
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Parameters for Robie persons",
         "title": "Persons"
      },
      "status": {
         "$ref": "#/$defs/StatusPluginParams",
         "description": "Parameters for the plugin"
      },
      "rootserv": {
         "$ref": "#/$defs/RootServParams",
         "description": "Parameters for the plugin"
      },
      "operserv": {
         "$ref": "#/$defs/OperServParams",
         "description": "Parameters for the plugin"
      },
      "statserv": {
         "$ref": "#/$defs/StatServParams",
         "description": "Parameters for the plugin"
      },
      "nickserv": {
         "$ref": "#/$defs/NickServParams",
         "description": "Parameters for the plugin"
      },
      "chanserv": {
         "$ref": "#/$defs/ChanServParams",
         "description": "Parameters for the plugin"
      },
      "memoserv": {
         "$ref": "#/$defs/MemoServParams",
         "description": "Parameters for the plugin"
      },
      "hostserv": {
         "$ref": "#/$defs/HostServParams",
         "description": "Parameters for the plugin"
      },
      "helpserv": {
         "$ref": "#/$defs/HelpServParams",
         "description": "Parameters for the plugin"
      },
      "chatserv": {
         "$ref": "#/$defs/ChatServParams",
         "description": "Parameters for the plugin"
      }
   },
   "$defs": {
      "ChanServParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "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"
            }
         },
         "title": "ChanServParams",
         "type": "object"
      },
      "ChatServParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "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"
            }
         },
         "title": "ChatServParams",
         "type": "object"
      },
      "ConfigParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "properties": {
            "paths": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "minItems": 1,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Location of configuration files",
               "title": "Paths"
            }
         },
         "title": "ConfigParams",
         "type": "object"
      },
      "CryptParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "properties": {
            "phrase": {
               "description": "Passphrase for the operations",
               "minLength": 1,
               "title": "Phrase",
               "type": "string"
            }
         },
         "required": [
            "phrase"
         ],
         "title": "CryptParams",
         "type": "object"
      },
      "CryptsParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "properties": {
            "phrases": {
               "additionalProperties": {
                  "$ref": "#/$defs/CryptParams"
               },
               "description": "Passphrases for the operations",
               "minProperties": 0,
               "title": "Phrases",
               "type": "object"
            }
         },
         "required": [
            "phrases"
         ],
         "title": "CryptsParams",
         "type": "object"
      },
      "HelpServParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "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"
            }
         },
         "title": "HelpServParams",
         "type": "object"
      },
      "HostServParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "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"
            }
         },
         "title": "HostServParams",
         "type": "object"
      },
      "LoggerParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "properties": {
            "stdo_level": {
               "anyOf": [
                  {
                     "enum": [
                        "critical",
                        "debug",
                        "error",
                        "info",
                        "warning"
                     ],
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Minimum logging message level",
               "title": "Stdo Level"
            },
            "file_level": {
               "anyOf": [
                  {
                     "enum": [
                        "critical",
                        "debug",
                        "error",
                        "info",
                        "warning"
                     ],
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Minimum logging message level",
               "title": "File Level"
            },
            "file_path": {
               "anyOf": [
                  {
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Enable output to the log file",
               "title": "File Path"
            }
         },
         "title": "LoggerParams",
         "type": "object"
      },
      "MemoServParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "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"
            }
         },
         "title": "MemoServParams",
         "type": "object"
      },
      "NickServParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "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"
            }
         },
         "title": "NickServParams",
         "type": "object"
      },
      "OhnopeIRCParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "properties": {
            "server": {
               "description": "Server address for connection",
               "minLength": 1,
               "title": "Server",
               "type": "string"
            },
            "port": {
               "default": 6900,
               "description": "Server address for connection",
               "maximum": 65535,
               "minimum": 1,
               "title": "Port",
               "type": "integer"
            },
            "timeout": {
               "default": 30,
               "description": "Timeout connecting to server",
               "maximum": 300,
               "minimum": 1,
               "title": "Timeout",
               "type": "integer"
            },
            "nickname": {
               "default": "ohnope",
               "description": "Parameter for the integration",
               "minLength": 1,
               "title": "Nickname",
               "type": "string"
            },
            "username": {
               "default": "ohnope",
               "description": "Parameter for the integration",
               "minLength": 1,
               "title": "Username",
               "type": "string"
            },
            "realname": {
               "default": "Oh-nope IRC Services",
               "description": "Parameter for the integration",
               "minLength": 1,
               "title": "Realname",
               "type": "string"
            },
            "channel": {
               "default": "#opers",
               "description": "Channel where client will join",
               "minLength": 1,
               "title": "Channel",
               "type": "string"
            },
            "ssl_enable": {
               "default": true,
               "description": "Enable connection encryption",
               "title": "Ssl Enable",
               "type": "boolean"
            },
            "ssl_verify": {
               "default": true,
               "description": "Verify the ceritifcate valid",
               "title": "Ssl Verify",
               "type": "boolean"
            },
            "status": {
               "$ref": "#/$defs/StatusPluginIconParams",
               "description": "Icon used per chat platform"
            }
         },
         "required": [
            "server"
         ],
         "title": "OhnopeIRCParams",
         "type": "object"
      },
      "OhnopeIRCSParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "properties": {
            "server": {
               "description": "Server address for connection",
               "minLength": 1,
               "title": "Server",
               "type": "string"
            },
            "port": {
               "default": 6900,
               "description": "Server address for connection",
               "maximum": 65535,
               "minimum": 1,
               "title": "Port",
               "type": "integer"
            },
            "timeout": {
               "default": 30,
               "description": "Timeout connecting to server",
               "maximum": 300,
               "minimum": 1,
               "title": "Timeout",
               "type": "integer"
            },
            "password": {
               "anyOf": [
                  {
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Parameter for the integration",
               "title": "Password"
            },
            "name": {
               "default": "services.invalid",
               "description": "Parameter for the integration",
               "minLength": 1,
               "title": "Name",
               "type": "string"
            },
            "unique": {
               "default": "42X",
               "description": "Unique identifier for services",
               "minLength": 1,
               "title": "Unique",
               "type": "string"
            },
            "about": {
               "default": "Chatting Robie",
               "description": "Parameter for the integration",
               "minLength": 1,
               "title": "About",
               "type": "string"
            },
            "ssl_enable": {
               "default": true,
               "description": "Enable connection encryption",
               "title": "Ssl Enable",
               "type": "boolean"
            },
            "ssl_verify": {
               "default": true,
               "description": "Verify the ceritifcate valid",
               "title": "Ssl Verify",
               "type": "boolean"
            },
            "status": {
               "$ref": "#/$defs/StatusPluginIconParams",
               "description": "Icon used per chat platform"
            }
         },
         "required": [
            "server"
         ],
         "title": "OhnopeIRCSParams",
         "type": "object"
      },
      "OhnopePersonParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "enable": {
               "default": false,
               "description": "Determine whether child enabled",
               "title": "Enable",
               "type": "boolean"
            },
            "first": {
               "anyOf": [
                  {
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Additional optional information",
               "title": "First"
            },
            "last": {
               "anyOf": [
                  {
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Additional optional information",
               "title": "Last"
            },
            "about": {
               "anyOf": [
                  {
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Additional optional information",
               "title": "About"
            },
            "matches": {
               "description": "How the user will be identified",
               "items": {
                  "$ref": "#/$defs/RobiePersonMatchParams"
               },
               "title": "Matches",
               "type": "array"
            },
            "weight": {
               "default": 50,
               "description": "Determine order of precedence",
               "maximum": 100,
               "minimum": 1,
               "title": "Weight",
               "type": "integer"
            }
         },
         "required": [
            "matches"
         ],
         "title": "OhnopePersonParams",
         "type": "object"
      },
      "OperServParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "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"
            }
         },
         "title": "OperServParams",
         "type": "object"
      },
      "RobiePersonMatchParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "client": {
               "description": "Client where the user exists",
               "minLength": 1,
               "title": "Client",
               "type": "string"
            },
            "match": {
               "description": "Values client uses to identify",
               "items": {
                  "type": "string"
               },
               "minItems": 1,
               "title": "Match",
               "type": "array"
            }
         },
         "required": [
            "client",
            "match"
         ],
         "title": "RobiePersonMatchParams",
         "type": "object"
      },
      "RobiePrinterParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "message": {
               "default": false,
               "description": "Print the messages to console",
               "title": "Message",
               "type": "boolean"
            },
            "command": {
               "default": false,
               "description": "Print the commands to console",
               "title": "Command",
               "type": "boolean"
            }
         },
         "title": "RobiePrinterParams",
         "type": "object"
      },
      "RobieServiceParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "respite": {
               "$ref": "#/$defs/RobieServiceRespiteParams",
               "description": "When operates are performed"
            }
         },
         "title": "RobieServiceParams",
         "type": "object"
      },
      "RobieServiceRespiteParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "health": {
               "default": 3,
               "description": "How often health is checked",
               "maximum": 15,
               "minimum": 1,
               "title": "Health",
               "type": "integer"
            }
         },
         "title": "RobieServiceRespiteParams",
         "type": "object"
      },
      "RootServParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "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"
            }
         },
         "title": "RootServParams",
         "type": "object"
      },
      "StatServParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "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"
            }
         },
         "title": "StatServParams",
         "type": "object"
      },
      "StatusPluginCommandParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "irc": {
               "default": "!status",
               "description": "Command name for chat platform",
               "minLength": 2,
               "title": "Irc",
               "type": "string"
            },
            "dsc": {
               "default": "!status",
               "description": "Command name for chat platform",
               "minLength": 2,
               "title": "Dsc",
               "type": "string"
            },
            "mtm": {
               "default": "!status",
               "description": "Command name for chat platform",
               "minLength": 2,
               "title": "Mtm",
               "type": "string"
            }
         },
         "title": "StatusPluginCommandParams",
         "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"
      },
      "StatusPluginIconsParams": {
         "additionalProperties": false,
         "description": "Contain information for constructing the chat messages.",
         "properties": {
            "pending": {
               "$ref": "#/$defs/StatusPluginIconParams",
               "description": "Icon used per the chat platform"
            },
            "normal": {
               "$ref": "#/$defs/StatusPluginIconParams",
               "description": "Icon used per the chat platform"
            },
            "failure": {
               "$ref": "#/$defs/StatusPluginIconParams",
               "description": "Icon used per the chat platform"
            },
            "unknown": {
               "$ref": "#/$defs/StatusPluginIconParams",
               "description": "Icon used per the chat platform"
            }
         },
         "title": "StatusPluginIconsParams",
         "type": "object"
      },
      "StatusPluginParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "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"
            },
            "reports": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/StatusPluginReportParams"
                     },
                     "minItems": 1,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Where to send status updates",
               "title": "Reports"
            },
            "command": {
               "$ref": "#/$defs/StatusPluginCommandParams",
               "description": "Command name per chat platform"
            },
            "icons": {
               "$ref": "#/$defs/StatusPluginIconsParams",
               "description": "Icon used per the chat platform"
            }
         },
         "title": "StatusPluginParams",
         "type": "object"
      },
      "StatusPluginReportParams": {
         "additionalProperties": false,
         "description": "Contain information for constructing the chat messages.",
         "properties": {
            "client": {
               "description": "Client where channel exists",
               "minLength": 1,
               "title": "Client",
               "type": "string"
            },
            "target": {
               "description": "Where the message will be sent",
               "minLength": 1,
               "title": "Target",
               "type": "string"
            },
            "states": {
               "anyOf": [
                  {
                     "items": {
                        "enum": [
                           "pending",
                           "normal",
                           "failure",
                           "unknown"
                        ],
                        "type": "string"
                     },
                     "minItems": 1,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Which status value are related",
               "title": "States"
            },
            "delay": {
               "default": 15,
               "description": "Period between status reports",
               "maximum": 864000,
               "minimum": 0,
               "title": "Delay",
               "type": "integer"
            }
         },
         "required": [
            "client",
            "target"
         ],
         "title": "StatusPluginReportParams",
         "type": "object"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

Fields:
field chanserv: Annotated[ChanServParams, FieldInfo(annotation=NoneType, required=False, default_factory=ChanServParams, description='Parameters for the plugin')] [Optional]#

Parameters for the plugin

field chatserv: Annotated[ChatServParams, FieldInfo(annotation=NoneType, required=False, default_factory=ChatServParams, description='Parameters for the plugin')] [Optional]#

Parameters for the plugin

field client: Annotated[OhnopeIRCParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Server connection parameters')] = None#

Server connection parameters

field database: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='sqlite:///:memory:', description='Database connection string', metadata=[MinLen(min_length=1)])] = 'sqlite:///:memory:'#

Database connection string

Constraints:
  • min_length = 1

field enconfig: Annotated[ConfigParams | None, Field(None, description='Parameters for Config instance')] = None#

Parameters for Config instance

field encrypts: Annotated[CryptsParams | None, Field(None, description='Parameters for Crypts instance')] = None#

Parameters for Crypts instance

field enlogger: Annotated[LoggerParams | None, Field(None, description='Parameters for Logger instance')] = None#

Parameters for Logger instance

field helpserv: Annotated[HelpServParams, FieldInfo(annotation=NoneType, required=False, default_factory=HelpServParams, description='Parameters for the plugin')] [Optional]#

Parameters for the plugin

field hostserv: Annotated[HostServParams, FieldInfo(annotation=NoneType, required=False, default_factory=HostServParams, description='Parameters for the plugin')] [Optional]#

Parameters for the plugin

field memoserv: Annotated[MemoServParams, FieldInfo(annotation=NoneType, required=False, default_factory=MemoServParams, description='Parameters for the plugin')] [Optional]#

Parameters for the plugin

field nickserv: Annotated[NickServParams, FieldInfo(annotation=NoneType, required=False, default_factory=NickServParams, description='Parameters for the plugin')] [Optional]#

Parameters for the plugin

field operserv: Annotated[OperServParams, FieldInfo(annotation=NoneType, required=False, default_factory=OperServParams, description='Parameters for the plugin')] [Optional]#

Parameters for the plugin

field peering: Annotated[OhnopeIRCSParams | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Server connection parameters')] = None#

Server connection parameters

field persons: Annotated[dict[str, OhnopePersonParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Robie persons', metadata=[MinLen(min_length=1)])] = None#

Parameters for Robie persons

Constraints:
  • min_length = 1

field printer: Annotated[RobiePrinterParams, FieldInfo(annotation=NoneType, required=False, default_factory=RobiePrinterParams, description='Print messages to console')] [Optional]#

Print messages to console

field rootserv: Annotated[RootServParams, FieldInfo(annotation=NoneType, required=False, default_factory=RootServParams, description='Parameters for the plugin')] [Optional]#

Parameters for the plugin

field service: Annotated[RobieServiceParams, FieldInfo(annotation=NoneType, required=False, default_factory=RobieServiceParams, description='Parameters for Robie Service')] [Optional]#

Parameters for Robie Service

field statserv: Annotated[StatServParams, FieldInfo(annotation=NoneType, required=False, default_factory=StatServParams, description='Parameters for the plugin')] [Optional]#

Parameters for the plugin

field status: Annotated[StatusPluginParams, FieldInfo(annotation=NoneType, required=False, default_factory=StatusPluginParams, description='Parameters for the plugin')] [Optional]#

Parameters for the plugin

pydantic model ohnope.ohnope.params.OhnopePersonParams#

Bases: RobiePersonParams

Process and validate the Robie configuration parameters.

Show JSON schema
{
   "title": "OhnopePersonParams",
   "description": "Process and validate the Robie configuration parameters.",
   "type": "object",
   "properties": {
      "enable": {
         "default": false,
         "description": "Determine whether child enabled",
         "title": "Enable",
         "type": "boolean"
      },
      "first": {
         "anyOf": [
            {
               "minLength": 1,
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Additional optional information",
         "title": "First"
      },
      "last": {
         "anyOf": [
            {
               "minLength": 1,
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Additional optional information",
         "title": "Last"
      },
      "about": {
         "anyOf": [
            {
               "minLength": 1,
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Additional optional information",
         "title": "About"
      },
      "matches": {
         "description": "How the user will be identified",
         "items": {
            "$ref": "#/$defs/RobiePersonMatchParams"
         },
         "title": "Matches",
         "type": "array"
      },
      "weight": {
         "default": 50,
         "description": "Determine order of precedence",
         "maximum": 100,
         "minimum": 1,
         "title": "Weight",
         "type": "integer"
      }
   },
   "$defs": {
      "RobiePersonMatchParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "client": {
               "description": "Client where the user exists",
               "minLength": 1,
               "title": "Client",
               "type": "string"
            },
            "match": {
               "description": "Values client uses to identify",
               "items": {
                  "type": "string"
               },
               "minItems": 1,
               "title": "Match",
               "type": "array"
            }
         },
         "required": [
            "client",
            "match"
         ],
         "title": "RobiePersonMatchParams",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "matches"
   ]
}

Config:
  • extra: str = forbid

Fields: