linastk/README.md

82 lines
2.4 KiB
Markdown
Raw Normal View History

2023-12-31 05:27:32 +00:00
# linaSTK Discord Edition
2024-01-02 05:51:44 +00:00
This is lina rewritten to work on Discord. It has the same functions as the Revolt version but it's still work in progress and is incomplete. It is currently used for the SuperTuxKart Discord, but you can self host it yourself.
2023-12-31 05:27:32 +00:00
# Features
## General
2023-12-31 05:44:27 +00:00
- [x] Player tracking
- [x] STK Seen
- [x] Top 10 ranked players
- [x] Player searching
- [ ] Friends list (partial)
- [x] Server list
- [ ] PokeMap
- [ ] Addon querying
- [ ] Ranking info of a player
2023-12-31 05:27:32 +00:00
## Internal
2023-12-31 05:44:27 +00:00
- [x] Authentication
2024-01-02 05:51:44 +00:00
- [x] Polling
- [x] Session revalidation
2023-12-31 05:27:32 +00:00
# How to set up
2023-12-31 05:44:27 +00:00
> This assumes you have knowledge on how to create a Discord bot and set up the proper intents and invite it, as well as how to use the Linux command line, and how to create a PostgreSQL database.
>
2023-12-31 05:27:32 +00:00
> Only Linux is supported. Other platforms will not be supported.
1. Initial set up
```
git clone https://github.com/searinminecraft/lina-discord
cd lina-discord
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```
2. Create a file named `constants.py` in the root of the folder. Then fill in the information.
```py
# Accent color (used for embeds)
# You must use the hexadecimal representation of the color, or it won't work!
# Example: if your color is #fbce3a then put 0xfbce3a
ACCENT_COLOR = 0xfbce3a
# SuperTuxKart credentials
# This is required to make most features work.
# It is not recommended to use your main account for this.
# You can create an account here: https://online.supertuxkart.net/register.php
STK_USERNAME = ""
STK_PASSWORD = ""
# This is where you put your bot's Discord token. In any circumstances, DO NOT share this
# to anyone, not even your best friend that you trust! If you accidentally share it,
# IMMEDIATELY reset it.
TOKEN = ""
# Prefix for the bot.
# While lina mostly uses slash commands, some are hybrid and some only use
# the old prefix-based command system.
PREFIX = '&'
# PostgreSQL connection
POSTGRESQL = "postgresql://user:pass@localhost/db"
# Max amount of players a user can track.
# If the user goes above this value, they will not be able to add additional
# players to track unless a user removes one to free up space.
MAX_PTRACK = 15
```
3. Run the bot
```
python launch.py
```
# License
This bot is licensed under the GNU Affero General Public License, version 3.
2023-12-31 05:44:27 +00:00
2023-12-31 05:27:32 +00:00
Certain portions of the source code are from Rapptz's RoboDanny bot, licensed under the Mozilla Public License, version 2.
2023-12-31 05:44:27 +00:00
Made with :heart: by searingmoonlight