glados.plugin module¶
-
class
glados.plugin.
GladosPlugin
(name, bot, **kwargs)[source]¶ Bases:
object
Parent class for a GLaDOS Plugin
- Parameters
name (str) – the name of the plugin
bot (GladosBot) – the GLaDOS bot that this plugin will use
kwargs –
Examples
>>> def mock_function(request): ... print("Mock Function") >>> plugin = GladosPlugin("mock", None) >>> plugin.add_route(RouteType.SendMessage, "send_message", mock_function) >>> from glados import GladosRoute >>> plugin.routes[0].__dict__ == GladosRoute(RouteType.SendMessage, "send_message", mock_function).__dict__ True >>> try: ... plugin.add_route(RouteType.SendMessage, "send_message", mock_function) ... except GladosPathExistsError: ... print("Got Error") Got Error
-
add_route
(route_type, route, function)[source]¶ Add a new route to the plugin
- Parameters
route_type (RouteType) – what type of route this is this
route (Union[EventRoutes, str]) – what is the route to be added
function (Callable) – the function to be executed when this route runs
-
property
routes
¶ List all routes for the plugin.
Examples
>>> from plugin import GladosPlugin >>> from router import RouteType, GladosRoute >>> plugin = GladosPlugin("mockPlugin", None) >>> plugin.routes [] >>> plugin.add_route(RouteType.SendMessage, "send_message", (lambda x: 1)) >>> r = plugin.routes[0] # type: GladosRoute >>> r.route == "send_message" True >>> r.function("NULL") 1
-
send_request
(request, **kwargs)[source]¶ This is the function to be called when sending a request to a plugin.
This function is responsible for validating the slack signature if needed. It also returns and empty string if the function called returns None.
- Parameters
request (GladosRequest) – the request object to be sent
kwargs –