Skip to content

Commit 9206733

Browse files
committed
😔 Reverted logs design
1 parent 99803a0 commit 9206733

File tree

1 file changed

+46
-100
lines changed

1 file changed

+46
-100
lines changed

cogs/logs/__init__.py

Lines changed: 46 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -1,151 +1,97 @@
11
import discord
2-
from discord import ui
32
from discord.ext import commands
43
from discord.utils import MISSING
54

65
from datetime import datetime, timedelta, timezone
76
from pymongo.mongo_client import MongoClient
87

98
from settings import LOGS_CHANNEL_ID, DMS_LOGS_GUILD_ID, GUILD, CREATE_VC_CHANNEL_ID, MONGO_URI
10-
from utils import Emojis, no_color, no_ping, fake_send, DB, LazyLayout
9+
from utils.msg_utils import Emojis
10+
from utils.shortcuts import no_ping, no_color
11+
from utils.fake_user import fake_send
12+
from utils.users_db import DB
1113

1214
command_statistics = MongoClient(MONGO_URI).antbot.command_statistics
1315

1416

1517
class Logs(commands.Cog, name="no_help_logs"):
1618
def __init__(self, bot):
17-
self.bot: commands.Bot = bot
19+
self.bot = bot
1820

1921
@commands.Cog.listener(name="on_member_update")
20-
async def nick_changed(self, before: discord.Member, after: discord.Member):
22+
async def nick_changed(self, before, after):
2123
if after.guild.id == GUILD and before.nick != after.nick:
22-
24+
embed = discord.Embed(title=f"{Emojis.user} Ник обновлён", color=no_color)
25+
embed.set_author(name=after.name, icon_url=after.display_avatar.url)
26+
embed.add_field(name="До", value=before.display_name)
27+
embed.add_field(name="После", value=after.display_name)
28+
embed.add_field(name="Участник", value=after.mention, inline=False)
29+
#
2330
log_channel = await self.bot.fetch_channel(LOGS_CHANNEL_ID)
24-
await log_channel.send(
25-
view=LazyLayout(
26-
ui.Section(
27-
f"# {Emojis.user} Ник обновлён\n"
28-
f"**Участник**\n{after.mention}\n"
29-
f"**До**\n{before.display_name}\n"
30-
f"**Поcле**\n{after.display_name}\n",
31-
accessory=ui.Thumbnail(after.display_avatar.url)
32-
)
33-
),
34-
allowed_mentions=no_ping
35-
)
31+
await log_channel.send(embed=embed)
3632

3733
@commands.Cog.listener(name="on_voice_state_update")
38-
async def voice_event(self, member: discord.Member, before: discord.VoiceChannel, after: discord.VoiceChannel):
34+
async def voice_event(self, member, before, after):
3935
if member.guild.id == GUILD:
40-
4136
if before.channel != after.channel and after.channel != None and after.channel.id != CREATE_VC_CHANNEL_ID:
42-
text = (
43-
f"# {Emojis.vc_joined} Участник зашёл в гк\n"
44-
f"**Участник**\n{member.mention}\n"
45-
f"**Канал**\n{after.channel.name} ({after.channel.mention})"
46-
)
47-
37+
embed = discord.Embed(title=f"{Emojis.vc_joined} Участник зашёл в гк", color=no_color)
38+
embed.set_author(name=member.name, icon_url=member.display_avatar.url)
39+
embed.add_field(name="Канал", value=f"{after.channel.name} ({after.channel.mention})")
4840
elif not after.channel:
49-
text = (
50-
f"# {Emojis.vc_left} Участник покинул гк\n"
51-
f"**Участник**\n{member.mention}\n"
52-
f"**Канал**\n{before.channel.name} ({before.channel.mention})"
53-
)
54-
41+
embed = discord.Embed(title=f"{Emojis.vc_left} Участник покинул гк", color=no_color)
42+
embed.set_author(name=member.name, icon_url=member.display_avatar.url)
43+
embed.add_field(name="Канал", value=f"{before.channel.name} ({before.channel.mention})")
5544
else:return
5645
#
5746
log_channel = await self.bot.fetch_channel(LOGS_CHANNEL_ID)
58-
await log_channel.send(
59-
view=LazyLayout(
60-
ui.Section(
61-
text,
62-
accessory=ui.Thumbnail(member.display_avatar.url)
63-
)
64-
),
65-
allowed_mentions=no_ping
66-
)
47+
await log_channel.send(embed=embed)
6748

