Welcome legion-bot! A custom Discord bot for LegionDark.

Moderators: Nomad Moogle, Game Masters

User avatar
atom0s
Game Master
Posts: 501
Joined: Thu Jan 15, 2015 8:33 pm
Location: http://atom0s.com
Contact:

Welcome legion-bot! A custom Discord bot for LegionDark.

Postby atom0s » Thu Oct 19, 2017 9:04 pm

Small edit: Please understand this bot is in an open beta state. It will crash, it will lag or have issues, etc. Please be sure to report any issues or feature requests at the link below at the bottom of this post!

Hello everyone,

Today, you may notice a new administrator in the LegionDark Discord channel named 'legion-bot'.
He is a small project I have been working on for a few days, more specifically his core framework.

What is legion-bot?

legion-bot is a small and simple Discord bot, written in Node.js using my personal new framework 'arcanus-discord'. (It is a Node.js wrapper around the Discord.js library for creating and deploying Discord bots fast and easy.) legion-bot is here to help with a lot of the common things that are asked about in our Discord channel. Things such as common links to information (our site, forums, wiki, install guide, new player guide etc.) as well as current server status information or the expected client version players should be using.

What can legion-bot do?

At this time, he has a few features. When a new player joins our Discord server for the first time, legion-bot will welcome them with some helpful information as well as direct them to check out the FAQ channel and pinned messages. When this happens, it looks like this:

Image


Along with greeting new players, legion-bot has a collection of various commands, some being for helpful information, others for fun.
To see a full list of commands that are available, use the !help command. (Simply say !help in chat.)

Helpful Commands

legion-bot currently has several useful information commands built-in. These are useful for helping new players find information easier, as well as allowing veteran players help new players faster. Here is a list of command that can be used currently that are considered helpful:

  • !about - Displays information about the bot.
  • !help - Displays help information about the available commands.
  • !ecv - Displays the current expected client version that players should have to play on LegionDark.
  • !links - Displays a list of common used links.
  • !website - Displays a link to the LegionDark website.
  • !forums - Displays a link to the LegionDark forums.
  • !wiki - Displays a link to the LegionDark wiki.
  • !rules - Displays a link to the LegionDark wiki article for the server rules.
  • !install - Displays a link to the LegionDark wiki article for the client install guide.
  • !bugreport - Displays a link to the LegionDark bug report trackers.
  • !status - Displays the current server status (online, player count).

The !help command can also be used to get more information about a specific command. For example:
!help status

Will print out the following information:
Image


What does this information mean?
- Owner Only - means that only users considered 'owner' of the bot can use the command if true.
- Use In DM? - means that the command can be used in direct messages to the bot if true.
- Use in Guild? - means that the command can be used in general channels if true.
- Throttling: Throttling is a way the bot prevents users from spamming commands. More info below.

Command Throttling

Commands are throttled per-user. Meaning that two separate users will not share the same threshhold of usages for a command. This lets users work with the bot on their own without being locked out by someone else. Throttling has two variables associated with it:
- count
- timeout

The count is the number of times the command can be used within the timeout. For example, the above !status command had a count of 1 and a timeout of 300 seconds.
This means that the user can only use the !status command once every 5 minutes.

Fun Commands

legion-bot also includes a handful of commands that are considered fun to use. Currently, these include:
  • !8ball - Ask the bot a question, it will answer you like a Magic 8 Ball.
  • !coinflip - Flips a coin (heads or tails).
  • !cointoss - Flips a coin (heads or tails).
  • !flip - Flips a coin (heads or tails).
  • !random - Rolls a die, same to /random in game.

Fun commands each have their own throttling and such, again to help prevent people from spamming the bot.

Owner / Administration Commands

legion-bot also includes various ownership/administration commands.
These are not public and cannot be used by normal users.

legion-bot also includes other helpful administrative tasks and features. Since these are admin only, they do not need to be shared publicly.

Who Made legion-bot?

atom0s

What is legion-bot coded in?

legion-bot is coded in Node.js (Javascript).
legion-bot uses arcanus-discord, A small and simple bot framework for Discord, using Discord.js as its client base.
legion-bot is not open source, nor is arcanus-discord.

Other info for other developers that are interested:

legion-bot is coded in Node.js, uses arcanus-discord as its one and only package.
arcanus-discord is coded in Node.js, uses Discord.js as its middleware to communicate with Discord's API.
Packages used are:
- async
- chalk
- discord.js
- lowdb
- moment
- moment-duration-format
- mysql
- parseargs.js

For development I use:
- WebStorm / VSCode (IDE)
- yarn (package manager)

Other specifics or questions etc can be directed to me on Discord via pm. (atom0s#3826)

Where can I report bugs, feature requests, etc?

You can report bugs, request new features/commands, and such here:
https://github.com/LegionDark/Discord
Derp~

Return to “News and Updates”

Who is online

Users browsing this forum: No registered users and 1 guest