Skip to content

Commit 1e32743

Browse files
committed
fixed modal updates
1 parent 5634e13 commit 1e32743

File tree

1 file changed

+19
-10
lines changed

1 file changed

+19
-10
lines changed

core/utils/discord.py

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1261,17 +1261,26 @@ def __init__(self, title: str, config: dict, old_values: Optional[dict] = None,
12611261
if not old_values:
12621262
old_values = {}
12631263
for k, v in self.config.items():
1264-
self.add_item(TextInput(custom_id=k,
1265-
label=v.get('label'),
1266-
style=discord.TextStyle(v.get('style', 1)),
1267-
placeholder=v.get('placeholder'),
1268-
default=str(old_values.get(k)) if old_values.get(k) is not None else v.get('default', ''),
1269-
required=v.get('required', False),
1270-
min_length=v.get('min_length'),
1271-
max_length=v.get('max_length')))
1264+
self.add_item(TextInput(
1265+
custom_id=k,
1266+
label=v.get('label'),
1267+
style=discord.TextStyle(v.get('style', 1)),
1268+
placeholder=v.get('placeholder'),
1269+
default=self.parse(old_values.get(k)) if old_values.get(k) is not None else self.parse(v.get('default', '')),
1270+
required=v.get('required', False),
1271+
min_length=v.get('min_length'),
1272+
max_length=v.get('max_length')))
12721273

12731274
@staticmethod
1274-
def unmap(value: str, t: str = None) -> Any:
1275+
def parse(value: Any) -> str:
1276+
if isinstance(value, bool):
1277+
return 'true' if value else 'false'
1278+
elif isinstance(value, datetime):
1279+
return value.strftime('%Y-%m-%d %H:%M:%S')
1280+
return str(value)
1281+
1282+
@staticmethod
1283+
def unparse(value: str, t: str = None) -> Any:
12751284
if not t or t == str:
12761285
return value
12771286
elif not value:
@@ -1294,7 +1303,7 @@ async def on_submit(self, interaction: discord.Interaction) -> None:
12941303
await interaction.response.defer(ephemeral=self.ephemeral)
12951304
# noinspection PyUnresolvedReferences
12961305
self.value = {
1297-
v.custom_id: self.unmap(v.value, self.config[v.custom_id].get('type'))
1306+
v.custom_id: self.unparse(v.value, self.config[v.custom_id].get('type'))
12981307
for v in self.children
12991308
}
13001309
self.stop()

0 commit comments

Comments
 (0)