Skip to content

Commit

Permalink
Merge branch 'main' of https://github.com/kaeeraa/Matter
Browse files Browse the repository at this point in the history
  • Loading branch information
kaeeraa committed Feb 22, 2025
2 parents d559634 + 3cfcdd4 commit e2a5839
Show file tree
Hide file tree
Showing 11 changed files with 37 additions and 54 deletions.
13 changes: 3 additions & 10 deletions src/matter/core/classes/args.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,17 @@

class Args:
"""Argument parser for the bot."""

_parser = ArgumentParser(
prog="Matter bot",
description="An all-in-one ticket bot for Discord.",
epilog="https://github.com/kaeeraa/Matter",
)

def __init__(self) -> None:
self._parser.add_argument("-v", "--verbose", action="store_true", help="Enable verbose logging", default=False)
self._parser.add_argument(
"-v", "--verbose",
action="store_true",
help="Enable verbose logging",
default=False
)
self._parser.add_argument(
"-vv", "--vomit",
action="store_true",
help="Enable trace (vomit) logging",
default=False
"-vv", "--vomit", action="store_true", help="Enable trace (vomit) logging", default=False
)

@property
Expand Down
2 changes: 2 additions & 0 deletions src/matter/core/classes/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@
"""

from typing import Any

from pyjson5 import loads

from matter import ROOT


Expand Down
7 changes: 4 additions & 3 deletions src/matter/core/classes/data.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,11 @@

from pathlib import Path
from typing import Any
from pyjson5 import Json5EOF, decode, loads, encode

from matter.core.classes.logger import logger
from pyjson5 import Json5EOF, decode, encode, loads

from matter import ROOT
from matter.core.classes.logger import logger


class Data:
Expand Down Expand Up @@ -49,7 +50,7 @@ def put(self, path: str, data: dict[str, Any]) -> None:
logger.error("Data contains circular reference")
return

_parts: list[str] = path.split('.')
_parts: list[str] = path.split(".")
_current: dict[str, Any] = self._data

for part in _parts[:-1]:
Expand Down
2 changes: 2 additions & 0 deletions src/matter/core/classes/i18n.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
"""Module that contains i18n implementation"""

from typing import Any

from pyjson5 import loads

from matter import ROOT


Expand Down
2 changes: 1 addition & 1 deletion src/matter/core/classes/logger.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@

from loguru import logger

from matter.core.classes.args import args
from matter import ROOT
from matter.core.classes.args import args

# Remove all existing handlers
logger.remove()
Expand Down
11 changes: 3 additions & 8 deletions src/matter/core/classes/ticket.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,9 @@ class Ticket:
This class represents a ticket and its attributes.
"""

def __init__(self,
ticketId: int,
author: User,
authorId: int,
title: str,
description: str,
status: Status = Status.OPEN
):
def __init__(
self, ticketId: int, author: User, authorId: int, title: str, description: str, status: Status = Status.OPEN
):
self.ticketId: int = ticketId
self.author: User = author
self.authorId: int = authorId
Expand Down
22 changes: 8 additions & 14 deletions src/matter/core/classes/tickets/ticketManager.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,13 @@
This class contains methods to create, manage and get tickets.
"""

from typing import Any

from hikari import User
from matter.core.classes.ticket import Ticket

from matter.core.classes.data import Data
from matter.core.classes.ticket import Ticket


class TicketManager:
Expand All @@ -15,6 +18,7 @@ class TicketManager:
This class contains methods to create, manage and get tickets.
"""

_data: Data
_tickets: dict[str, Any] = {}

Expand All @@ -25,29 +29,19 @@ def __init__(self):
if not self._tickets:
self._data.put("tickets", {})

def newTicket(self,
author: User,
title: str,
description: str
) -> Ticket:
def newTicket(self, author: User, title: str, description: str) -> Ticket:

_ticketsCount: int = len(self._data.get("tickets"))

