Home
Softono

Baymax

Open source Java
14
Stars
7
Forks
0
Issues
4
Watchers
7 months
Last Commit

 About Baymax

I am your friendly help desk discord bot

Platforms

Web Self-hosted

Languages

Java

Links

Need Help Installing Baymax?

We provide expert installation service for this software. Our team will install, configure, and secure Baymax on your server. plans start at just $30.

Baymax

A friendly help desk bot for Discord

Build Status

Why?

The job of support staff members of Discord (bot) servers is an annoying task. Rarely are well-qualified users willing to do this frustrating, repetitive and more often than not ungrateful chore for longer than a short time.

Luckily, many of the bad parts can be automated with little effort, leading to a faster and higher quality support experience for end users.

By means of automation, Baymax aims to alleviate the following problem areas from a supporter's point of view:

  • Answering the same questions again and again
  • Dealing with users who don't state their questions / bug reports / suggestions until someone talks to them
  • Dealing with users who are unwilling to read the existing FAQ
  • Dealing with users who demand immediate attention by pinging random staff members
  • Random spam in a support channel that is read by humans, unnecessarily demanding their attention

And from a users point of view:

  • Receiving immediate help & support for most issues instead of waiting for other humans to show up
  • All the information in one place, instead of having to look though FAQs and guides

How?

Baymax uses a simple, yaml based model to define a help desk model as a cycle of nodes and branches, and binds each model to one or many discord channels.

A sane model has the following properties:

  • There is a node with the root id
  • All branches are targetting existing nodes
  • Each defined node can be reached from the root node

A node may optionally have a role id. Baymax will assign that role id to the user who reaches that node, and remove it again after 3 hours.

A basic example:

aki.yaml

---
id: root
title: "How may I help you?"
branches:
- message: "I need help with the Aki Bot"
  targetId: bot-root
- message: "I need help with the Aki Server"
  targetId: server-root

---
id: bot-root
title: "You need help with the Aki Bot. What's wrong?"
branches:
- message: "Something is broken"
  targetId: bot-broken
- message: "I want to change a setting."
  targetId: bot-setting
- message: "I have a suggestion."
  targetId: bot-suggestion
- message: "None of the above."
  targetId: support-role

---
id: server-root
title: "Please DM one of our Moderators."

---
id: bot-broken
title: "Aki never breaks."

---
id: bot-setting
title: "What setting of the Aki bot do you want to change?"
branches:
- message: "The language"
  targetId: bot-setting-language
- message: "Turn reactions on or off"
  targetId: bot-setting-reactions
- message: "Restrict it to a single channel"
  targetId: bot-setting-restrict

---
id: bot-setting-language
title: "Say `!aki lang` to start changing your preferred language."

---
id: bot-setting-reactions
title: "Say `!aki thonks disable / enable` to switch reaction on or off."

---
id: bot-setting-restrict
title: "Use the Discord permissions to take away Akis write permissions for all the channels where it should not talk in."

---
id: bot-suggestion
title: "We don't take any suggestions currently."

---
id: support-role
title: "Explain your problem to one of our helpers in <#487925562300694531>."
roleId: 487925645989380108

And here is how it looks in chat:

Dependencies: