Add Transformers.py

This commit is contained in:
norohind 2023-11-17 20:07:59 +03:00
parent 84c75912bf
commit 94c49a62aa
Signed by: norohind
GPG Key ID: 01C3BECC26FB59E1

23
Transformers.py Normal file
View File

@ -0,0 +1,23 @@
import discord
from datetime import datetime
from datetime_utils import to_unix
from loguru import logger
class DateTransformer(discord.app_commands.Transformer):
"""
Converts date as 2022-12-24 to unix timestamp
"""
async def transform(self, interaction: discord.Interaction, value: str, /) -> int:
logger.trace(f'Converting {value} to unix timestamp')
date_format = "%Y-%m-%d"
try:
date = to_unix(datetime.strptime(value, date_format))
return date
except Exception:
logger.opt(exception=True).warning(f"Failed to parse to datetime {value!r}")
raise