Core

class glados.core.Glados(config_file=None, plugins_folder=None, bots_config_dir=None, plugins_config_dir=None)[source]

Bases: object

Glados is the core of the GLaDOS package.

Parameters
  • config_file (Optional[str]) – path to config file

  • plugins_folder (Optional[str]) – path to plugins folder

  • bots_config_dir (Optional[str]) – path to bots config folder

  • plugins_config_dir (Optional[str]) – path to plugin config folder.

Notes

If config_file is passed in and the file has plugins_folder, bots_config_dir, plugins_config_dir in it , then the other parameters are not required

add_bot(bot)[source]

Add a new bot to GLaDOS.

Parameters

bot (GladosBot) – the bot to be added to GLaDOS

Return type

NoReturn

add_plugin(plugin)[source]

Add a plugin to GLaDOS

Parameters

plugin (GladosPlugin) – the plugin to be added to GLaDOS

Return type

NoReturn

has_datastore()[source]

Returns True if there is a datastore else False

Return type

bool

import_bots()[source]

Import all discovered bots

Return type

NoReturn

import_plugins(bot_name=None)[source]

Import all discovered plugins and add them to the plugin list.

Parameters

bot_name (Optional[str]) – If set GLaDOS will only import the bot name that is provided here.

Return type

NoReturn

read_config(bot_name=None)[source]

Read the GLaDOS config file. If a bot name is provided it will only install that bot. Else it will install all bots.

Parameters

bot_name (Optional[str]) – If provided, install only the bot with this name.

Return type

NoReturn

request(request)[source]

Send a request to GLaDOS. This returns whatever the plugin returns.

This function will also set the datastore session for the request, try to find the interaction in the datastore and fetch it. This info is available in the request.

Parameters

request (GladosRequest) – the request to be sent to GLaDOS