66from discord .ext .commands import Cog
77
88from utils .decorators import server_configured
9+ from utils .time import now
910
1011
1112class GuildLog (commands .Cog ):
@@ -19,27 +20,65 @@ async def on_ready(self):
1920
2021 @Cog .listener ()
2122 @server_configured
22- async def on_guild_update (self , before , after ):
23- print ('hi mom' )
23+ async def on_guild_update (self , before , after , log_channel ):
24+ msg = f'🌐 `{ now ()} ` **Guild Updated**\n '
25+
26+ if before .name != after .name :
27+ msg += f'**Name:** { before .name } **->** { after .name } \n '
28+
29+ if before .region != after .region :
30+ msg += f'**Region:** { before .region } **->** { after .region } \n '
31+
32+ if before .icon != after .icon :
33+ msg += f'**Icon:** <{ before .icon_url } > **->** <{ after .icon_url } >\n '
34+
35+ await log_channel .send (msg )
2436
2537 @Cog .listener ()
26- async def on_member_join (self , member ):
27- ...
38+ @server_configured
39+ async def on_guild_emojis_update (self , guild , before , after , log_channel ):
40+ msg = f'🌐 `{ now ()} ` **Emojis Updated**\n '
41+ added = next ((e for e in after if e not in before ), None )
42+ removed = next ((e for e in before if e not in after ), None )
43+
44+ if added :
45+ msg += f'Added { added } \n '
46+
47+ if removed :
48+ msg += f'Removed { removed .name } (`{ removed .id } `)\n '
49+
50+ await log_channel .send (msg )
2851
2952 @Cog .listener ()
30- async def on_member_remove (self , member ):
31- ...
53+ @server_configured
54+ async def on_member_join (self , member , log_channel ):
55+ msg = f'✅ `{ now ()} ` **Member Joined**\n ' \
56+ f'**Member:** { member } (`{ member .id } `)\n ' \
57+ f'**Total Members:** `{ member .guild .member_count } `'
58+ await log_channel .send (msg )
59+ # track invites and sync
60+
61+ @Cog .listener ()
62+ @server_configured
63+ async def on_member_remove (self , member , log_channel ):
64+ msg = f'✅ `{ now ()} ` **Member Left/Kicked**\n ' \
65+ f'**Member:** { member } (`{ member .id } `)\n ' \
66+ f'**Total Members:** `{ member .guild .member_count } `'
67+ await log_channel .send (msg )
3268
3369 @Cog .listener ()
34- async def on_member_update (self , before , after ):
70+ @server_configured
71+ async def on_member_update (self , before , after , log_channel ):
3572 ...
3673
3774 @Cog .listener ()
38- async def on_member_ban (self , guild , member ):
75+ @server_configured
76+ async def on_member_ban (self , guild , member , log_channel ):
3977 ...
4078
4179 @Cog .listener ()
42- async def on_member_unban (self , guild , member ):
80+ @server_configured
81+ async def on_member_unban (self , guild , member , log_channel ):
4382 ...
4483
4584
0 commit comments