1
1
import discord
2
2
from datetime import datetime
3
-
4
3
import utils
5
4
from utils import utc_to_epoch , ServerSettings
6
5
from discord .ext import commands
@@ -13,15 +12,13 @@ def __init__(self, bot):
13
12
14
13
@commands .Cog .listener ()
15
14
async def on_member_join (self , member ):
16
- self .bot .socketio .emit ("user count" , {"users" : len (self .bot .users )})
17
-
18
15
if not member .bot :
19
16
UserProfiles (member )
20
17
21
18
server_settings = ServerSettings (member .guild ).getServerDocument ()
22
19
log_channel = self .bot .get_channel (server_settings ["log_channel" ]) if server_settings ["log_channel" ] else None
23
20
enabled = server_settings ["events" ]["guild_member_join" ]
24
- if log_channel and enabled :
21
+ if log_channel is not None and enabled :
25
22
created_at_unix = utc_to_epoch (member .created_at )
26
23
created_date = datetime .fromtimestamp (created_at_unix )
27
24
embed = discord .Embed (title = "User joined the server!" , description = None , color = discord .Color .green (),
@@ -36,11 +33,15 @@ async def on_member_join(self, member):
36
33
37
34
@commands .Cog .listener ()
38
35
async def on_member_remove (self , member ):
39
- self .bot .socketio .emit ("user count" , {"users" : len (self .bot .users )})
40
36
41
37
if not member .bot :
42
38
UserProfiles (member ).reset ()
43
- banned_users = await member .guild .bans ()
39
+ try :
40
+ banned_users = await member .guild .bans ()
41
+ except :
42
+ # TODO: add exceptions here and handle them
43
+ return
44
+
44
45
is_banned = [x for x in banned_users if x .user .id == member .id ]
45
46
if is_banned :
46
47
return
@@ -49,7 +50,7 @@ async def on_member_remove(self, member):
49
50
log_channel = self .bot .get_channel (server_settings ["log_channel" ]) if server_settings [
50
51
"log_channel" ] else None
51
52
enabled = server_settings ["events" ]["guild_member_leave" ]
52
- if log_channel and enabled :
53
+ if log_channel is not None and enabled :
53
54
created_at_unix = utc_to_epoch (member .created_at )
54
55
created_date = datetime .fromtimestamp (created_at_unix )
55
56
joined_at_unix = utc_to_epoch (member .joined_at )
@@ -73,7 +74,7 @@ async def on_member_remove(self, member):
73
74
# log_channel = self.bot.get_channel(server_settings["settings"]["log_channel"]) if server_settings["settings"][
74
75
# "log_channel"] else None
75
76
# enabled = server_settings["settings"]["events"]["guild_member_ban"]
76
- # if log_channel and enabled:
77
+ # if log_channel is not None and enabled:
77
78
# ban_reason = await guild.fetch_ban(user=member)
78
79
# embed = discord.Embed(title="User was banned from the server!", description=None, color=discord.Color.red(), timestamp=datetime.utcnow())
79
80
# embed.add_field(name=f"Username", value=f"{member.mention} ({member.id})", inline=False)
@@ -92,7 +93,7 @@ async def on_member_unban(self, guild: discord.Guild, member: discord.Member):
92
93
log_channel = self .bot .get_channel (server_settings ["log_channel" ]) if server_settings [
93
94
"log_channel" ] else None
94
95
enabled = server_settings ["events" ]["guild_member_unban" ]
95
- if log_channel and enabled :
96
+ if log_channel is not None and enabled :
96
97
embed = discord .Embed (title = "User was unbanned from the server!" , description = None ,
97
98
color = discord .Color .green (),
98
99
timestamp = datetime .utcnow ())
@@ -108,7 +109,7 @@ async def on_member_unban(self, guild: discord.Guild, member: discord.Member):
108
109
# server_settings = ServerSettings(before.guild).getServerDocument()
109
110
# log_channel = self.bot.get_channel(server_settings["log_channel"]) if server_settings["log_channel"] else None
110
111
# enabled = server_settings["events"]["guild_member_update"]
111
- # if log_channel and enabled:
112
+ # if log_channel is not None and enabled:
112
113
# pass
113
114
114
115
@commands .Cog .listener ()
@@ -119,7 +120,7 @@ async def on_message_delete(self, message: discord.Message):
119
120
log_channel = self .bot .get_channel (server_settings ["log_channel" ]) if server_settings [
120
121
"log_channel" ] else None
121
122
enabled = server_settings ["events" ]["guild_message_delete" ]
122
- if log_channel and enabled :
123
+ if log_channel is not None and enabled :
123
124
embed = discord .Embed (title = f"Message deleted" , description = None ,
124
125
color = discord .Color .red (),
125
126
timestamp = datetime .utcnow ())
@@ -139,7 +140,7 @@ async def on_message_edit(self, before: discord.Message, after: discord.Message)
139
140
log_channel = self .bot .get_channel (server_settings ["log_channel" ]) if server_settings [
140
141
"log_channel" ] else None
141
142
enabled = server_settings ["events" ]["guild_message_edit" ]
142
- if log_channel and enabled :
143
+ if log_channel is not None and enabled :
143
144
embed = discord .Embed (title = f"Message edited" , description = None ,
144
145
color = discord .Color .green (),
145
146
timestamp = datetime .utcnow ())
@@ -156,7 +157,7 @@ async def on_guild_channel_create(self, channel: discord.abc.GuildChannel):
156
157
log_channel = self .bot .get_channel (server_settings ["log_channel" ]) if server_settings [
157
158
"log_channel" ] else None
158
159
enabled = server_settings ["events" ]["guild_channel_create" ]
159
- if log_channel and enabled :
160
+ if log_channel is not None and enabled :
160
161
await log_channel .send (f"Channel created: { channel .mention } [{ channel .name } ] ({ channel .id } )" )
161
162
162
163
@commands .Cog .listener ()
@@ -165,7 +166,7 @@ async def on_guild_channel_delete(self, channel: discord.abc.GuildChannel):
165
166
log_channel = self .bot .get_channel (server_settings ["log_channel" ]) if server_settings [
166
167
"log_channel" ] else None
167
168
enabled = server_settings ["events" ]["guild_channel_delete" ]
168
- if log_channel and enabled :
169
+ if log_channel is not None and enabled :
169
170
await log_channel .send (f"Channel deleted: { channel .name } ({ channel .id } )" )
170
171
171
172
@commands .Cog .listener ()
@@ -175,7 +176,7 @@ async def on_guild_update(self, before: discord.Guild, after: discord.Guild):
175
176
log_channel = self .bot .get_channel (server_settings ["log_channel" ]) if server_settings [
176
177
"log_channel" ] else None
177
178
enabled = server_settings ["events" ]["guild_update" ]
178
- if log_channel and enabled :
179
+ if log_channel is not None and enabled :
179
180
embed = discord .Embed (title = f"Guild Updated" , description = None , color = discord .Color .green (),
180
181
timestamp = datetime .utcnow ())
181
182
embed .set_author (name = self .bot .user .name , icon_url = self .bot .user .avatar_url )
@@ -194,7 +195,7 @@ async def on_guild_role_create(self, role: discord.Role):
194
195
embed .add_field (name = "Hoisted" , value = f"{ role .hoist } " )
195
196
embed .add_field (name = "Mentionable" , value = f"{ role .mentionable } " )
196
197
embed .set_author (name = self .bot .user .name , icon_url = self .bot .user .avatar_url )
197
- if log_channel and enabled :
198
+ if log_channel is not None and enabled :
198
199
await log_channel .send (content = None , embed = embed )
199
200
200
201
@commands .Cog .listener ()
@@ -208,7 +209,7 @@ async def on_guild_role_delete(self, role: discord.Role):
208
209
embed .add_field (name = "Role Name" , value = f"{ role .name } " )
209
210
embed .add_field (name = "Role ID" , value = f"{ role .id } " )
210
211
embed .set_author (name = self .bot .user .name , icon_url = self .bot .user .avatar_url )
211
- if log_channel and enabled :
212
+ if log_channel is not None and enabled :
212
213
await log_channel .send (content = None , embed = embed )
213
214
214
215
@commands .Cog .listener ()
@@ -218,7 +219,7 @@ async def on_guild_role_update(self, before: discord.Role, after: discord.Role):
218
219
log_channel = self .bot .get_channel (server_settings ["log_channel" ]) if server_settings [
219
220
"log_channel" ] else None
220
221
enabled = server_settings ["events" ]["guild_role_update" ]
221
- if log_channel and enabled :
222
+ if log_channel is not None and enabled :
222
223
embed = discord .Embed (title = f"Role Updated" , description = None , color = discord .Color .green (),
223
224
timestamp = datetime .utcnow ())
224
225
embed .set_author (name = self .bot .user .name , icon_url = self .bot .user .avatar_url )
@@ -231,7 +232,7 @@ async def on_guild_emojis_update(self, guild: discord.Guild, before: discord.Emo
231
232
log_channel = self .bot .get_channel (server_settings ["log_channel" ]) if server_settings [
232
233
"log_channel" ] else None
233
234
enabled = server_settings ["events" ]["guild_role_update" ]
234
- if log_channel and enabled :
235
+ if log_channel is not None and enabled :
235
236
# embed = discord.Embed(title=f"Emoji Updated", description=None, color=discord.Color.green(),
236
237
# timestamp=datetime.utcnow())
237
238
# embed.set_author(name=self.bot.user.name, icon_url=self.bot.user.avatar_url)
0 commit comments