_ticket = Ticket(
_ticketsCount + 1,
author,
author.id,
title,
description
)
_ticket = Ticket(_ticketsCount + 1, author, author.id, title, description)

_serialised: dict[str, Any] = {
"authorId": _ticket.authorId,
"title": _ticket.title,
"description": _ticket.description,
"status": _ticket.status.value,
"createdAt": _ticket.createdAt,
"updatedAt": _ticket.updatedAt
"updatedAt": _ticket.updatedAt,
}

self._data.put(f"tickets.{_ticket.ticketId}", _serialised)
Expand Down
2 changes: 1 addition & 1 deletion src/matter/core/tasks/presence.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@

from hikari import Activity, ActivityType, StartedEvent, Status

from matter.build.BuildConfig import build
from matter.core.classes.bot import bot
from matter.core.classes.logger import logger
from matter.build.BuildConfig import build


async def presence(event: StartedEvent) -> None:
Expand Down
4 changes: 2 additions & 2 deletions src/matter/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@

from hikari import StartedEvent

from matter.plugins.ping import ping
from matter.plugins.newTicket import newTicket
from matter.core.classes.bot import bot, client
from matter.core.classes.logger import logger
from matter.core.tasks.presence import presence
from matter.plugins.newTicket import newTicket
from matter.plugins.ping import ping


def run() -> None:
Expand Down
19 changes: 9 additions & 10 deletions src/matter/plugins/newTicket.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,22 @@
"""

from typing import Any
from arc import Option, slash_command, GatewayContext

from arc import GatewayContext, Option, slash_command

from matter.core.classes.config import Config
from matter.core.classes.logger import logger
from matter.core.classes.ticket import Ticket
from matter.core.classes.tickets.ticketManager import TicketManager
from matter.core.classes.config import Config

COMMAND_NAME = "new"
COMMAND_DESCRIPTION = "Create a new ticket"


@slash_command(name="new", description="Create a new ticket")
async def newTicket(ctx: GatewayContext,
title: Option[str, str] = "Ndfined",
description: Option[str, str] = "None") -> None:
async def newTicket(
ctx: GatewayContext, title: Option[str, str] = "Ndfined", description: Option[str, str] = "None"
) -> None:
"""
Creates a new ticket and sends a message to the channel.
Expand All @@ -42,16 +44,13 @@ async def newTicket(ctx: GatewayContext,
if guild := ctx.get_guild():
name: str = _config.get("brain.tickets.format", "{username}-{counter}")

formattedName: str = name.format(
username=_ticket.author.username,
counter=_ticket.ticketId
)
formattedName: str = name.format(username=_ticket.author.username, counter=_ticket.ticketId)

await guild.create_text_channel(
name=formattedName,
topic=_ticket.description,
category=_config.get("brain.tickets.category_id", None),
reason=f"New ticket by {ctx.author.username}"
reason=f"New ticket by {ctx.author.username}",
)

await ctx.respond("Ticket created successfully!")
Expand Down
7 changes: 2 additions & 5 deletions src/matter/plugins/ping.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@

from arc import GatewayContext, slash_command

from matter.core.helpers.embed import embed
from matter.core.classes.bot import bot
from matter.core.classes.logger import logger
from matter.core.helpers.embed import embed

COMMAND_NAME = "ping"
COMMAND_DESCRIPTION = "Returns the bot's heartbeat latency."
Expand Down Expand Up @@ -52,10 +52,7 @@ async def ping(ctx: GatewayContext) -> None:
embed=embed(
ctx.author,
title="🏓 Network details",
description=(
f"- 🌍 Server Geo: {country}, {region}\n"
f"- ⏳ Latency: {latency}ms"
),
description=(f"- 🌍 Server Geo: {country}, {region}\n" f"- ⏳ Latency: {latency}ms"),
)
)
except (ValueError, TypeError):
Expand Down

0 comments on commit e2a5839

Please sign in to comment.