Skip to content

A slack-bot that answers questions about the CS curriculum at SIUE

Notifications You must be signed in to change notification settings

Zabot/advisorbot

Repository files navigation

#Advisorbot Advisorbot is a chat bot with slack integration designed to provide information about the CS curriculum at Southern Illinois University Edwardsville.

Dependencies

Advisorbot uses python3 and python-slackclient to communicate with a slack bot. Installation can be done with PyIP. See the slackclient page for more details

pip install slackclient

API token

Advisorbot also requires an API token to connect to the team. This token can be found on the custom bot integration page and must be saved as api.token in the same directory as advisorbot.py. Anyone that knows this token can control the slack bot without further authentication, so it should not be pushed to the repository or shared with anyone.

Running without the API token

For testing purposes advisorbot can be run without the slack integration by running advisorbot_console.py. Any text on the standard input will be feed through the same procedure as if it had been said to advisorbot by a user, and the final response will be written to standard out.

Adding Responses

Responses can be added by changing data/responses.json. responses.json is a list of objects containing lists of regular expressions that trigger the responses, and a list of appropriate responses, of which one will be selected at random to be used as the reply. Responses are matched from the top down, the first match supersedes any other matches (though all will be captured). Responses may have substitution targets indicated by prefixing a word with $, e.g. $target(). Substitution targets will be replaced by the return value of the function with the same name in substitutions.py. Any class numbers found in the arguments to a substitution target will be replaced by a reference to the object containing that class' information. The m[n] argument will be replaced by the nth class mentioned in the original message. All other arguments will be passed through to the function in substitutions.py.

About

A slack-bot that answers questions about the CS curriculum at SIUE

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages