Table of Contents

I. Introduction

   a. Purpose

     Misaka is a multi-purpose bot, it can play audio, manipulate images, administrate users, and much more. More or less, it's meant to entertain people. While the administration module currently lacks a lot, I plan to add more to it eventually such as ban and kick reasons.

   a. Server Specifications

     The bot is currently running on an AWS EC2 instance. The instance type is t2.micro. It has one virtual CPU, and 1GB of RAM. It may need to be upgraded eventually depending on how many guilds Misaka gets added to.

II. Services

   a. Notable Services

     The services listed below are the most notable and vital to Misaka. Services that are either very basic, or insignificant will be ignored and not listed.

    1. Reddit

Monitors specified subreddits and posts new threads to the subscribed channels.

    2. Tick

Simply runs a repeating timer that swaps Misaka's avatar every half hour or the configured interval.

    3. CNN

Monitors CNN for breaking news and then posts it to the subscribed channels.

    4. Tracking

Most likely the most sophisticated service. Handles nearly all of the data tracking. Refer to the Data Collection section below regarding the data.

    5. Execute

Utilized when either the reload scripts command is called, or when Misaka boots up. It executes and adds external modules.

    6. Cooldown

Handles the cooldowns for commands. Cooldowns are server specific at the moment, may be channel specific in the future.

    7. Subscriptions

This service allows users to configure other services.
For example, it can be utilized to subscribe your channel to CNN breaking news, and new subreddit posts.

    8. News

The news service allows users to subscribe a text channel to a whitelisted news source.

    9. Prefix

Manages the custom prefixes for servers, and allows users to add/remove them.

   b. Configuring Services

     At the moment, the only two configurable services would be the Reddit service, and the CNN service. Users may now subscribe the services to their channel. Check out the Subscriptions Module under the commands page for more info.

III. Data Collection

   a. What Data is Collected?

     Misaka collects and stores nearly every worthy piece of data encountered. Discord objects such as users, channels, guilds, messages, attachments, and reactions are all stored. If the object is updated, the data will be as well. Therefore, deleted messages are removed from the database, and edited messages modify existing records. Other data stored would be bot-related data such as salutations, tags, commands ran, prefixes, subscriptions, and gametime.

   b. Where is it Stored?

     All data is saved within a MySQL database hosted on the same server as the bot.

   c. Is the Data Safe?

     It's impossible to guarantee the safety of the data. Breaches or data loss can happen. However the likelihood of a breach is extremely low. If there was one, the only potentially sensitive data would be the stored messages.

IV. Known Issues

   a. High Priority

   b. Low Priority

   c. Reporting Bugs

     The most effective route for reporting a bug would be to refer to the contact page. If told in another manner the likeliness of forgetting or missing the report is high. To properly report a bug, you'll have to connect your Discord account, this is to prevent spam and to allow me to contact you easily if needed.