mirror of
https://github.com/wlinator/luminara.git
synced 2024-10-02 20:43:12 +00:00
refactor YAML and JSON
This commit is contained in:
parent
00c17eae42
commit
4053bc9882
11 changed files with 135 additions and 813 deletions
|
@ -1,30 +0,0 @@
|
|||
{
|
||||
"logo": {
|
||||
"opaque": "https://git.wlinator.org/Luminara/Art/raw/branch/main/lumi_logo.png",
|
||||
"transparent": "https://git.wlinator.org/Luminara/Art/raw/branch/main/lumi_logo_transparent.png?_=1"
|
||||
},
|
||||
"icons": {
|
||||
"boost": "https://git.wlinator.org/Luminara/Art/raw/branch/main/lumi_boost.png",
|
||||
"check": "https://git.wlinator.org/Luminara/Art/raw/branch/main/lumi_check.png?_=1",
|
||||
"cross": "https://git.wlinator.org/Luminara/Art/raw/branch/main/lumi_cross.png?_=2",
|
||||
"exclaim": "https://git.wlinator.org/Luminara/Art/raw/branch/main/lumi_exclaim.png?_=3",
|
||||
"hammer": "https://git.wlinator.org/Luminara/Art/raw/branch/main/lumi_hammer.png?_=1",
|
||||
"money_bag": "https://git.wlinator.org/Luminara/Art/raw/branch/main/lumi_money_bag.png?_=1",
|
||||
"money_coins": "https://git.wlinator.org/Luminara/Art/raw/branch/main/lumi_money_coins.png?_=1",
|
||||
"question": "https://git.wlinator.org/Luminara/Art/raw/branch/main/lumi_question.png?_=2",
|
||||
"streak": "https://git.wlinator.org/Luminara/Art/raw/branch/main/lumi_streak.png?_=2",
|
||||
"streak_bronze": "https://git.wlinator.org/Luminara/Art/raw/branch/main/lumi_streak_bronze.png?_=1",
|
||||
"streak_gold": "https://git.wlinator.org/Luminara/Art/raw/branch/main/lumi_streak_gold.png?_=1",
|
||||
"streak_silver": "https://git.wlinator.org/Luminara/Art/raw/branch/main/lumi_streak_silver.png?_=1",
|
||||
"warning": "https://git.wlinator.org/Luminara/Art/raw/branch/main/lumi_warning.png?_=1"
|
||||
},
|
||||
"juicybblue": {
|
||||
"flowers": "https://i.imgur.com/79XfsbS.png",
|
||||
"teapot": "https://i.imgur.com/wFsgSnr.png",
|
||||
"muffin": "https://i.imgur.com/hSauh7K.png"
|
||||
},
|
||||
"other": {
|
||||
"cloud": "https://i.imgur.com/rc68c43.png",
|
||||
"trophy": "https://i.imgur.com/dvIIr2G.png"
|
||||
}
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
{
|
||||
"emotes_guild_id": 1038051105642401812,
|
||||
"repository_url": "https://git.wlinator.org/Luminara/Lumi",
|
||||
"guild_specific": {
|
||||
"guild_id": 719227135151046699,
|
||||
"intro_channel_id": 973619250507972618,
|
||||
"question_mapping": {
|
||||
"(Nick)name": "Let's start with your nickname. How would you like to be identified in the server?",
|
||||
"Age": "How old are you?",
|
||||
"Region": "Where do you live?",
|
||||
"Languages": "Which languages do you speak?",
|
||||
"Pronouns": "What are your preferred pronouns?",
|
||||
"Sexuality": "What's your sexuality?",
|
||||
"Relationship status": "What's your current relationship status?",
|
||||
"Likes & interests": "Likes & interests",
|
||||
"Dislikes": "Dislikes",
|
||||
"EXTRAS": "EXTRAS: job status, zodiac sign, hobbies, etc. Tell us about yourself!"
|
||||
}
|
||||
},
|
||||
"daily_reward": 500,
|
||||
"blackjack": {
|
||||
"emotes": {
|
||||
"hit": "<:hit:1119262723285467156>",
|
||||
"stand": "<:stand:1118923298298929154>"
|
||||
},
|
||||
"reward_multiplier": 1.4,
|
||||
"deck_suits": [
|
||||
"♠",
|
||||
"♡",
|
||||
"♢",
|
||||
"♣"
|
||||
],
|
||||
"deck_ranks": [
|
||||
"A",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
"5",
|
||||
"6",
|
||||
"7",
|
||||
"8",
|
||||
"9",
|
||||
"10",
|
||||
"J",
|
||||
"Q",
|
||||
"K"
|
||||
]
|
||||
},
|
||||
"slots": {
|
||||
"emotes": {
|
||||
"slots_animated_id": 1119262805309259776,
|
||||
"slots_0_id": 1119262803816095825,
|
||||
"slots_1_id": 1119262801261760592,
|
||||
"slots_2_id": 1119262800049614939,
|
||||
"slots_3_id": 1119262796497039510,
|
||||
"slots_4_id": 1119262794676715681,
|
||||
"slots_5_id": 1119262792386621555,
|
||||
"slots_6_id": 1119262791061229669,
|
||||
"S_Wide": 1119286730302955651,
|
||||
"L_Wide": 1119286763802857533,
|
||||
"O_Wide": 1119286787169329203,
|
||||
"T_Wide": 1119286804634406942,
|
||||
"CBorderBLeft": 1119286973572595712,
|
||||
"CBorderBRight": 1119286918459445408,
|
||||
"CBorderTLeft": 1119287006464331806,
|
||||
"CBorderTRight": 1119286865284051035,
|
||||
"HBorderB": 1119286936155213835,
|
||||
"HBorderT": 1119287027662344322,
|
||||
"VBorder": 1119286889854279680,
|
||||
"WSmall": 1119288536282173490,
|
||||
"ISmall": 1119288552673517608,
|
||||
"NSmall": 1119288579382857830,
|
||||
"LCentered": 1119287296127156325,
|
||||
"OCentered": 1119287563245584394,
|
||||
"SCentered": 1119287327588634647,
|
||||
"ECentered": 1119287343833165945,
|
||||
"Blank": 1119287267001905283,
|
||||
"lost": 1119288454212243607
|
||||
},
|
||||
"reward_multipliers": {
|
||||
"pair": 1.5,
|
||||
"three_of_a_kind": 4,
|
||||
"three_diamonds": 6,
|
||||
"jackpot": 15
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
import json
|
||||
|
||||
|
||||
class JsonCache:
|
||||
_cache = {}
|
||||
|
||||
@staticmethod
|
||||
def read_json(path):
|
||||
"""Read and cache the JSON data if not already cached."""
|
||||
if path not in JsonCache._cache:
|
||||
with open(f"config/JSON/{path}.json") as file:
|
||||
JsonCache._cache[path] = json.load(file)
|
||||
|
||||
return JsonCache._cache[path]
|
182
lib/constants.py
182
lib/constants.py
|
@ -1,102 +1,120 @@
|
|||
import os
|
||||
from typing import Optional, Set
|
||||
from typing import Optional, Set, List, Dict
|
||||
import yaml
|
||||
import json
|
||||
|
||||
from config.parser import JsonCache
|
||||
|
||||
class _parser:
|
||||
_yaml_cache = {}
|
||||
_json_cache = {}
|
||||
|
||||
def read_yaml(self, path):
|
||||
if path not in _parser._cache:
|
||||
with open(f"settings/{path}.yaml") as file:
|
||||
_parser._cache[path] = yaml.safe_load(file)
|
||||
|
||||
return _parser._yaml_cache[path]
|
||||
|
||||
def read_json(self, path):
|
||||
if path not in _parser._cache:
|
||||
with open(f"settings/responses/{path}.json") as file:
|
||||
_parser._cache[path] = json.load(file)
|
||||
|
||||
return _parser._json_cache[path]
|
||||
|
||||
|
||||
class Constants:
|
||||
# JSON raw
|
||||
ART = JsonCache.read_json("art")
|
||||
RESOURCES = JsonCache.read_json("resources")
|
||||
LEVEL_MESSAGES = JsonCache.read_json("levels")
|
||||
_p = _parser()
|
||||
_settings = _p.read_yaml("settings")
|
||||
|
||||
# metadata
|
||||
TITLE = "Luminara"
|
||||
AUTHOR = "wlinator"
|
||||
LICENSE = "GNU General Public License v3.0"
|
||||
VERSION = "2.8.12" # "Refactor Blackjack" update
|
||||
|
||||
# bot credentials
|
||||
TOKEN: Optional[str] = os.environ.get("TOKEN", None)
|
||||
INSTANCE: Optional[str] = os.environ.get("INSTANCE", None)
|
||||
# bot credentials (.env file)
|
||||
TOKEN: Optional[str] = os.environ.get("TOKEN")
|
||||
INSTANCE: Optional[str] = os.environ.get("INSTANCE")
|
||||
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")
|
||||
DBX_APP_KEY: Optional[str] = os.environ.get("DBX_APP_KEY")
|
||||
DBX_APP_SECRET: Optional[str] = os.environ.get("DBX_APP_SECRET")
|
||||
MARIADB_USER: Optional[str] = os.environ.get("MARIADB_USER")
|
||||
MARIADB_PASSWORD: Optional[str] = os.environ.get("MARIADB_PASSWORD")
|
||||
MARIADB_ROOT_PASSWORD: Optional[str] = os.environ.get("MARIADB_ROOT_PASSWORD")
|
||||
MARIADB_DATABASE: Optional[str] = os.environ.get("MARIADB_DATABASE")
|
||||
|
||||
OWNER_IDS: Optional[Set[int]] = (
|
||||
{int(id.strip()) for id in os.environ.get("OWNER_IDS", "").split(",") if id}
|
||||
if os.environ.get("OWNER_IDS")
|
||||
if "OWNER_IDS" in os.environ
|
||||
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))
|
||||
# metadata
|
||||
TITLE: str = _settings["info"]["title"]
|
||||
AUTHOR: str = _settings["info"]["author"]
|
||||
LICENSE: str = _settings["info"]["license"]
|
||||
VERSION: str = _settings["info"]["version"]
|
||||
REPOSITORY_URL: str = _settings["info"]["repository_url"]
|
||||
|
||||
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)
|
||||
|
||||
# config
|
||||
ALLOWED_IMAGE_EXTENSIONS = (".jpg", ".png")
|
||||
|
||||
# emotes
|
||||
EMOTES_GUILD_ID = 1038051105642401812
|
||||
|
||||
# color scheme
|
||||
COLOR_DEFAULT = 0xFF8C00
|
||||
COLOR_WARNING = 0xFF7600
|
||||
COLOR_ERROR = 0xFF4500
|
||||
|
||||
# strings
|
||||
STRINGS = JsonCache.read_json("strings")
|
||||
|
||||
# repository
|
||||
REPO_URL = "https://git.wlinator.org/Luminara/Lumi"
|
||||
INVITE_LINK = "https://discord.com/oauth2/authorize?client_id=1038050427272429588&permissions=8&scope=bot"
|
||||
|
||||
# KRC
|
||||
KRC_GUILD_ID: int = 719227135151046699
|
||||
KRC_INTRO_CHANNEL_ID: int = 973619250507972618
|
||||
KRC_QUESTION_MAPPING: dict[str, str] = RESOURCES["guild_specific"][
|
||||
"question_mapping"
|
||||
# images
|
||||
ALLOWED_IMAGE_EXTENSIONS: List[str] = _settings["images"][
|
||||
"allowed_image_extensions"
|
||||
]
|
||||
BIRTHDAY_GIF_URL: str = _settings["images"]["birthday_gif_url"]
|
||||
|
||||
# logo
|
||||
LUMI_LOGO_TRANSPARENT = ART["logo"]["transparent"]
|
||||
LUMI_LOGO_OPAQUE = ART["logo"]["opaque"]
|
||||
|
||||
# icons art
|
||||
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"]
|
||||
|
||||
# art by JuicyBblue
|
||||
FLOWERS_ART = ART["juicybblue"]["flowers"]
|
||||
TEAPOT_ART = ART["juicybblue"]["teapot"]
|
||||
MUFFIN_ART = ART["juicybblue"]["muffin"]
|
||||
|
||||
# other art
|
||||
CLOUD_ART = ART["other"]["cloud"]
|
||||
TROPHY_ART = ART["other"]["trophy"]
|
||||
|
||||
# birthdays
|
||||
BIRTHDAY_MESSAGES = JsonCache.read_json("birthday")["birthday_messages"]
|
||||
BIRTHDAY_MONTHS = JsonCache.read_json("birthday")["months"]
|
||||
BIRTHDAY_GIF_URL = "https://media1.tenor.com/m/NXvU9jbBUGMAAAAC/fireworks.gif"
|
||||
# colors
|
||||
COLOR_DEFAULT: int = _settings["colors"]["color_default"]
|
||||
COLOR_WARNING: int = _settings["colors"]["color_warning"]
|
||||
COLOR_ERROR: int = _settings["colors"]["color_error"]
|
||||
|
||||
# economy
|
||||
DAILY_REWARD = RESOURCES["daily_reward"]
|
||||
SLOTS = RESOURCES["slots"]
|
||||
BLACKJACK = RESOURCES["blackjack"]
|
||||
DAILY_REWARD: int = _settings["economy"]["daily_reward"]
|
||||
BLACKJACK_MULTIPLIER: float = _settings["economy"]["blackjack_multiplier"]
|
||||
SLOTS_MULTIPLIERS: Dict[str, float] = _settings["economy"]["slots_multipliers"]
|
||||
|
||||
# art from git repository
|
||||
_fetch_url: str = _settings["fetch_url"]
|
||||
|
||||
LOGO_OPAQUE: str = _fetch_url + _settings["logo"]["opaque"]
|
||||
LOGO_TRANSPARENT: str = _fetch_url + _settings["logo"]["transparent"]
|
||||
ICONS_BOOST: str = _fetch_url + _settings["icons"]["boost"]
|
||||
ICONS_CHECK: str = _fetch_url + _settings["icons"]["check"]
|
||||
ICONS_CROSS: str = _fetch_url + _settings["icons"]["cross"]
|
||||
ICONS_EXCLAIM: str = _fetch_url + _settings["icons"]["exclaim"]
|
||||
ICONS_HAMMER: str = _fetch_url + _settings["icons"]["hammer"]
|
||||
ICONS_MONEY_BAG: str = _fetch_url + _settings["icons"]["money_bag"]
|
||||
ICONS_MONEY_COINS: str = _fetch_url + _settings["icons"]["money_coins"]
|
||||
ICONS_QUESTION: str = _fetch_url + _settings["icons"]["question"]
|
||||
ICONS_STREAK: str = _fetch_url + _settings["icons"]["streak"]
|
||||
ICONS_STREAK_BRONZE: str = _fetch_url + _settings["icons"]["streak_bronze"]
|
||||
ICONS_STREAK_GOLD: str = _fetch_url + _settings["icons"]["streak_gold"]
|
||||
ICONS_STREAK_SILVER: str = _fetch_url + _settings["icons"]["streak_silver"]
|
||||
ICONS_WARNING: str = _fetch_url + _settings["icons"]["warning"]
|
||||
JUICYBBLUE_FLOWERS: str = _fetch_url + _settings["juicybblue"]["flowers"]
|
||||
JUICYBBLUE_TEAPOT: str = _fetch_url + _settings["juicybblue"]["teapot"]
|
||||
JUICYBBLUE_MUFFIN: str = _fetch_url + _settings["juicybblue"]["muffin"]
|
||||
|
||||
# art from imgur
|
||||
IMGUR_CLOUD: str = _settings["other"]["cloud"]
|
||||
IMGUR_TROPHY: str = _settings["other"]["trophy"]
|
||||
|
||||
# emotes
|
||||
EMOTES_SERVER_ID: int = _settings["emotes"]["guild_id"]
|
||||
EMOTE_IDS: Dict[str, int] = _settings["emotes"]["emote_ids"]
|
||||
|
||||
# introductions (currently only usable in ONE guild)
|
||||
INTRODUCTIONS_GUILD_ID: int = _settings["introductions"]["intro_guild_id"]
|
||||
INTRODUCTIONS_CHANNEL_ID: int = _settings["introductions"]["intro_channel_id"]
|
||||
INTRODUCTIONS_QUESTION_MAPPING: Dict[str, str] = _settings["introductions"][
|
||||
"intro_question_mapping"
|
||||
]
|
||||
|
||||
# Response strings
|
||||
# TODO: Implement switching between languages
|
||||
STRINGS = _parser().read_json("responses/strings.en-US")
|
||||
LEVEL_MESSAGES = _parser().read_json("responses/levels.en-US")
|
||||
|
||||
# birthday messages
|
||||
_bday = _parser().read_json("responses/bdays.en-US")
|
||||
BIRTHDAY_MESSAGES = _bday["birthday_messages"]
|
||||
BIRTHDAY_MONTHS = _bday["months"]
|
||||
|
||||
|
||||
CONST = Constants()
|
||||
|
|
|
@ -1,73 +0,0 @@
|
|||
months:
|
||||
- January
|
||||
- February
|
||||
- March
|
||||
- April
|
||||
- May
|
||||
- June
|
||||
- July
|
||||
- August
|
||||
- September
|
||||
- October
|
||||
- November
|
||||
- December
|
||||
|
||||
birthday_messages:
|
||||
- "🎂 Happy Birthday, **{0}**! 🎉 Wishing you a day filled with joy and laughter."
|
||||
- "🎈 It's party time! Happy Birthday, **{0}**! 🎉"
|
||||
- "🎉 Another year older, another year wiser! Happy Birthday, **{0}**! 🎂"
|
||||
- "🌟 Today's the day you shine brighter than ever! Happy Birthday, **{0}**! 🌟"
|
||||
- "🎁 Special day alert! It's **{0}**'s birthday! 🎁"
|
||||
- "🎊 Hip, hip, hooray! It's **{0}**'s birthday today! 🎊"
|
||||
- "🎂 Cake and confetti time! Happy Birthday, **{0}**! 🎉"
|
||||
- "🌈 Sending you a rainbow of happiness on your birthday, **{0}**! 🎈"
|
||||
- "🎉 Let's raise a toast to **{0}** on their birthday! Cheers to another fantastic year! 🥂"
|
||||
- "🎈 Birthdays are like sprinkles on the cupcake of life! Happy Birthday, **{0}**! 🧁"
|
||||
- "🎁 Gift-wrapped wishes for a wonderful birthday and an amazing year ahead, **{0}**! 🎁"
|
||||
- "🎊 Time to blow out the candles and make a wish! Happy Birthday, **{0}**! 🎂"
|
||||
- "🌟 It's your day to sparkle and shine, **{0}**! Happy Birthday! ✨"
|
||||
- "🎈 May your birthday be as fabulous as you are, **{0}**! 🎉"
|
||||
- "🎉 Here's to a year filled with success, happiness, and endless opportunities for **{0}**! Happy Birthday! 🥳"
|
||||
- "🎁 Wishing **{0}** all the best on their special day! Happy Birthday! 🎁"
|
||||
- "🎊 Another year of unforgettable memories begins today for **{0}**! Happy Birthday! 🎊"
|
||||
- "🌟 Your birthday is the perfect excuse to pamper yourself, **{0}**! Enjoy your special day! 🎈"
|
||||
- "🎂 Age is just a number, and you're looking more fabulous with each passing year, **{0}**! Happy Birthday! 💕"
|
||||
- "🎉 Today, we celebrate the amazing person you are, **{0}**! Happy Birthday! 🎂"
|
||||
- "🎈 Life's journey gets even more exciting as **{0}** celebrates another year of it! Happy Birthday! 🎉"
|
||||
- "🌟 Happy Birthday to someone who makes every day brighter with their presence, **{0}**! 🌞"
|
||||
- "🎁 May this birthday be the beginning of the most extraordinary year yet for **{0}**! 🚀"
|
||||
- "🎊 Birthdays are nature's way of telling us to eat more cake! Enjoy your special treat, **{0}**! 🍰"
|
||||
- "🎉 Time to pop the confetti and make some fabulous birthday memories, **{0}**! 🎂"
|
||||
- "🎈 Today, the world received a gift in the form of **{0}**! Happy Birthday! 🎉"
|
||||
- "🌟 Wishing **{0}** health, happiness, and all the things they desire on their birthday! 🎁"
|
||||
- "🎂 Cheers to **{0}** on another year of being amazing! Happy Birthday! 🎉"
|
||||
- "🎉 It's **{0}**'s big day, so let loose and enjoy every moment! Happy Birthday! 🎊"
|
||||
- "🎈 Sending virtual hugs and lots of love to **{0}** on their special day! 🤗❤️"
|
||||
- "🌟 On your birthday, the world becomes a better place because of your presence, **{0}**! 🎉"
|
||||
- "🎁 As you blow out the candles, know that your wishes are heard and your dreams matter. Happy Birthday, **{0}**! 🌠"
|
||||
- "🎊 Here's to a birthday filled with laughter, love, and all the things that make you happy, **{0}**! Cheers! 🥂"
|
||||
- "🎂 May your birthday be filled with delightful surprises and sweet moments, **{0}**! Enjoy your special day! 🎈"
|
||||
- "🎉 It's time for the world to celebrate the incredible person that is **{0}**! Happy Birthday! 🎊"
|
||||
- "🎈 Another year, another chapter in the adventure of life for **{0}**! May this year be full of excitement and joy! 🌟"
|
||||
- "🌟 May this birthday mark the beginning of extraordinary achievements and unforgettable memories for **{0}**! 🎁"
|
||||
- "🎂 Here's to a birthday filled with love, happiness, and all the good things you deserve, **{0}**! 🎉"
|
||||
- "🎉 Sending virtual confetti and a big smile to **{0}** on their birthday! Let's celebrate! 🎈"
|
||||
- "🎈 Time to indulge in cake and celebrate the wonderful human that is **{0}**! Happy Birthday! 🎂"
|
||||
- "🎊 Today, we honor the amazing journey of **{0}**'s life! Happy Birthday! 🌟"
|
||||
- "🌟 Birthdays are a time for reflection, growth, and gratitude. Wishing **{0}** a wonderful birthday and year ahead! 🎁"
|
||||
- "🎁 Another trip around the sun calls for a big celebration! Happy Birthday, **{0}**! 🎉"
|
||||
- "🎂 As you blow out the candles, know that you are loved and cherished, **{0}**! Happy Birthday! 🎈"
|
||||
- "🎉 It's a new age and a new opportunity to shine, **{0}**! May this year be your best yet! 🌟"
|
||||
- "🎈 On your special day, may you be surrounded by love, happiness, and everything that brings you joy, **{0}**! 🎂"
|
||||
- "🌟 Today, we celebrate **{0}** and the unique light they bring into the world! Happy Birthday! 🎉"
|
||||
- "🎁 Wishing a fantastic birthday to the one and only **{0}**! May this day be filled with laughter and love! 🎈"
|
||||
- "🎊 May your birthday be as extraordinary as the person you are, **{0}**! Cheers to you! 🥳"
|
||||
- "🎂 You're not just a year older; you're a year more incredible! Happy Birthday, **{0}**! 🌟"
|
||||
- "🎉 It's time to embrace the joy, love, and happiness that come with birthdays! Enjoy every moment, **{0}**! 🎈"
|
||||
- "🎈 Another year, another chance to create beautiful memories. Happy Birthday, **{0}**! 🎂"
|
||||
- "🌟 Your birthday is a reminder of how much you mean to all of us! Wishing you the best day ever, **{0}**! 🎁"
|
||||
- "🎁 Sending warm birthday wishes and virtual hugs to **{0}** on their special day! 🤗❤️"
|
||||
- "🎉 Today, we celebrate the unique and wonderful person that is **{0}**! Happy Birthday! 🎂"
|
||||
- "🎈 Here's to a birthday filled with laughter, love, and all the things that make you smile, **{0}**! 🌟"
|
||||
- "🎊 It's a day to be spoiled and celebrated, **{0}**! Wishing you the happiest of birthdays! 🎁"
|
||||
- "🎂 As you turn another year older, know that you are loved and cherished, **{0}**! Happy Birthday! 🎉"
|
|
@ -1,90 +0,0 @@
|
|||
---
|
||||
0-10:
|
||||
- Behold, you've reached **Level {}**. Let's all try not to yawn too loudly.
|
||||
- Congratulations on reaching **Level {}**. It's like leveling up, but without the
|
||||
fanfare.
|
||||
- Congrats on reaching **Level {}**, you're slowly but surely ascending the ladder
|
||||
of "success"...
|
||||
- Rejoice! You reached **Level {}**. It's time to throw a party with a side of meh.
|
||||
- You've reached **Level {}**, where the bar is set low and the excitement is mild.
|
||||
- Welcome to **Level {}**, the land of marginal achievements and faint praise.
|
||||
- It's time to celebrate! You've unlocked the 'Slightly Better Than Before' achievement
|
||||
at **Level {}**.
|
||||
- Congratulations on your promotion to **Level {}**. It's like climbing a tiny hill.
|
||||
- At **Level {}**, you're steadily inching closer to the realm of almost impressive.
|
||||
- You reached **Level {}**! Get ready for a ripple of apathetic applause.
|
||||
- Alert! You reached **Level {}**. Don't worry, it's not that exciting.
|
||||
- Rumor has it that reaching **Level {}** grants you the ability to mildly impress
|
||||
others.
|
||||
- You got to **Level {}**! Prepare for a slightly raised eyebrow of acknowledgement.
|
||||
- Congratulations on reaching **Level {}**. It's a modest achievement, to say the
|
||||
least.
|
||||
- "Congratulations on **Level {}**! You must be SO proud of yourself. \U0001F644"
|
||||
- You've reached **Level {}**! Your achievement is about as significant as a grain
|
||||
of sand.
|
||||
- Congratulations on your ascent to **Level {}**. It's a small step for mankind.
|
||||
- At **Level {}**, you're like a firework that fizzles out before it even begins.
|
||||
- Oh, you've reached **Level {}**? Maybe it's time to see the sunlight.
|
||||
- Wow, **Level {}**! How's the weather in your mom's basement?
|
||||
- You've reached **Level {}**. Now go reach for a job application.
|
||||
- Look at you, **Level {}**. You're really climbing that ladder to nowhere.
|
||||
- You've hit **Level {}**. Your keyboard must be thrilled.
|
||||
- Congrats on **Level {}**. Your social life, however, remains at Level 0.
|
||||
- You've reached **Level {}**. But remember, in the game of life, you're still a beginner.
|
||||
- You're now **Level {}**. I'd say 'get a life', but clearly, you've chosen Discord
|
||||
instead.
|
||||
- "You've achieved **Level {}**. Achievement unlocked: Professional Procrastinator."
|
||||
- You're at **Level {}**. Do you also level up in avoiding responsibilities?
|
||||
- You've reached **Level {}**. If only leveling up in real life was this easy, huh?
|
||||
- You're now **Level {}**. If only your productivity levels matched your Lumi level.
|
||||
11-20:
|
||||
- Congratulations motherfucker you leveled the fuck up to **Level {}**.
|
||||
- levle **{}** cmoning in! Let's celbraet!
|
||||
- yay you reach the level **{}** waw you are so cool many time
|
||||
- reached **Level {}** but you'll never get on MY level HAAHAHAHAHA
|
||||
- "*elevator music* Welcome to **level {}**."
|
||||
21-40:
|
||||
- "**Level {}** \U0001F44D"
|
||||
- Look who's slacking off work to level up on Discord. **Level {}** and counting!
|
||||
- "**Level {}**? Have you considered that there might be an entire world outside of
|
||||
Discord?"
|
||||
- Wow, you've climbed to **level {}**. Is Discord your full-time job now?
|
||||
- Oh look, it's **level {}**! Are you sure you're not secretly a bot in disguise?
|
||||
- You've reached **level {}**. I hope you're using your Discord powers for good and
|
||||
not just spamming memes.
|
||||
- "**Level {}** and still going strong. Who needs a social life when you have Discord,
|
||||
right?"
|
||||
- Congratulations on leveling up to **level {}**. I hope Discord gives you a lifetime
|
||||
supply of virtual cookies.
|
||||
- Look who's made it to **level {}**. I'm starting to think you're more Discord than
|
||||
human.
|
||||
- Wow, **level {}**! Do you ever wonder if Discord should be paying you a salary at
|
||||
this point?
|
||||
- Congratulations on reaching **level {}**. Your dedication to Discord is both awe-inspiring
|
||||
and mildly concerning.
|
||||
- "**Level {}**? I bet you have more Discord badges than real-life achievements."
|
||||
41-60:
|
||||
- Well, well, well, **level {}**. Your Discord addiction is reaching legendary status.
|
||||
- "**Level {}**. If you don't stop leveling up, I might have to stage an intervention.
|
||||
Discord addiction is real!"
|
||||
- You've reached **Level {}**. Stop. Just stop. You've had enough of this app. Go
|
||||
away.
|
||||
- Oh, look who's flexing their **Level {}** status. Don't strain a muscle.
|
||||
- Congratulations on reaching **Level {}**. Are you trying to make the rest of us
|
||||
feel inadequate?
|
||||
- Hats off to **Level {}**. Your dedication is truly admirable... or slightly concerning.
|
||||
- Are you okay...? **Level {}** is seriously unhealthy bro. Sleep.
|
||||
- "STOP. LEVELING. LEAVE. ME. ALONE. Here's your damn level: **{}**"
|
||||
- HAS REACHED **LEVEL {}**, FUCK YEAH.
|
||||
- "**Level {}**. The second-hand embarrassment is real."
|
||||
61-100000:
|
||||
- Lol it took you this long to reach **Level {}**.
|
||||
- "**{}**."
|
||||
- "**Level {}**???? Who are you? Gear?"
|
||||
- "Yay you reached **Level {}**!! :3 UwU \U0001F98B \U0001F5A4 (nobody cares)"
|
||||
- Conragulasions your level **{}** now.
|
||||
- Hey man congrats on reaching **Level {}**. I mean it. GG.
|
||||
- You reached **Level {}**!! What's it like being a loser?
|
||||
- "**Level {}**. BIG IF TRUE."
|
||||
- CONGRATIONS LEVE **{}**
|
||||
- Hahahahahahahahahhahahahaahahah. **Level {}**.
|
|
@ -1,404 +0,0 @@
|
|||
---
|
||||
admin_award_description: awarded **${0}** to {1}.
|
||||
admin_award_title: Awarded Currency
|
||||
admin_blacklist_author: User Blacklisted
|
||||
admin_blacklist_description: user `{0}` has been blacklisted from Luminara.
|
||||
admin_blacklist_footer:
|
||||
There is no process to reinstate a blacklisted user. Appeals
|
||||
are not considered.
|
||||
admin_sql_inject_description: |-
|
||||
```sql
|
||||
{0}
|
||||
```
|
||||
admin_sql_inject_error_description: |-
|
||||
```sql
|
||||
{0}
|
||||
```
|
||||
```
|
||||
{1}
|
||||
```
|
||||
admin_sql_inject_error_title: SQL Query Error
|
||||
admin_sql_inject_title: SQL Query Executed
|
||||
admin_sql_select_description: |-
|
||||
```sql
|
||||
SELECT {0}
|
||||
```
|
||||
```
|
||||
{1}
|
||||
```
|
||||
admin_sql_select_error_description: |-
|
||||
```sql
|
||||
SELECT {0}
|
||||
```
|
||||
```
|
||||
{1}
|
||||
```
|
||||
admin_sql_select_error_title: SQL Select Query Error
|
||||
admin_sql_select_title: SQL Select Query
|
||||
admin_sync_description: command tree synced successfully.
|
||||
admin_sync_error_description: "An error occurred while syncing: {0}"
|
||||
admin_sync_error_title: Sync Error
|
||||
admin_sync_title: Sync Successful
|
||||
bet_limit: "❌ | **{0}** you cannot place any bets above **${1}**."
|
||||
birthday_add_invalid_date: The date you entered is invalid.
|
||||
birthday_add_success_author: Birthday Set
|
||||
birthday_add_success_description: your birthday has been set to **{0} {1}**.
|
||||
birthday_check_error:
|
||||
Birthday announcement skipped processing user/guild {0}/{1}
|
||||
| {2}
|
||||
birthday_check_finished:
|
||||
Daily birthday check finished. {0} birthdays processed. {1}
|
||||
birthdays failed.
|
||||
birthday_check_skipped:
|
||||
"Birthday announcements in guild with ID {0} skipped: no birthday
|
||||
channel."
|
||||
birthday_check_started: Daily birthday check started.
|
||||
birthday_check_success: "Birthday announcement Success! user/guild/chan ID: {0}/{1}/{2}"
|
||||
birthday_delete_success_author: Birthday Deleted
|
||||
birthday_delete_success_description: your birthday has been deleted from this server.
|
||||
birthday_leap_year: February 29
|
||||
birthday_upcoming_author: Upcoming Birthdays!
|
||||
birthday_upcoming_description_line: "\U0001F382 {0} - {1}"
|
||||
birthday_upcoming_no_birthdays: there are no upcoming birthdays in this server.
|
||||
birthday_upcoming_no_birthdays_author: No Upcoming Birthdays
|
||||
blackjack_bet: Bet ${0}
|
||||
blackjack_busted: Busted..
|
||||
blackjack_dealer_busted: The dealer busted. You won!
|
||||
blackjack_dealer_hand: |-
|
||||
**Dealer**
|
||||
Score: {0}
|
||||
*Hand: {1}*
|
||||
blackjack_dealer_hidden: "??"
|
||||
blackjack_deck_shuffled: deck shuffled
|
||||
blackjack_description: |-
|
||||
You | Score: {0}
|
||||
Dealer | Score: {1}
|
||||
blackjack_error: I.. don't know if you won?
|
||||
blackjack_error_description: This is an error, please report it.
|
||||
blackjack_footer: Game finished
|
||||
blackjack_lost: You lost **${0}**.
|
||||
blackjack_lost_generic: You lost..
|
||||
blackjack_player_hand: |-
|
||||
**You**
|
||||
Score: {0}
|
||||
*Hand: {1}*
|
||||
blackjack_title: BlackJack
|
||||
blackjack_won_21: You won with a score of 21!
|
||||
blackjack_won_natural: You won with a natural hand!
|
||||
blackjack_won_payout: You won **${0}**.
|
||||
boost_default_description: Thanks for boosting, **{0}**!!
|
||||
boost_default_title: New Booster
|
||||
case_case_field: "Case:"
|
||||
case_case_field_value: "`{0}`"
|
||||
case_duration_field: "Duration:"
|
||||
case_duration_field_value: "`{0}`"
|
||||
case_guild_cases_author: All Cases in this Server
|
||||
case_guild_no_cases: this server doesn't have any mod cases yet.
|
||||
case_guild_no_cases_author: No Mod Cases
|
||||
case_mod_cases_author: Cases by Moderator ({0})
|
||||
case_mod_no_cases: this user has not handled any cases in this server.
|
||||
case_mod_no_cases_author: No Mod Cases
|
||||
case_moderator_field: "Moderator:"
|
||||
case_moderator_field_value: "`{0}`"
|
||||
case_new_case_author: New Case
|
||||
case_reason_field: "Reason:"
|
||||
case_reason_field_value: "`{0}`"
|
||||
case_reason_update_author: Case Reason Updated
|
||||
case_reason_update_description: case `{0}` reason has been updated.
|
||||
case_target_field: "Target:"
|
||||
case_target_field_value: "`{0}` \U0001F3AF"
|
||||
case_type_field: "Type:"
|
||||
case_type_field_value: "`{0}`"
|
||||
case_type_field_value_with_duration: "`{0} ({1})`"
|
||||
config_author: Server Configuration
|
||||
config_birthday_channel_set: birthday announcements will be sent in {0}.
|
||||
config_birthday_module_already_disabled: the birthday module was already disabled.
|
||||
config_birthday_module_disabled: the birthday module was successfully disabled.
|
||||
config_boost_channel_set: boost announcements will be sent in {0}.
|
||||
config_boost_image_field: "New Image URL:"
|
||||
config_boost_image_original: Original (default)
|
||||
config_boost_image_updated: the boost image has been updated.
|
||||
config_boost_module_already_disabled: the boost module was already disabled.
|
||||
config_boost_module_disabled: the boost module was successfully disabled.
|
||||
config_boost_template_field: "New Template:"
|
||||
config_boost_template_updated: the boost message template has been updated.
|
||||
config_example_next_footer: An example will be sent next.
|
||||
config_level_channel_set: all level announcements will be sent in {0}.
|
||||
config_level_current_channel_set:
|
||||
members will receive level announcements in their
|
||||
current channel.
|
||||
config_level_module_already_enabled: the Lumi XP system was already enabled.
|
||||
config_level_module_disabled: the Lumi XP system was successfully disabled.
|
||||
config_level_module_disabled_warning:
|
||||
"Warning: this module is disabled, please do
|
||||
'/config levels enable'"
|
||||
config_level_module_enabled: the Lumi XP system was successfully enabled.
|
||||
config_level_template: "Template:"
|
||||
config_level_template_updated: the level template was successfully updated.
|
||||
config_level_type_example: "Example:"
|
||||
config_level_type_generic: level announcements will be **generic messages**.
|
||||
config_level_type_generic_example:
|
||||
"\U0001F4C8 | **lucas** you have reached **Level
|
||||
15**."
|
||||
config_level_type_whimsical: level announcements will be **sarcastic comments**.
|
||||
config_level_type_whimsical_example:
|
||||
"\U0001F4C8 | **lucas** Lol it took you this
|
||||
long to reach **Level 15**."
|
||||
config_modlog_channel_set: moderation logs will be sent in {0}.
|
||||
config_modlog_info_author: Moderation Log Configuration
|
||||
config_modlog_info_commands_name: "\U0001F4D6 Case commands"
|
||||
config_modlog_info_commands_value: |-
|
||||
`/cases` - View all cases in this server
|
||||
`/case <case_id>` - View a specific case
|
||||
`/editcase <case_id> <new_reason>` - Update a case reason
|
||||
config_modlog_info_description:
|
||||
This channel has been set as the moderation log channel
|
||||
for **{0}**. All moderation actions issued with Lumi will be logged here as cases.
|
||||
config_modlog_info_warning_name: "⚠️ Warning"
|
||||
config_modlog_info_warning_value:
|
||||
Changing the mod-log channel in the future will
|
||||
make old cases uneditable in this channel.
|
||||
config_modlog_permission_error:
|
||||
I don't have perms to send messages in that channel.
|
||||
Please fix & try again.
|
||||
config_prefix_get: the current prefix for this server is `{0}`
|
||||
config_prefix_set: the prefix has been set to `{0}`
|
||||
config_prefix_too_long: the prefix must be 25 characters or less.
|
||||
config_show_author: "{0} Configuration"
|
||||
config_show_birthdays: Birthdays
|
||||
config_show_boost_announcements: Boost announcements
|
||||
config_show_default_enabled: "✅ Enabled (default)"
|
||||
config_show_disabled: "❌ Disabled"
|
||||
config_show_enabled: "✅ Enabled"
|
||||
config_show_guide: "Guide: {0}"
|
||||
config_show_level_announcements: Level announcements
|
||||
config_show_moderation_log: Moderation Log
|
||||
config_show_moderation_log_channel_deleted: "⚠️ **Not configured** (channel deleted?)"
|
||||
config_show_moderation_log_enabled: "✅ {0}"
|
||||
config_show_moderation_log_not_configured: "⚠️ **Not configured yet**"
|
||||
config_show_new_member_greets: New member greets
|
||||
config_welcome_channel_set: I will announce new members in {0}.
|
||||
config_welcome_module_already_disabled: the greeting module was already disabled.
|
||||
config_welcome_module_disabled: the greeting module was successfully disabled.
|
||||
config_welcome_template_field: "New Template:"
|
||||
config_welcome_template_updated: the welcome message template has been updated.
|
||||
daily_already_claimed_author: Already Claimed
|
||||
daily_already_claimed_description: you can claim your daily reward again <t:{0}:R>.
|
||||
daily_already_claimed_footer: Daily reset is at 7 AM EST
|
||||
daily_streak_footer: You're on a streak of {0} days
|
||||
daily_success_claim_author: Reward Claimed
|
||||
daily_success_claim_description: you claimed your reward of **${0}**!
|
||||
default_level_up_message: "**{0}** you have reached **Level {1}**."
|
||||
error_actionable_hierarchy_bot:
|
||||
I don't have permission to perform this action on
|
||||
this user due to role hierarchy.
|
||||
error_actionable_hierarchy_user:
|
||||
you don't have permission to perform this action
|
||||
on this user due to role hierarchy.
|
||||
error_actionable_self: you can't perform this action on yourself.
|
||||
error_already_playing_blackjack: you already have a game of blackjack running.
|
||||
error_bad_argument_author: Bad Argument
|
||||
error_bad_argument_description: "{0}"
|
||||
error_birthdays_disabled_author: Birthdays Disabled
|
||||
error_birthdays_disabled_description: birthdays are disabled in this server.
|
||||
error_birthdays_disabled_footer: Contact a mod to enable them.
|
||||
error_blackjack_game_error: something went wrong while playing blackjack.
|
||||
error_boost_image_url_invalid: the image URL must end with `.jpg` or `.png`.
|
||||
error_bot_missing_permissions_author: Bot Missing Permissions
|
||||
error_bot_missing_permissions_description:
|
||||
Lumi lacks the required permissions to
|
||||
run this command.
|
||||
error_command_cooldown_author: Command Cooldown
|
||||
error_command_cooldown_description: try again in **{0:02d}:{1:02d}**.
|
||||
error_command_not_found: No command called "{0}" found.
|
||||
error_image_url_invalid: invalid image URL.
|
||||
error_invalid_bet: the bet you entered is invalid.
|
||||
error_invalid_duration: "Invalid duration: {0}"
|
||||
error_invalid_duration_author: Invalid Duration
|
||||
error_invalid_duration_description:
|
||||
Please provide a valid duration between 1 minute
|
||||
and 30 days.
|
||||
error_lumi_exception_author: Lumi Exception
|
||||
error_lumi_exception_description: "{0}"
|
||||
error_missing_permissions_author: Missing Permissions
|
||||
error_missing_permissions_description:
|
||||
you lack the required permissions to run this
|
||||
command.
|
||||
error_no_case_found_author: Case Not Found
|
||||
error_no_case_found_description: no case found with that ID.
|
||||
error_no_private_message_author: Guild Only
|
||||
error_no_private_message_description: this command can only be used in servers.
|
||||
error_not_enough_cash: you don't have enough cash.
|
||||
error_not_owner_author: Owner Only
|
||||
error_not_owner_description: this command requires Lumi ownership permissions.
|
||||
error_out_of_time: you ran out of time.
|
||||
error_out_of_time_economy: you ran out of time. Your bet was forfeited.
|
||||
error_private_message_only_author: Private Message Only
|
||||
error_private_message_only_description: this command can only be used in private messages.
|
||||
error_unknown_error_author: Unknown Error
|
||||
error_unknown_error_description: an unknown error occurred. Please try again later.
|
||||
greet_default_description: |-
|
||||
_ _
|
||||
**Welcome** to **{0}**
|
||||
greet_template_description: |-
|
||||
↓↓↓
|
||||
{0}
|
||||
help_use_prefix: Please use Lumi's prefix to get help. Type `{0}help`
|
||||
info_api_version: "**API:** v{0}\n"
|
||||
info_database_records: "**Database:** {0} records"
|
||||
info_latency: "**Latency:** {0}ms\n"
|
||||
info_memory: "**Memory:** {0:.2f} MB\n"
|
||||
info_service_footer: Info Service
|
||||
info_system: "**System:** {0} ({1})\n"
|
||||
info_uptime: "**Uptime:** <t:{0}:R>\n"
|
||||
intro_content: Introduction by {0}
|
||||
intro_content_footer: Type .intro in my DMs to start
|
||||
intro_no_channel: the introduction channel is not set, please contact a moderator.
|
||||
intro_no_channel_author: Channel Not Set
|
||||
intro_no_guild: you're not in a server that supports introductions.
|
||||
intro_no_guild_author: Server Not Supported
|
||||
intro_post_confirmation: your introduction has been posted in {0}!
|
||||
intro_preview_field: "**{0}:** {1}\n\n"
|
||||
intro_question_footer: Type your answer below.
|
||||
intro_service_name: Introduction Service
|
||||
intro_start:
|
||||
this command will serve as a questionnaire for your entry to {0}. Please
|
||||
keep your answers "PG-13" and don't abuse this command.
|
||||
intro_start_footer: Click the button below to start
|
||||
intro_stopped: the introduction command was stopped.
|
||||
intro_stopped_author: Introduction Stopped
|
||||
intro_timeout: you took too long to answer the question, please try again.
|
||||
intro_timeout_author: Timeout
|
||||
intro_too_long: your answer was too long, please keep it below 200 characters.
|
||||
intro_too_long_author: Answer Too Long
|
||||
invite_button_text: Invite Lumi
|
||||
invite_description: Thanks for inviting me to your server!
|
||||
level_up: "\U0001F4C8 | **{0}** you have reached **Level {1}**."
|
||||
level_up_prefix: "\U0001F4C8 | **{0}** "
|
||||
lumi_exception_blacklisted: User is blacklisted
|
||||
lumi_exception_generic: An error occurred.
|
||||
mod_ban_dm: |-
|
||||
**{0}** you have been banned from `{1}`.
|
||||
|
||||
**Reason:** `{2}`
|
||||
mod_banned_author: User Banned
|
||||
mod_banned_user: user with ID `{0}` has been banned.
|
||||
mod_dm_not_sent: Failed to notify them in DM
|
||||
mod_dm_sent: notified them in DM
|
||||
mod_kick_dm: |-
|
||||
**{0}** you have been kicked from `{1}`.
|
||||
|
||||
**Reason:** `{2}`
|
||||
mod_kicked_author: User Kicked
|
||||
mod_kicked_user: user `{0}` has been kicked.
|
||||
mod_no_reason: No reason provided.
|
||||
mod_not_banned: user with ID `{0}` is not banned.
|
||||
mod_not_banned_author: User Not Banned
|
||||
mod_not_timed_out: user `{0}` is not timed out.
|
||||
mod_not_timed_out_author: User Not Timed Out
|
||||
mod_reason: "Moderator: {0} | Reason: {1}"
|
||||
mod_softban_dm: |-
|
||||
**{0}** you have been softbanned from `{1}`.
|
||||
|
||||
**Reason:** `{2}`
|
||||
mod_softban_unban_reason: Softban by {0}
|
||||
mod_softbanned_author: User Softbanned
|
||||
mod_softbanned_user: user `{0}` has been softbanned.
|
||||
mod_timed_out_author: User Timed Out
|
||||
mod_timed_out_user: user `{0}` has been timed out.
|
||||
mod_timeout_dm: |-
|
||||
**{0}** you have been timed out in `{1}` for `{2}`.
|
||||
|
||||
**Reason:** `{3}`
|
||||
mod_unbanned: user with ID `{0}` has been unbanned.
|
||||
mod_unbanned_author: User Unbanned
|
||||
mod_untimed_out: timeout has been removed for user `{0}`.
|
||||
mod_untimed_out_author: User Timeout Removed
|
||||
mod_warn_dm: |-
|
||||
**{0}** you have been warned in `{1}`.
|
||||
|
||||
**Reason:** `{2}`
|
||||
mod_warned_author: User Warned
|
||||
mod_warned_user: user `{0}` has been warned.
|
||||
ping_author: I'm online!
|
||||
ping_footer: "Latency: {0}ms"
|
||||
ping_pong: Pong!
|
||||
ping_uptime: I've been online since <t:{0}:R>.
|
||||
stats_blackjack:
|
||||
"\U0001F0CF | You've played **{0}** games of BlackJack, betting a
|
||||
total of **${1}**. You won **{2}** of those games with a total payout of **${3}**."
|
||||
stats_slots:
|
||||
"\U0001F3B0 | You've played **{0}** games of Slots, betting a total of
|
||||
**${1}**. Your total payout was **${2}**."
|
||||
trigger_already_exists:
|
||||
Failed to add custom reaction. This text already contains
|
||||
another trigger. To avoid unexpected behavior, please delete it before adding a
|
||||
new one.
|
||||
trigger_limit_reached:
|
||||
Failed to add custom reaction. You have reached the limit of
|
||||
100 custom reactions for this server.
|
||||
triggers_add_author: Custom Reaction Created
|
||||
triggers_add_description: |
|
||||
**Trigger Text:** `{0}`
|
||||
**Reaction Type:** {1}
|
||||
**Full Match:** `{2}`
|
||||
triggers_add_emoji_details: "**Emoji ID:** `{0}`"
|
||||
triggers_add_text_details: "**Response:** `{0}`"
|
||||
triggers_delete_author: Custom Reaction Deleted
|
||||
triggers_delete_description: custom reaction has been successfully deleted.
|
||||
triggers_delete_not_found_author: Custom Reaction Not Found
|
||||
triggers_list_custom_reaction_id: "**ID:** {0}"
|
||||
triggers_list_custom_reactions_title: Custom Reactions
|
||||
triggers_list_emoji_id: "**Emoji ID:** `{0}`"
|
||||
triggers_list_full_match: "**Full Match:** `{0}`"
|
||||
triggers_list_reaction_type: "**Reaction Type:** {0}"
|
||||
triggers_list_response: "**Response:** `{0}`"
|
||||
triggers_list_trigger_text: "**Trigger Text:** `{0}`"
|
||||
triggers_list_usage_count: "**Usage Count:** `{0}`"
|
||||
triggers_no_reactions_description: |-
|
||||
There are no custom reactions set up yet.
|
||||
|
||||
To create a new custom reaction, use the following commands:
|
||||
`/trigger add emoji` - Add a new custom emoji reaction.
|
||||
`/trigger add response` - Add a new custom text reaction.
|
||||
|
||||
**Emoji Reaction:**
|
||||
An emoji reaction will react with a specific emoji when the trigger text is detected.
|
||||
|
||||
**Text Reaction:**
|
||||
A text reaction will respond with a specific text message when the trigger text is detected.
|
||||
triggers_no_reactions_title: No Custom Reactions Found
|
||||
triggers_not_added: failed to add custom reaction. Please try again.
|
||||
triggers_not_deleted: something went wrong while trying to delete this trigger.
|
||||
triggers_not_found: no custom reaction found with the provided ID.
|
||||
triggers_reaction_service_footer: Reaction Service
|
||||
triggers_type_emoji: Emoji
|
||||
triggers_type_text: Text
|
||||
xkcd_description: "[Explainxkcd]({0}) | [Webpage]({1})"
|
||||
xkcd_footer: Xkcd Service
|
||||
xkcd_not_found: failed to fetch this comic.
|
||||
xkcd_not_found_author: Comic Not Found
|
||||
xkcd_title: Xkcd {0} - {1}
|
||||
xp_lb_author: Level Leaderboard
|
||||
xp_lb_cant_use_dropdown: You can't use this menu, it's someone else's.
|
||||
xp_lb_currency_author: Currency Leaderboard
|
||||
xp_lb_currency_field_value: "cash: **${0}**"
|
||||
xp_lb_dailies_author: Daily Streak Leaderboard
|
||||
xp_lb_dailies_field_value: |-
|
||||
highest streak: **{0}**
|
||||
claimed on: `{1}`
|
||||
xp_lb_field_name: "#{0} - {1}"
|
||||
xp_lb_field_value: |-
|
||||
level: **{0}**
|
||||
xp: `{1}/{2}`
|
||||
xp_level: Level {0}
|
||||
xp_progress: Progress to next level
|
||||
xp_server_rank: "Server Rank: #{0}"
|
||||
balance_cash: "**Cash**: ${0}"
|
||||
balance_author: "{0}'s wallet"
|
||||
balance_footer: check out /daily
|
||||
give_error_self: you can't give money to yourself.
|
||||
give_error_bot: you can't give money to a bot.
|
||||
give_error_invalid_amount: invalid amount.
|
||||
give_error_insufficient_funds: you don't have enough cash.
|
||||
give_success: "**{0}** gave **${1}** to {2}."
|
|
@ -10,6 +10,7 @@ images:
|
|||
allowed_image_extensions:
|
||||
- .jpg
|
||||
- .png
|
||||
birthday_gif_url: https://media1.tenor.com/m/NXvU9jbBUGMAAAAC/fireworks.gif
|
||||
|
||||
colors:
|
||||
color_default: 0xFF8C00
|
||||
|
@ -53,9 +54,10 @@ art:
|
|||
trophy: https://i.imgur.com/dvIIr2G.png
|
||||
|
||||
emotes:
|
||||
emotes_guild_id: 1038051105642401812
|
||||
hit: "<:hit:1119262723285467156>"
|
||||
stand: "<:stand:1118923298298929154>"
|
||||
guild_id: 1038051105642401812
|
||||
emote_ids:
|
||||
hit: 1119262723285467156
|
||||
stand: 1118923298298929154
|
||||
slots_animated_id: 1119262805309259800
|
||||
slots_0_id: 1119262803816095900
|
||||
slots_1_id: 1119262801261760600
|
||||
|
@ -85,7 +87,7 @@ emotes:
|
|||
Blank: 1119287267001905300
|
||||
lost: 1119288454212243600
|
||||
|
||||
introductions: # Currently only usable in ONE guild.
|
||||
introductions:
|
||||
intro_guild_id: 719227135151046700
|
||||
intro_channel_id: 973619250507972600
|
||||
intro_question_mapping:
|
||||
|
|
Loading…
Reference in a new issue