Move build_embed to tasks, better versioning
This commit is contained in:
parent
be3d5387a5
commit
fb9e85733d
4 changed files with 35 additions and 1 deletions
|
@ -6,9 +6,11 @@ from dis_snek import Intents, Snake
|
|||
from jarvis_core.db import connect
|
||||
from jarvis_core.log import get_logger
|
||||
|
||||
from jarvis_tasks import const
|
||||
from jarvis_tasks.config import TaskConfig
|
||||
from jarvis_tasks.tasks import ban, lock, lockdown, reminder, twitter, warning
|
||||
|
||||
__version__ = const.__version__
|
||||
logger = None
|
||||
|
||||
|
||||
|
|
7
jarvis_tasks/const.py
Normal file
7
jarvis_tasks/const.py
Normal file
|
@ -0,0 +1,7 @@
|
|||
"""JARVIS Task constants."""
|
||||
from importlib.metadata import version as _v
|
||||
|
||||
try:
|
||||
__version__ = _v("jarvis-tasks")
|
||||
except Exception:
|
||||
__version__ = "0.0.0"
|
|
@ -9,9 +9,9 @@ from dis_snek import Snake
|
|||
from dis_snek.models.discord.embed import Embed
|
||||
from jarvis_core.db import q
|
||||
from jarvis_core.db.models import TwitterAccount, TwitterFollow
|
||||
from jarvis_core.util import build_embed
|
||||
|
||||
from jarvis_tasks.config import TaskConfig
|
||||
from jarvis_tasks.util import build_embed
|
||||
|
||||
config = TaskConfig.from_yaml()
|
||||
|
||||
|
|
|
@ -4,6 +4,8 @@ from datetime import datetime, timezone
|
|||
from logging import Logger
|
||||
from typing import Coroutine
|
||||
|
||||
from dis_snek.models.discord.embed import Embed
|
||||
|
||||
|
||||
async def runat(when: datetime, coro: Coroutine, logger: Logger) -> None:
|
||||
"""
|
||||
|
@ -18,3 +20,26 @@ async def runat(when: datetime, coro: Coroutine, logger: Logger) -> None:
|
|||
delay = when - datetime.now(tz=timezone.utc)
|
||||
await asyncio.sleep(delay.total_seconds())
|
||||
await coro
|
||||
|
||||
|
||||
def build_embed(
|
||||
title: str,
|
||||
description: str,
|
||||
fields: list,
|
||||
color: str = "#FF0000",
|
||||
timestamp: datetime = None,
|
||||
**kwargs: dict,
|
||||
) -> Embed:
|
||||
"""Embed builder utility function."""
|
||||
if not timestamp:
|
||||
timestamp = datetime.now()
|
||||
embed = Embed(
|
||||
title=title,
|
||||
description=description,
|
||||
color=color,
|
||||
timestamp=timestamp,
|
||||
**kwargs,
|
||||
)
|
||||
for field in fields:
|
||||
embed.add_field(**field.to_dict())
|
||||
return embed
|
||||
|
|
Loading…
Add table
Reference in a new issue