|
|
|
# Hrochobot
|
|
|
|
Discord bot for KSP discord server.
|
|
|
|
|
|
|
|
## Installation
|
|
|
|
First install all required libraries:
|
|
|
|
```sh
|
|
|
|
pip install -r requirements.txt
|
|
|
|
```
|
|
|
|
|
|
|
|
Then create ``data`` folder from ``data.example``:
|
|
|
|
```sh
|
|
|
|
cp data.example data -r
|
|
|
|
```
|
|
|
|
Same for ``config.json``:
|
|
|
|
```sh
|
|
|
|
cp config.example.json config.json -r
|
|
|
|
```
|
|
|
|
|
|
|
|
Lastly paste your discord bot token into ``config.json``.
|
|
|
|
If you do not have any discord bot, learn how to create one here:
|
|
|
|
https://discordjs.guide/preparations/setting-up-a-bot-application.html#your-bot-s-token
|
|
|
|
|
|
|
|
|
|
|
|
## Running
|
|
|
|
To run the bot simply execute ``main.py``:
|
|
|
|
```sh
|
|
|
|
./main.py
|
|
|
|
```
|
|
|
|
|
|
|
|
## Commands
|
|
|
|
### Basic
|
|
|
|
#### `/sayhello`
|
|
|
|
Prints ``Hello world!``
|
|
|
|
|
|
|
|
#### `/ping`
|
|
|
|
Shows the bot's latency.
|
|
|
|
|
|
|
|
### Messages
|
|
|
|
#### `/set_forward_channel <#channel>`
|
|
|
|
Sets channel to forward messages to.
|
|
|
|
|
|
|
|
#### `>forward`
|
|
|
|
Forwards message to set channel
|
|
|
|
|
|
|
|
### Roles
|
|
|
|
#### `/secretroles`
|
|
|
|
Manages roles locked behind a password.
|
|
|
|
|
|
|
|
Lock ``@role`` behind a password ``supersecret``:
|
|
|
|
```
|
|
|
|
/secretroles add @role supersecret
|
|
|
|
```
|
|
|
|
|
|
|
|
Delete password ``supersecret``, so role is no longer obtainable with it:
|
|
|
|
```
|
|
|
|
/secretroles delete supersecret
|
|
|
|
```
|
|
|
|
|
|
|
|
List all current passwords and their roles:
|
|
|
|
```
|
|
|
|
/secretroles list
|
|
|
|
```
|
|
|
|
|
|
|
|
### KSP
|
|
|
|
Ksp related commands
|
|
|
|
|
|
|
|
#### `/task`
|
|
|
|
Generates urls for given task.
|
|
|
|
|
|
|
|
#### `/deadlines`
|
|
|
|
Shows deadlines of currently running series.
|
|
|
|
|
|
|
|
### News
|
|
|
|
#### `/news set_channel <#channel>`
|
|
|
|
Set channel for posting news.
|
|
|
|
|
|
|
|
#### `/news post_news <id>`
|
|
|
|
Post news with given `id` to set channel.
|