2024-07-16 19:53:42 +00:00
|
|
|
import os
|
|
|
|
from typing import Optional, Set
|
2024-07-17 12:01:12 +00:00
|
|
|
|
|
|
|
from config.parser import JsonCache
|
|
|
|
|
2024-07-16 19:53:42 +00:00
|
|
|
|
2024-07-12 17:42:06 +00:00
|
|
|
class Constants:
|
2024-08-14 11:36:12 +00:00
|
|
|
# JSON raw
|
|
|
|
ART = JsonCache.read_json("art")
|
|
|
|
RESOURCES = JsonCache.read_json("resources")
|
|
|
|
LEVEL_MESSAGES = JsonCache.read_json("levels")
|
|
|
|
|
2024-07-19 19:23:45 +00:00
|
|
|
# metadata
|
|
|
|
TITLE = "Luminara"
|
|
|
|
AUTHOR = "wlinator"
|
|
|
|
LICENSE = "GNU General Public License v3.0"
|
2024-08-15 10:16:13 +00:00
|
|
|
VERSION = "2.8.11" # "Embed Refactor" update
|
2024-07-19 19:23:45 +00:00
|
|
|
|
2024-07-16 19:53:42 +00:00
|
|
|
# bot credentials
|
|
|
|
TOKEN: Optional[str] = os.environ.get("TOKEN", None)
|
|
|
|
INSTANCE: Optional[str] = os.environ.get("INSTANCE", None)
|
|
|
|
|
|
|
|
OWNER_IDS: Optional[Set[int]] = (
|
2024-08-01 14:09:54 +00:00
|
|
|
{int(id.strip()) for id in os.environ.get("OWNER_ID", "").split(",") if id}
|
|
|
|
if os.environ.get("OWNER_ID")
|
2024-07-16 19:53:42 +00:00
|
|
|
else None
|
|
|
|
)
|
|
|
|
|
|
|
|
XP_GAIN_PER_MESSAGE: int = int(os.environ.get("XP_GAIN_PER_MESSAGE", 1))
|
|
|
|
XP_GAIN_COOLDOWN: int = int(os.environ.get("XP_GAIN_COOLDOWN", 8))
|
|
|
|
|
|
|
|
DBX_TOKEN: Optional[str] = os.environ.get("DBX_OAUTH2_REFRESH_TOKEN", None)
|
|
|
|
DBX_APP_KEY: Optional[str] = os.environ.get("DBX_APP_KEY", None)
|
|
|
|
DBX_APP_SECRET: Optional[str] = os.environ.get("DBX_APP_SECRET", None)
|
|
|
|
|
|
|
|
MARIADB_USER: Optional[str] = os.environ.get("MARIADB_USER", None)
|
|
|
|
MARIADB_PASSWORD: Optional[str] = os.environ.get("MARIADB_PASSWORD", None)
|
|
|
|
MARIADB_ROOT_PASSWORD: Optional[str] = os.environ.get("MARIADB_ROOT_PASSWORD", None)
|
|
|
|
MARIADB_DATABASE: Optional[str] = os.environ.get("MARIADB_DATABASE", None)
|
|
|
|
|
2024-08-03 17:08:53 +00:00
|
|
|
# config
|
2024-08-03 18:55:18 +00:00
|
|
|
ALLOWED_IMAGE_EXTENSIONS = (".jpg", ".png")
|
2024-08-03 17:08:53 +00:00
|
|
|
|
2024-07-12 17:42:06 +00:00
|
|
|
# emotes
|
|
|
|
EMOTES_GUILD_ID = 1038051105642401812
|
2024-07-16 19:53:42 +00:00
|
|
|
|
2024-07-12 17:42:06 +00:00
|
|
|
# color scheme
|
2024-07-19 21:28:40 +00:00
|
|
|
COLOR_DEFAULT = 0xFF8C00
|
|
|
|
COLOR_WARNING = 0xFF7600
|
|
|
|
COLOR_ERROR = 0xFF4500
|
2024-07-16 19:53:42 +00:00
|
|
|
|
2024-07-12 17:42:06 +00:00
|
|
|
# strings
|
|
|
|
STRINGS = JsonCache.read_json("strings")
|
2024-07-16 19:53:42 +00:00
|
|
|
|
2024-07-12 17:42:06 +00:00
|
|
|
# repository
|
|
|
|
REPO_URL = "https://git.wlinator.org/Luminara/Lumi"
|
2024-07-13 14:39:47 +00:00
|
|
|
INVITE_LINK = "https://discord.com/oauth2/authorize?client_id=1038050427272429588&permissions=8&scope=bot"
|
2024-07-16 19:53:42 +00:00
|
|
|
|
2024-07-12 17:42:06 +00:00
|
|
|
# KRC
|
2024-07-13 18:51:43 +00:00
|
|
|
KRC_GUILD_ID: int = 719227135151046699
|
|
|
|
KRC_INTRO_CHANNEL_ID: int = 973619250507972618
|
2024-08-14 11:36:12 +00:00
|
|
|
KRC_QUESTION_MAPPING: dict[str, str] = RESOURCES["guild_specific"][
|
2024-07-16 19:53:42 +00:00
|
|
|
"question_mapping"
|
|
|
|
]
|
|
|
|
|
2024-07-12 17:42:06 +00:00
|
|
|
# logo
|
2024-08-14 11:36:12 +00:00
|
|
|
LUMI_LOGO_TRANSPARENT = ART["logo"]["transparent"]
|
|
|
|
LUMI_LOGO_OPAQUE = ART["logo"]["opaque"]
|
2024-07-16 19:53:42 +00:00
|
|
|
|
2024-07-12 17:42:06 +00:00
|
|
|
# icons art
|
2024-08-14 11:36:12 +00:00
|
|
|
BOOST_ICON = ART["icons"]["boost"]
|
|
|
|
CHECK_ICON = ART["icons"]["check"]
|
|
|
|
CROSS_ICON = ART["icons"]["cross"]
|
|
|
|
EXCLAIM_ICON = ART["icons"]["exclaim"]
|
|
|
|
HAMMER_ICON = ART["icons"]["hammer"]
|
|
|
|
MONEY_BAG_ICON = ART["icons"]["money_bag"]
|
|
|
|
MONEY_COINS_ICON = ART["icons"]["money_coins"]
|
|
|
|
QUESTION_ICON = ART["icons"]["question"]
|
|
|
|
STREAK_ICON = ART["icons"]["streak"]
|
|
|
|
WARNING_ICON = ART["icons"]["warning"]
|
2024-07-16 19:53:42 +00:00
|
|
|
|
2024-07-14 17:57:48 +00:00
|
|
|
# art by JuicyBblue
|
2024-08-14 11:36:12 +00:00
|
|
|
FLOWERS_ART = ART["juicybblue"]["flowers"]
|
|
|
|
TEAPOT_ART = ART["juicybblue"]["teapot"]
|
|
|
|
MUFFIN_ART = ART["juicybblue"]["muffin"]
|
2024-07-16 19:53:42 +00:00
|
|
|
|
2024-07-12 17:42:06 +00:00
|
|
|
# birthdays
|
|
|
|
BIRTHDAY_MESSAGES = JsonCache.read_json("birthday")["birthday_messages"]
|
|
|
|
BIRTHDAY_MONTHS = JsonCache.read_json("birthday")["months"]
|
2024-08-14 09:44:39 +00:00
|
|
|
BIRTHDAY_GIF_URL = "https://media1.tenor.com/m/NXvU9jbBUGMAAAAC/fireworks.gif"
|
2024-07-16 19:53:42 +00:00
|
|
|
|
2024-08-14 11:36:12 +00:00
|
|
|
# economy
|
|
|
|
DAILY_REWARD = RESOURCES["daily_reward"]
|
|
|
|
SLOTS = RESOURCES["slots"]
|
|
|
|
BLACKJACK = RESOURCES["blackjack"]
|
|
|
|
|
2024-07-12 17:42:06 +00:00
|
|
|
|
|
|
|
CONST = Constants()
|