-
Notifications
You must be signed in to change notification settings - Fork 2
How GitBot works

GitBot makes use of a few different services to answer all of you questions.
GitBot is a Microsoft Bot Framework Chatbot. His code is hosted on Azure. He uses LUIS to understand the meaning of the messages you send him, and once he understands he uses the GitHub API to retrieve the information you're looking for.
- Message gets sent by user.
- Bot Framework points message toward Azure.
- Code on Azure forwards message to LUIS.
- LUIS responds with JSON understanding of message.
- Code on Azure queries GitHub API with intent and entities of message.
- GitHub responds with required information.
- Code on Azure creates response message for user.
- Bot Framework points response back to user.
The Microsoft Bot Framework is the glue that holds all of GitBot together. The Bot Framework takes care of hooking his code up to all of the platforms that support him. When a message is sent to GitBot from one of the supported platforms, the Bot Framework makes sure that it gets sent to his code on Azure.
Azure is where GitBot lives. GitBot has keys that connect Azure to the Bot Framework, so that they can interact with each other. The main workings of GitBot go on there.
When GitBot gets a message, he uses Microsoft's Language Understanding Intelligence Service to understand what the message means. The message is sent to an endpoint for his specific LUIS that understands messages about GitHub, Users, Repositories etc. The endpoint sends back a JSON to GitBot with what the likely intent of the message is and what entities (user/repoOwner/repoName) are present in the message. GitBot uses the information in the JSON he gets back to know what to do to respond to the message properly.
When GitBot knows what information you are looking for, he uses the GitHub API to get it for you. GitBot uses Octokit to make it easier to interact with GitHub.
If you want to get in touch with us about GitBot, you can send an email to nating@tcd.ie