crxsnake 1.4.3__py3-none-any.whl → 1.4.4__py3-none-any.whl
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.
- crxsnake/__init__.py +2 -3
- crxsnake/utils/embed_log.py +48 -0
- {crxsnake-1.4.3.dist-info → crxsnake-1.4.4.dist-info}/METADATA +1 -1
- {crxsnake-1.4.3.dist-info → crxsnake-1.4.4.dist-info}/RECORD +7 -7
- crxsnake/embed.py +0 -90
- {crxsnake-1.4.3.dist-info → crxsnake-1.4.4.dist-info}/LICENSE +0 -0
- {crxsnake-1.4.3.dist-info → crxsnake-1.4.4.dist-info}/WHEEL +0 -0
- {crxsnake-1.4.3.dist-info → crxsnake-1.4.4.dist-info}/top_level.txt +0 -0
crxsnake/__init__.py
CHANGED
@@ -1,6 +1,4 @@
|
|
1
1
|
from .tortoise import Database
|
2
|
-
from .embed import EmbedMessage
|
3
|
-
|
4
2
|
from .logger import log
|
5
3
|
from .cogs import load_cogs
|
6
4
|
|
@@ -9,11 +7,12 @@ from .files import *
|
|
9
7
|
from .utils.misc import *
|
10
8
|
from .utils.hotline import *
|
11
9
|
from .utils.convert import *
|
10
|
+
from .utils.embed_log import *
|
12
11
|
|
13
12
|
|
14
13
|
__all__ = [
|
15
14
|
"Database",
|
16
|
-
"
|
15
|
+
"EmbedLog",
|
17
16
|
|
18
17
|
"log",
|
19
18
|
"load_cogs",
|
@@ -0,0 +1,48 @@
|
|
1
|
+
from typing import Optional, Tuple, List
|
2
|
+
from disnake import TextChannel, User, Embed, Forbidden, HTTPException
|
3
|
+
|
4
|
+
|
5
|
+
class EmbedLog:
|
6
|
+
|
7
|
+
@staticmethod
|
8
|
+
def build_embed(
|
9
|
+
title: Optional[str] = None,
|
10
|
+
color: Optional[int] = None,
|
11
|
+
fields: Optional[List[Tuple[str, str, bool]]] = None,
|
12
|
+
desc: Optional[str] = None,
|
13
|
+
url: Optional[str] = None,
|
14
|
+
thumbnail: Optional[str] = None,
|
15
|
+
image: Optional[str] = None,
|
16
|
+
footer: Optional[str] = None,
|
17
|
+
) -> Embed:
|
18
|
+
|
19
|
+
embed = Embed(title=title, description=desc, color=color, url=url)
|
20
|
+
|
21
|
+
if fields:
|
22
|
+
for name, value, inline in fields:
|
23
|
+
embed.add_field(name=name, value=value, inline=inline)
|
24
|
+
|
25
|
+
if thumbnail:
|
26
|
+
embed.set_thumbnail(url=thumbnail)
|
27
|
+
if image:
|
28
|
+
embed.set_image(url=image)
|
29
|
+
if footer:
|
30
|
+
embed.set_footer(text=footer)
|
31
|
+
|
32
|
+
return embed
|
33
|
+
|
34
|
+
async def send_channel(self, channel: TextChannel, **kwargs) -> None:
|
35
|
+
embed = self.build_embed(**kwargs)
|
36
|
+
try:
|
37
|
+
await channel.send(embed=embed)
|
38
|
+
except Forbidden:
|
39
|
+
print(f"[Ошибка] Нет прав на отправку сообщений в канал {channel.name}.")
|
40
|
+
except HTTPException as e:
|
41
|
+
print(f"[Ошибка] Не удалось отправить сообщение: {e}")
|
42
|
+
|
43
|
+
async def send_user(self, user: User, **kwargs) -> None:
|
44
|
+
embed = self.build_embed(**kwargs)
|
45
|
+
try:
|
46
|
+
await user.send(embed=embed)
|
47
|
+
except Exception:
|
48
|
+
pass
|
@@ -1,15 +1,15 @@
|
|
1
|
-
crxsnake/__init__.py,sha256=
|
1
|
+
crxsnake/__init__.py,sha256=Jt2fTmwyJ0VjIjmUyFipG99CBC7-BBe83rNKdC6vQ1Y,572
|
2
2
|
crxsnake/cogs.py,sha256=E0BF6SBvF4K7KlfpwZ6j6mpIcJYX3H2neaHiLYPK2fI,633
|
3
|
-
crxsnake/embed.py,sha256=NnOqgTJ38BokdeduSVJ4M2nxNl45t7bm0ciJNrUbcI8,2709
|
4
3
|
crxsnake/files.py,sha256=oV8xNSETRLlE_UR5sd0-zaANQLBR9hZ0GlAXDgPn5Sc,1486
|
5
4
|
crxsnake/logger.py,sha256=yv1298VWx0TwoBE2X9wJq1WOsGTRwDfdJ-BLds0Jnew,778
|
6
5
|
crxsnake/tortoise.py,sha256=xRu6ns5a9xyduS8lglps4iKh0Gurkib9WnIDD1k5jZM,637
|
7
6
|
crxsnake/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
8
7
|
crxsnake/utils/convert.py,sha256=lfS4fhePDdNJ4LS0PqT523bs34auIA5114NfZi4aaeE,542
|
8
|
+
crxsnake/utils/embed_log.py,sha256=QiGQ0BKhjt950sn0d0lirhY1_vgATsNMPVkTW-z5jhE,1643
|
9
9
|
crxsnake/utils/hotline.py,sha256=l82Pf6slP4NH_rhXzo7iWjhfN4zXihoOrFxDrbqMh8U,2524
|
10
10
|
crxsnake/utils/misc.py,sha256=eV6WBod5yMpWVH4PaCG4vNIWN9xhoeO-b6z3mRNPe0Q,434
|
11
|
-
crxsnake-1.4.
|
12
|
-
crxsnake-1.4.
|
13
|
-
crxsnake-1.4.
|
14
|
-
crxsnake-1.4.
|
15
|
-
crxsnake-1.4.
|
11
|
+
crxsnake-1.4.4.dist-info/LICENSE,sha256=xt4Ru6tOCU8e2wVlx_lgx7wh-sNLKbiCbmANzr2e3cc,1085
|
12
|
+
crxsnake-1.4.4.dist-info/METADATA,sha256=pOOgfVCjitVtE2Sk5I8roo-p6OSJXtvXjWA8rPSJrSQ,1635
|
13
|
+
crxsnake-1.4.4.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
14
|
+
crxsnake-1.4.4.dist-info/top_level.txt,sha256=GOgG6tMH05czsfM6y-Tvm9LUSd-0PPuuuYkkkbWHZjQ,9
|
15
|
+
crxsnake-1.4.4.dist-info/RECORD,,
|
crxsnake/embed.py
DELETED
@@ -1,90 +0,0 @@
|
|
1
|
-
from typing import Optional, Dict, Any
|
2
|
-
|
3
|
-
from disnake import Embed, Forbidden, Colour
|
4
|
-
from disnake.ext import commands
|
5
|
-
from crxsnake.utils.misc import trans
|
6
|
-
|
7
|
-
|
8
|
-
class EmbedMessage:
|
9
|
-
|
10
|
-
def __init__(self, bot: commands.Bot):
|
11
|
-
self.bot = bot
|
12
|
-
|
13
|
-
async def send_channel(
|
14
|
-
self,
|
15
|
-
channel_id: int,
|
16
|
-
title: Optional[str] = None,
|
17
|
-
description: Optional[str] = None,
|
18
|
-
color: Optional[Colour] = trans,
|
19
|
-
url: Optional[str] = None,
|
20
|
-
image: Optional[str] = None,
|
21
|
-
footer: Optional[str] = None,
|
22
|
-
fields: Optional[Dict[str, Any]] = None
|
23
|
-
) -> None:
|
24
|
-
"""Send an Embed message to the channel"""
|
25
|
-
channel = await self.bot.fetch_channel(channel_id)
|
26
|
-
if channel:
|
27
|
-
embed = self.__create_embed(
|
28
|
-
title,
|
29
|
-
description,
|
30
|
-
color,
|
31
|
-
url,
|
32
|
-
image,
|
33
|
-
footer,
|
34
|
-
fields
|
35
|
-
)
|
36
|
-
await channel.send(embed=embed)
|
37
|
-
|
38
|
-
async def send_user(
|
39
|
-
self,
|
40
|
-
user_id: int,
|
41
|
-
title: Optional[str] = None,
|
42
|
-
description: Optional[str] = None,
|
43
|
-
color: Optional[Colour] = trans,
|
44
|
-
url: Optional[str] = None,
|
45
|
-
image: Optional[str] = None,
|
46
|
-
footer: Optional[str] = None,
|
47
|
-
fields: Optional[Dict[str, Any]] = None
|
48
|
-
) -> None:
|
49
|
-
"""Send an Embed message to the user"""
|
50
|
-
try:
|
51
|
-
user = await self.bot.fetch_user(user_id)
|
52
|
-
if user:
|
53
|
-
embed = self.__create_embed(
|
54
|
-
title,
|
55
|
-
description,
|
56
|
-
color,
|
57
|
-
url,
|
58
|
-
image,
|
59
|
-
footer,
|
60
|
-
fields
|
61
|
-
)
|
62
|
-
await user.send(embed=embed)
|
63
|
-
except Forbidden:
|
64
|
-
pass
|
65
|
-
|
66
|
-
@staticmethod
|
67
|
-
def __create_embed(
|
68
|
-
title: Optional[str] = None,
|
69
|
-
description: Optional[str] = None,
|
70
|
-
color: Optional[Colour] = trans,
|
71
|
-
url: Optional[str] = None,
|
72
|
-
image: Optional[str] = None,
|
73
|
-
footer: Optional[str] = None,
|
74
|
-
fields: Optional[Dict[str, Any]] = None
|
75
|
-
) -> Embed:
|
76
|
-
"""Return Embed"""
|
77
|
-
embed = Embed(
|
78
|
-
title=title,
|
79
|
-
description=description,
|
80
|
-
url=url,
|
81
|
-
color=color
|
82
|
-
)
|
83
|
-
if image:
|
84
|
-
embed.set_image(url=image)
|
85
|
-
if footer:
|
86
|
-
embed.set_footer(text=footer)
|
87
|
-
if fields:
|
88
|
-
for name, value in fields.items():
|
89
|
-
embed.add_field(name=name, value=value, inline=False)
|
90
|
-
return embed
|
File without changes
|
File without changes
|
File without changes
|