diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ccc92f9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +__pycache__/ +*.env diff --git a/__init__.py b/__init__.py index bfe6399..7078cc9 100755 --- a/__init__.py +++ b/__init__.py @@ -4,19 +4,13 @@ import discord from discord import app_commands from discord.app_commands import Choice -import re - from requests import get from sys import argv from os import environ from json import loads from traceback import format_exc -def get_cards(query: str): - - print(f"{mana_cost}\t{name}: {type_line}") - for line in oracle_text.split('\n'): - print(f"\t{line}") +from emotes import mana_format intents = discord.Intents.default() client = discord.Client(intents=intents) @@ -27,78 +21,6 @@ async def on_ready(): await tree.sync() print(f"Logged in as {client.user}") -mana_numbers = [ - "<:mana0:292901467382087680>", - "<:mana1:292901508373282827>", - "<:mana2:292901509060886528>", - "<:mana3:292901508771610624>", - "<:mana4:292901508712890379>", - "<:mana5:292901508796645386>", - "<:mana6:292901508780130304>", - "<:mana7:292901508540792835>", - "<:mana8:292901508830330880>", - "<:mana9:292901508826005504>", - "<:mana10:292901508851302400>", - "<:mana11:292901508838850570>", - "<:mana12:292901508838850560>", - "<:mana13:292901508872142858>", - "<:mana14:292901508855627776>", - "<:mana15:1013559311055732826>", - "<:mana16:292901508708564993>" -] - - -mana_symbols = { - "W": "<:manaw:1007102126813610074>", - "U": "<:manau:292901508754702338>", - "B": "<:manab:292901508872273920>", - "R": "<:manar:292901508796645397>", - "G": "<:manag:292901508654301185>", - "C": "<:manac:292901508943577088>", - "S": "<:manas:292901509081858058>", - - "W/U": "<:manawu:292901508696113153>", - "W/B": "<:manawb:292901509044109312>", - "B/R": "<:manabr:292901508939382784>", - "B/G": "<:manabg:292901508863754241>", - "U/B": "<:manaub:292901509056692224>", - "U/R": "<:manaur:292901509010817024>", - "R/G": "<:manarg:292901508738056193>", - "R/W": "<:manarw:292901508834525190>", - "G/W": "<:managw:292901508977000448>", - "G/U": "<:managu:292901509035851788>", - - "2/W": "<:mana2w:292901508771741696>", - "2/U": "<:mana2u:292901508721410058>", - "2/B": "<:mana2b:292901508469489667>", - "2/R": "<:mana2r:292901508310368259>", - "2/G": "<:mana2g:292901508695982080>", - - "C/P": "<:manacp:1271312850740187137>", - "W/P": "<:manawp:292901508826005515>", - "U/P": "<:manaup:292901508780130305>", - "B/P": "<:manabp:292901508922474496>", - "R/P": "<:manarp:292901509023137792>", - "G/P": "<:managp:292901508964679680>", - - "HW": "<:manahw:936814586663948398>", - "HR": "<:manahr:936814586382921752>", - - "X": "<:manax:292901509082120202>", - "Y": "<:manay:936814586638766151>", - "Z": "<:manaz:936814586680713276>", - - "T": "<:manat:292901509073731584>", - "Q": "<:manaq:292901508834394123>", - "E": "<:manae:292901508947640320>", - - "P": "<:manap:1260458912046645319>", - - "A": "<:manaa:936814586680713276>", - "CHAOS": "<:manachaos:292901508712890369>", - "∞": "<:manainfinity:936814586731040898>", -} - @tree.command( name="search", description="Search scryfall with an advanced expression", @@ -126,17 +48,11 @@ async def search(interaction, query: str, sort: Choice[str] = "released", max: i for card in obj["data"]: name = card["name"] type_line = card["type_line"] - mana_cost = card.get("mana_cost") - #mana_cost = re.sub("{([0-9]*)}", "{MANA\\1}", mana_cost) - mana_cost = mana_cost.format(*mana_numbers, **mana_symbols) + oracle_str = mana_format(card.get("oracle_text")) + mana_cost = mana_format(card.get("mana_cost")) name_str = f"{mana_cost}\t{name}: {type_line}" - oracle_str = card.get("oracle_text") - #oracle_str = re.sub("{([0-9]*)}", ":mana\\1:", oracle_str) - oracle_str = oracle_str.format(*mana_numbers, **mana_symbols) - - if len(embed) + len(oracle_str) + len(name_str) > 6000: break diff --git a/emotes.py b/emotes.py new file mode 100644 index 0000000..55ebd3c --- /dev/null +++ b/emotes.py @@ -0,0 +1,73 @@ +mana_numbers = [ + "<:mana0:292901467382087680>", + "<:mana1:292901508373282827>", + "<:mana2:292901509060886528>", + "<:mana3:292901508771610624>", + "<:mana4:292901508712890379>", + "<:mana5:292901508796645386>", + "<:mana6:292901508780130304>", + "<:mana7:292901508540792835>", + "<:mana8:292901508830330880>", + "<:mana9:292901508826005504>", + "<:mana10:292901508851302400>", + "<:mana11:292901508838850570>", + "<:mana12:292901508838850560>", + "<:mana13:292901508872142858>", + "<:mana14:292901508855627776>", + "<:mana15:1013559311055732826>", + "<:mana16:292901508708564993>" +] + +mana_symbols = { + "W": "<:manaw:1007102126813610074>", + "U": "<:manau:292901508754702338>", + "B": "<:manab:292901508872273920>", + "R": "<:manar:292901508796645397>", + "G": "<:manag:292901508654301185>", + "C": "<:manac:292901508943577088>", + "S": "<:manas:292901509081858058>", + + "W/U": "<:manawu:292901508696113153>", + "W/B": "<:manawb:292901509044109312>", + "B/R": "<:manabr:292901508939382784>", + "B/G": "<:manabg:292901508863754241>", + "U/B": "<:manaub:292901509056692224>", + "U/R": "<:manaur:292901509010817024>", + "R/G": "<:manarg:292901508738056193>", + "R/W": "<:manarw:292901508834525190>", + "G/W": "<:managw:292901508977000448>", + "G/U": "<:managu:292901509035851788>", + + "2/W": "<:mana2w:292901508771741696>", + "2/U": "<:mana2u:292901508721410058>", + "2/B": "<:mana2b:292901508469489667>", + "2/R": "<:mana2r:292901508310368259>", + "2/G": "<:mana2g:292901508695982080>", + + "C/P": "<:manacp:1271312850740187137>", + "W/P": "<:manawp:292901508826005515>", + "U/P": "<:manaup:292901508780130305>", + "B/P": "<:manabp:292901508922474496>", + "R/P": "<:manarp:292901509023137792>", + "G/P": "<:managp:292901508964679680>", + + "HW": "<:manahw:936814586663948398>", + "HR": "<:manahr:936814586382921752>", + + "X": "<:manax:292901509082120202>", + "Y": "<:manay:936814586638766151>", + "Z": "<:manaz:936814586680713276>", + + "T": "<:manat:292901509073731584>", + "Q": "<:manaq:292901508834394123>", + "E": "<:manae:292901508947640320>", + + "P": "<:manap:1260458912046645319>", + + "A": "<:manaa:936814586680713276>", + "CHAOS": "<:manachaos:292901508712890369>", + "∞": "<:manainfinity:936814586731040898>", +} + +def mana_format(string: str) -> str: + return string.format(*mana_numbers, **mana_symbols)