crxsnake 1.3.4__tar.gz → 1.3.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: crxsnake
3
- Version: 1.3.4
3
+ Version: 1.3.6
4
4
  Home-page: https://discord.gg/EEp67FWQDP
5
5
  Author: CRX-DEV
6
6
  Author-email: cherniq66@gmail.com
@@ -2,10 +2,11 @@ from .logger import logger
2
2
  from .cogs import load_cogs
3
3
  from .files import read_json, write_json
4
4
  from .tortoise import Database
5
- from .misc import *
6
5
 
7
- from .issues.hotline import IssueHotline
8
- from .issues.crx import IssueCRX
6
+ from .utils.misc import *
7
+ from .utils.hotline import IssueHotline
8
+ from .utils.crx import IssueCRX
9
+ from .utils.convert import steam_to_be_guid, steam_to_dayz_guid
9
10
 
10
11
 
11
12
  __all__ = [
@@ -4,8 +4,8 @@ from sys import path
4
4
  from pathlib import Path
5
5
 
6
6
 
7
- async def load_cogs(bot, directory="src") -> None:
8
- directory_path = Path(directory)
7
+ async def load_cogs(bot) -> None:
8
+ directory_path = Path("src")
9
9
  path.append(str(directory_path))
10
10
 
11
11
  for entry in directory_path.iterdir():
@@ -0,0 +1,26 @@
1
+ from disnake import Embed, Forbidden, Color
2
+ from disnake.ext import commands
3
+
4
+
5
+ class Embed:
6
+
7
+ def __init__(self, bot: commands.Bot):
8
+ self.bot = bot
9
+
10
+ async def send_channel(self, channel_id: int, title: str, desc: str, color: Color):
11
+ channel = await self.bot.fetch_channel(channel_id)
12
+ if channel:
13
+ embed = self.__create_embed(title, desc, color)
14
+ await channel.send(embed=embed)
15
+
16
+ async def send_user(self, user_id: int, title: str, desc: str, color: Color):
17
+ try:
18
+ user = await self.bot.fetch_user(user_id)
19
+ if user:
20
+ embed = self.__create_embed(title, desc, color)
21
+ await user.send(embed=embed)
22
+ except Forbidden:
23
+ pass
24
+
25
+ def __create_embed(self, title: str, desc: str, color: Color):
26
+ return Embed(title=title, description=desc, color=color)
@@ -1,9 +1,8 @@
1
- from loguru import logger
2
- from aiofiles import open
3
-
4
1
  from typing import Optional, Any
5
2
  from json import loads, dumps
6
3
 
4
+ from aiofiles import open
5
+
7
6
 
8
7
  async def read_json(path: str, *keys: str) -> Optional[Any]:
9
8
  """
@@ -17,12 +16,12 @@ async def read_json(path: str, *keys: str) -> Optional[Any]:
17
16
  for key in keys:
18
17
  if key not in file_data:
19
18
  return None
20
-
21
19
  file_data = file_data[key]
20
+
22
21
  return file_data
23
22
 
24
23
  except Exception:
25
- logger.exception("An error occurred while reading json file")
24
+ raise
26
25
 
27
26
 
28
27
  async def write_json(path: str, data: Any) -> bool:
@@ -34,4 +33,4 @@ async def write_json(path: str, data: Any) -> bool:
34
33
  await file.write(dumps(data, ensure_ascii=False, indent=2))
35
34
  return True
36
35
  except Exception:
37
- logger.exception("An error occurred while writing json file")
36
+ raise
@@ -17,7 +17,4 @@ class Database:
17
17
  logger.exception("An error occurred while connecting to the database")
18
18
 
19
19
  async def db_disconnect(self) -> None:
20
- """
21
- Disconnect from the database.
22
- """
23
20
  await Tortoise.close_connections()
@@ -0,0 +1,19 @@
1
+ from hashlib import sha256, md5
2
+ from base64 import b64encode
3
+
4
+
5
+ def steam_to_be_guid(steam_id: int) -> str:
6
+ parts = [0x42, 0x45] + [0] * 8
7
+ for i in range(2, 10):
8
+ steam_id, remainder = divmod(steam_id, 256)
9
+ parts[i] = remainder
10
+
11
+ byte_array = bytes(parts)
12
+ hash_object = md5(byte_array)
13
+ return hash_object.hexdigest()
14
+
15
+
16
+ def steam_to_dayz_guid(steam_id: int) -> str:
17
+ hashed = sha256()
18
+ hashed.update(str(steam_id).encode("utf-8"))
19
+ return b64encode(hashed.digest()).decode("utf-8")
@@ -2,10 +2,10 @@ from typing import List, Dict, Any
2
2
 
3
3
 
4
4
  class IssueCRX:
5
+
6
+
5
7
  async def create_items(
6
- self,
7
- issue_type: str,
8
- items_list: List[Dict[str, Any]]
8
+ self, issue_type: str, items_list: List[Dict[str, Any]]
9
9
  ) -> Dict[str, List[Dict[str, Any]]]:
10
10
  """
11
11
  Create a dictionary with generated codes and processed items.
@@ -0,0 +1,28 @@
1
+ import re
2
+ import os
3
+ import sys
4
+
5
+ from datetime import datetime
6
+ from disnake import Embed
7
+
8
+
9
+ red = 16711680
10
+ green = 65280
11
+ blue = 255
12
+ yellow = 16776960
13
+ purple = 9109759
14
+ trans = 2829617
15
+
16
+
17
+ def restart():
18
+ python = sys.executable
19
+ os.execl(python, python, '-B', *sys.argv)
20
+
21
+
22
+ def get_unix_time() -> int:
23
+ return int(datetime.now().timestamp())
24
+
25
+
26
+ def get_user_id(field_index: int, embed: Embed) -> int:
27
+ user_id_str = re.search(r"<@!?(\d+)>", embed.fields[field_index].value).group(1)
28
+ return int(user_id_str)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: crxsnake
3
- Version: 1.3.4
3
+ Version: 1.3.6
4
4
  Home-page: https://discord.gg/EEp67FWQDP
5
5
  Author: CRX-DEV
6
6
  Author-email: cherniq66@gmail.com
@@ -3,15 +3,17 @@ README.md
3
3
  setup.py
4
4
  crxsnake/__init__.py
5
5
  crxsnake/cogs.py
6
+ crxsnake/embed.py
6
7
  crxsnake/files.py
7
8
  crxsnake/logger.py
8
- crxsnake/misc.py
9
9
  crxsnake/tortoise.py
10
10
  crxsnake.egg-info/PKG-INFO
11
11
  crxsnake.egg-info/SOURCES.txt
12
12
  crxsnake.egg-info/dependency_links.txt
13
13
  crxsnake.egg-info/requires.txt
14
14
  crxsnake.egg-info/top_level.txt
15
- crxsnake/issues/__init__.py
16
- crxsnake/issues/crx.py
17
- crxsnake/issues/hotline.py
15
+ crxsnake/utils/__init__.py
16
+ crxsnake/utils/convert.py
17
+ crxsnake/utils/crx.py
18
+ crxsnake/utils/hotline.py
19
+ crxsnake/utils/misc.py
@@ -17,7 +17,7 @@ urls = {
17
17
 
18
18
  setup(
19
19
  name="crxsnake",
20
- version="1.3.4",
20
+ version="1.3.6",
21
21
  long_description=long_description,
22
22
  long_description_content_type="text/markdown",
23
23
  author="CRX-DEV",
@@ -1,24 +0,0 @@
1
- import os
2
- import sys
3
-
4
- from datetime import datetime
5
-
6
- red = 16711680
7
- green = 65280
8
- blue = 255
9
- yellow = 16776960
10
- purple = 9109759
11
- trans = 2829617
12
-
13
- timestamp = int(datetime.now().timestamp())
14
- time_short = f"<t:{timestamp}:d>"
15
- time_long_date = f"<t:{timestamp}:D>"
16
- time_short_time = f"<t:{timestamp}:t>"
17
- time_long_time = f"<t:{timestamp}:T>"
18
- time_full = f"<t:{timestamp}:f>"
19
- time_relative = f"<t:{timestamp}:R>"
20
-
21
-
22
- async def restart():
23
- python = sys.executable
24
- os.execl(python, python, '-B', *sys.argv)
File without changes
File without changes
File without changes
File without changes