Asgardon Documentation

Asgardon is a tribute bot to Asgardia – The Space Nation and features a couple of helpful modules.

All functionality can individually be turned on and off so there are no conflicts with other bots or unmanageable amounts of features.

⚠️ SERVICE LIMITATION ⚠️

There are a few issues with certain services provided by Asgardon:

  • YouTubeNotifier module received 403 errors from YouTube, likely because of connection throttling. The YTN module now pauses for an hour when receiving a 403 which will limit the functionality.
  • Discord.Net 0.9 loses connection to the gateway fairly often and while it can re-connect it won’t restore any modules or settings, requiring the whole bot to be restarted. Certain modules, such as the VoiceChannelManager may therefore occasionally not work for a few seconds and leave empty channels behind, simply re-trigger the affected module (eg. by joining and leaving a voice channel again) and it should resume normal operation.

⚠️ UPGRADE NOTICE ⚠️

Asgardon is currently in the process of upgrading from Discord.Net 0.9 to Discord.Net 1.0. The new library has brought many fundamental changes and required the bot to be completely re-written.

The new bot will be released around the end of December 12,016HE or early 12,017HE after the full release of Discord.Net 1.0 and improvements to the DotNet Core environment.

Usage

After inviting, Asgardon recognizes commands beginning with !a. For a basic overview of available commands send !a help in a channel where Asgardon has read and write permissions.

Should you ever forget which prefix this bot is listening to, just type prefix and it’ll tell you.

Please note that most features are server or channel based and there’s little to no point having a DM conversation with Asgardon. It’s best to issue all commands in the same channel where you want them active.

Enabling and Disabling modules

!a mod list to get a list of all available mods.
!a mod enable modname here enables a mod.
!a mod disable modname here disables a mod.

If the module is server based, it will be activated for the server executing the enable command. Is the module channel based it will only be activated in the channel that executed the enable command.

Modules

We are constantly developing new modules that are requested on /r/discordapp or individually to Gachl#4156.

Currently the following modules are available:

Voice Channel Manager

!a mod enable voice manager

This module keeps the voice channel list clean and small. VCM can be activated for specific voice channels which are then cloned when at least one user has joined it, making sure that there is always at least one new empty channel available.

Commands:

  • vcm list lists all voice channels that are under active Voice Channel Manager control.
  • vcm add Voice Channel Name activates Voice Channel Manager control over the specified Voice Channel Name.
  • vcm remove Voice Channel Name deactivates Voice Channel Manager control over the specified Voice Channel Name.

Example:
Voice Channel Manager in use

Admin

!a mod enable admin

The administrative functionality of Asgardon has been kept to a minimum as there are enough bots with that kind of functionality.

Commands:

  • admin kick Username kicks a user.
  • admin clear removes all messages in the text channel where the command is executed.

Random

!a mod enable random

A Random Number Generator that can generate a random number or pick a random element from a list.

Commands:

  • rng number minimum maximum generates a random number between minimum and maximum (both inclusive).
  • rng choice list of choices selects a random element from the list of choices.

Time Zones

!a mod enable timezone

Set your timezone and get the local time of other users. It is always recommended to specify time zones in UTC offsets, because TZ abbreviations are unprecise and faulty.

If you have trouble finding your TZ you can consult the list of all available time zone abbreviations.

Commands:

  • tz set TZ sets the timezone to TZ.
  • tz get @User gets the current local time of @User.

Example:

  • tz set +4
  • tz set -9

Custom Prefixes

always enabled

Change the prefix !a to anything you like.

Commands:

  • prefix set new prefix sets the prefix to new prefix.
  • prefix remove restores the original !a prefix.

Example:
Prefixes in action

8Ball

!a mod enable 8ball

If you don’t trust horoscopes at least trust a bot when you ask him for complex life decisions in a yes/no format.

Commands:

  • 8ball ask Is life fair? This would get you some kind of ironic answer.
  • 8ball add If you’re lucky! adds a new witty reply of your own, wow!
  • 8ball remove If you’re lucky! removes the reply again, was a dumb one anyways.

Game Notification

!a mod enable game notification

Keeps track of how many users own and play which games. When enabled also notifies all online owners of a game that is currently being played and invites them to join.

Commands:

  • gn channel text channel name specifies which channel to use for announcements and invites.
  • gn players amount specifies the minimum amount of players playing a game before it’s announced.
  • gn delay seconds specifies the amount of seconds between announcing the same game (7200 is a good value).
  • gn quiet from to specifies the time range (eg. 22:00 – 08:00) when no game annoucements should be made. The bot uses CET/CEST as timezone.
  • gn ignore add game name stops notifying you for the specified game name.
  • gn ignore remove game name re-enables notification for the specified game name.

Example:
Game Notifications in action
Game Notification settings

Pisg

!a mod enable pisg

Member Pisg statistics? Member IRC? Member net splits? Oooh! I member!

Commands:

  • pisg config setting value changes the Pisg setting to the specified value.
  • pisg list (setting) lists values for all settings or the value for the specified setting (optional).
  • pisg generate generates a new Pisg statistic for the channel and attaches it to a message.

Slow Mode

!a mod enable slow

Limits messages per user per channel per time frame, kinda like Twitch slow mode.

Commands:

  • slow delay seconds specifies how many seconds must be between messages of the same user.

Squak

!a mod enable squak

Parrot that repeats single words.

Commands:

  • squak delay seconds specifies how many seconds have to pass before the next squak.
  • squak wordlength characters specifies how many characters there have to be in a word so it becomes squakable.

YouTube Notifier

!a mod enable youtube notifier

⚠️Please note the service limitation warning at the top of this document!⚠️

Monitors YouTube channels and announces newly uploaded videos.

Commands:

  • ytn enable channelId enables monitoring of the specified channelId.
  • ytn disable channelId disables monitoring of the specified channelId.
  • ytn message new announcement message sets a new announcement message, use {0} for Channel Title, {1} for Video Title and {2} for Video URL placeholders.

YouTube Notifier

Changelog

  • Removed !invite catch-all, replaced with !a invite (or whatever the prefix is)
  • Updated YouTubeNotifier module to test a channelId before adding, printing the channel name on success or an error message on failure
  • Added timezones module
  • Fixed re-initialisation of bot after unhandled Discord package caused connection to drop
  • Fixed modules being deactivated after unhandled Discord package caused connection to drop

Comments are closed.