Airship Guard

## Description

**Airship Guard** - Discord bot written in Rust by Toma. Originally written for his own server, Airship of Baedoor (hence the name), it got quickly adopted by LCC after he promised Lyof to introduce some LCC-related features. Since then, command `!lcc` allows user to get instant invite to LCC server with welcoming invitation text.

## History

Bot was created on 27th of December, 2022, as a way to learn Rust language through some serious project. The idea of server-exclusive bot containing all important information to share was sitting on Toma's mind for long time, being only catalysed by seeing bot on Project Tamriel/Tamriel Rebuilt server, allowing members to look into Tamriel maps.

Since the day of its birth, Airship Guard was constantly worked on, more less until 17th January of 2023, it was receiving daily updates. Toma added a lot of features to it by the time of development, and also after Guard joining other servers, he refactored a lot of code to make bot more usable for other servers.

On 17th February, 2023, version 1.0 was released as closed source on GitHub. This marks small milestone, as the bot is now fully working and publicly available. Next versions will expand its capabilities and safety.

## Features

Airship Guard main purpose was being helping tool for Airship of Baedoor server, and as such, it remained one. However, as time went on, Toma's ambitions made him aspire to make Airship Guard a more general purpose helping tool, but with unique take: even if the bot should help other servers, it should have features unique enough to not be "just another MEE6". Therefore, its features include:

* Helping tool for organising both general servers, as well as Airship of Baedoor
* Educational tool for topics of MCreator and AI
* Helpful tool during playing RPG session
* Promoting LCC culture

## Commands

You can communicate with Airship Guard in two ways: by predefined commands starting with exclamation mark, or by pinging the bot and coming up with conversational text using specific keywords. Commands are listed below.

Additionally, if you ping the bot and put only :owo: emoji there, bot will answer you with the same emoji!

#### General Purpose commands

```
!guard    - prints general list of commands

!dice [n] - returns random dice roll
            (n stands for dice value, you can choose from typical dice values:
             4, 6, 8, 10, 12, 20 and 100)

!mcr      - shows statement related to MCreator.
            Useful for defending this software from elitism.

!ai       - shows critical statement towards AI technology.
            Useful for debating AI enthusiasm.

```

#### Server-customisable commands

```
!rules    - prints out rules of the server

```

```
!projects - prints out list of projects related to the server

```

```
!partners - prints out list of server partners

```

#### Airship of Baedoor related commands

```
!eta        - shows ETA of projects related to Airship of Baedoor

!contribute - shows information how you can contribute to hosted projects

!music      - shows summary of hosted musical projects

!ioa        - shows summary of The Isle of Ansur project

!wob        - shows summary of Wastelands of Baedoor project

!cob        - shows summary of Civilisations of Baedoor project

!sob        - shows summary of Spires of Baedoor project

!librerian  - shows summary of Librerian project

!baedoor    - shows encyclopedic entry for "Baedoor" term

!ansur      - shows encyclopedic entry for "Ansur" term

```

#### Promotion commands

```
!lcc   - shows invitation to Lyof's Code Constellation server

```

```
!aob   - shows invitation to Airship of Baedoor server

```

```
!lair  - shows invitation to Sajevus' Modding Lair server

```

```
!dylan - shows invitation to Dylan's Chest of Mods server

```

```
!crash - shows invitation to Gyula's Works server

```

```
!bp    - shows invitation to Bioplethora server

```

#### Hidden commands

```
!priv - family of commands, not introduced properly yet.
        In the future should store info per user.

```