6849
@commands.Cog.listener(name="on_message_edit")
69-
async def edited(self, before: discord.Message, after: discord.Message):
50+
async def edited(self, before, after):
7051
if after.guild and after.guild.id == GUILD and after.author.id != self.bot.user.id and before.content != after.content\
7152
and not isinstance(after.channel, discord.DMChannel):
53+
# Build ebmed
54+
embed = discord.Embed(title=f"{Emojis.edited_msg} Сообщение отредактировано", color=no_color)
55+
embed.set_author(icon_url=after.author.display_avatar.url, name=after.author.name)
56+
embed.add_field(name="Автор", value=after.author.mention)
57+
embed.add_field(name="Канал", value=after.channel.jump_url)
58+
embed.add_field(name="До", value=before.content[:1021] + ("..." if len(before.content) >= 1024 else ""),
59+
inline=False)
60+
embed.add_field(name="После", value=after.content[:1021] + ("..." if len(after.content) >= 1024 else ""),
61+
inline=False)
62+
#
7263
log_channel = await self.bot.fetch_channel(LOGS_CHANNEL_ID)
73-
74-
views: list[discord.Message] = []
75-
main_text = (f"# {Emojis.edited_msg} Сообщение отредактировано\n"
76-
f"**Автор**\n{after.author.mention}\n")
77-
78-
b_fits = True if len(before.content) <= 3994 else False
79-
a_fits = True if len(after.content) <= 3992 else False
80-
before_field = f"# До\n{before.content[:None if b_fits else -9]}{'...' if not b_fits else ''}\n"
81-
after_field = f"# После\n{after.content[:None if a_fits else -12]}{'...' if not a_fits else ''}"
82-
83-
if len(main_n_before:=(main_text + before_field)) <= 4000:
84-
main_text = main_n_before
85-
if len(main_n_after:=(main_text + after_field)) <= 4000:
86-
main_text = main_n_after
87-
else:
88-
views.append(LazyLayout(ui.TextDisplay(after_field)))
89-
elif len(before_n_after:=(before_field + after_field)) <= 4000:
90-
views.append(LazyLayout(ui.TextDisplay(before_n_after)))
91-
else:
92-
views.append(LazyLayout(ui.TextDisplay(before_field)))
93-
views.append(LazyLayout(ui.TextDisplay(after_field)))
94-
views.insert(0, LazyLayout(ui.Section(main_text, accessory=ui.Thumbnail(after.author.display_avatar.url))))
95-
96-
for view in views:
97-
await log_channel.send(view=view, allowed_mentions=no_ping)
64+
await log_channel.send(embed=embed, view=JumpMessage(after.jump_url))
9865

9966
@commands.Cog.listener(name="on_message_delete")
100-
async def deleted(self, msg: discord.Message):
67+
async def deleted(self, msg):
10168
if msg.guild.id != GUILD:return
10269
if msg.author.id != self.bot.user.id and not isinstance(msg.channel, discord.DMChannel):
10370
# Getting files from message
104-
files = []
105-
media_gal = ui.MediaGallery()
106-
non_media = []
10771
if msg.attachments != None:
72+
files = []
10873
for attachment in msg.attachments:
10974
files.append(await attachment.to_file())
110-
if attachment.content_type and any((i in attachment.content_type.lower() for i in ("video", "image"))):
111-
media_gal.add_item(media=f"attachment://{attachment.filename}")
112-
else:
113-
non_media.append(ui.File(f"attachment://{attachment.filename}"))
114-
attachment_items = []
115-
if media_gal.items:
116-
attachment_items.append(media_gal)
117-
if non_media:
118-
attachment_items += non_media
75+
else:
76+
files = MISSING
11977
# Deleter
12078
now = datetime.now(timezone.utc)
12179
deleter = msg.author.mention
12280
guild = await self.bot.fetch_guild(GUILD)
12381
async for entry in guild.audit_logs(limit=5):
12482
if entry.action == discord.AuditLogAction.message_delete and entry.target.id == msg.author.id and\
125-
abs(now - entry.created_at) <= timedelta(seconds=2):
83+
abs(now - entry.created_at) <= timedelta(seconds=1):
12684
deleter = entry.user.mention
12785
# Build ebmed
86+
embed = discord.Embed(title=f"{Emojis.deleted_msg} Сообщение удалено", color=no_color)
87+
embed.set_author(icon_url=msg.author.display_avatar.url, name=msg.author.name)
88+
embed.add_field(name="Автор", value=msg.author.mention)
89+
embed.add_field(name="Удалитель", value=deleter)
90+
embed.add_field(name="Канал", value=msg.channel.jump_url)
91+
embed.add_field(name="Содержимое", value=msg.content[:1021] + ("..." if len(msg.content) >= 1024 else ""), inline=False)
92+
#
12893
log_channel = await self.bot.fetch_channel(LOGS_CHANNEL_ID)
129-
await log_channel.send(
130-
view=LazyLayout(
131-
ui.Section(
132-
f"{Emojis.deleted_msg} Сообщение удалено\n"
133-
f"**Автор**\n{msg.author.mention}\n"
134-
f"**Удалитель**\n{deleter}\n"
135-
f"**Канал**\n{msg.channel.jump_url}\n",
136-
accessory=ui.Thumbnail(msg.author.display_avatar.url)
137-
)
138-
),
139-
allowed_mentions=no_ping
140-
)
141-
await log_channel.send(
142-
view=LazyLayout(
143-
ui.TextDisplay(f"## Содержимое\n{msg.content}"),
144-
*attachment_items
145-
),
146-
files=files,
147-
allowed_mentions=no_ping
148-
)
94+
await log_channel.send(embed=embed, files=files)
14995

15096
#dms
15197
@commands.Cog.listener(name="on_message")

0 commit comments

Comments
 (0)