GLaDOS Structure¶
There are a few major components of GLaDOS as shows below.
GLaDOS¶
Bot¶
Plugin¶
Routing¶
GLaDOS event routing is done in two different parts: Route Type and Route. These two parts and sometimes the bot name combined together control how events sent to GLaDOS are routed to the respective plugins
Route Types¶
Route Types represent the type of action that is being requested. One way to look at Route Types
is that they would be the first path in your API structure. For example you would configure Slack to
send Slash commands to https://slack.glados.wtf/Slash/myCommand
SendMessage: Sample action to send a message as the bot.
Slash: This is the route called when a slash command is called.
Note
The Route Types below use the bot name as a prefix of the route (see blow).
Event: This route type is used to receive messages from subscribed events in Slack.
Interaction: This route type is used to receive messages from user interactions.
Route¶
Routes represent the action that is being requested. Routes are not always included in the URL configured in Slack.
Interactive component callbacks are an example of this. The Request URL of for interactive
components should be set to something like https://slack.glados.wtf/Interaction/myBot
and lets
say that action_id is myBottonPress then the full route would be myBot_myButtonPress
Depending on the type of action sometimes the routes will be automatically prefixed with the bot name that is responsible for handling the request.