"""Custom Discord emoji registry, keyed by symbolic name and resolved per BOT_PROFILE. Emojis are uploaded as application emojis via the Discord Developer Portal and are scoped to a single bot application. Dev and production are separate applications, so the same logical emoji has a different ID in each — hence two dicts below, selected by BOT_PROFILE. To add a new emoji: upload it to both applications in the dev portal, grab the two IDs, and add one line to each dict. """ from __future__ import annotations from config import BOT_PROFILE _DEV: dict[str, str] = { "TipiCOIN": "<:TipiCOIN:1483000209188589628>", "TipiFIRE": "<:TipiFIRE:1483431381668335687>", "TipiHIIR": "<:TipiHIIR:1483004306012504128>", "TipiMATT": "<:TipiMATT:1483387697132208128>", "TipiKLAPID": "<:TipiKLAPID:1483387694083084349>", "TipiPILET": "<:TipiPILET:1483004308353060904>", "TipiBULL": "<:TipiBULL:1483004310924300409>", "TipiLAP": "<:TipiLAP:1483004307161874566>", "TipiVAC": "<:TipiVAC:1483004309510819860>", "TipiLAUD": "<:TipiLAUD:1483387695576125440>", "TipiSERVER": "<:TipiSERVER:1483387701032910969>", "TipiMIC": "<:TipiMIC:1483387698499551313>", "TipiKLAVA": "<:TipiKLAVA:1483014339228078140>", "TipiMONITOR": "<:TipiMONITOR:1483014340327243908>", "TipiCAT": "<:TipiCAT:1483014337663602718>", "TipiMONITOR2": "<:TipiMONITOR2:1483387699514839162>", "TipiKARIKAS": "<:TipiKARIKAS:1483014841148112977>", "TipiTOOL": "<:TipiTOOL:1483014341648187613>", "TipiHEART": "<:TipiHEART:1483431377561976853>", "TipiTROLL": "<:TipiTROLL:1483431380166774895>", "TipICRY": "<:TipICRY:1483431288852709387>", "TipiSKULL": "<:TipiSKULL:1483431378929451028>", "TipiDICE": "<:TipiDICE:1485923107108556950>", "TipiYKS": "<:TipiYKS:1483103190491856916>", "TipiKAKS": "<:TipiKAKS:1483103215841972404>", "TipiKOLM": "<:TipiKOLM:1483103217846980781>", "TipiNELI": "<:TipiNELI:1483103237585240114>", "TipiVIIS": "<:TipiVIIS:1483103239036469289>", "TipiKUUS": "<:TipiKUUS:1483103253163020348>", "TipiSLOTS": "", } # Production application emoji IDs. Replace each ID with the one from the # prod application in the dev portal. The dev IDs below are placeholders so # this dict is structurally complete — they will NOT render in prod because # they belong to a different application. _ECONOMY: dict[str, str] = dict(_DEV) _EMOJI_SETS = { "dev": _DEV, "economy": _ECONOMY, } EMOJI: dict[str, str] = _EMOJI_SETS[BOT_PROFILE] _missing = set(_DEV) - set(EMOJI) if _missing: raise RuntimeError(f"Emoji set {BOT_PROFILE!r} missing keys: {sorted(_missing)}")