1717
1818class ORMBase (DeclarativeBase ):
1919 "Base for all of ORM classes"
20-
21- def __eq__ (self , value : object ) -> bool :
22- try :
23- return self .__dict__ ["id" ] == value .__dict__ ["id" ]
24- except KeyError :
25- return False
26-
27- def __hash__ (self ):
28- return hash (type (self )) << 4 | self .__dict__ .get ("id" , id (self ))
20+ pass
2921
3022
3123class MessageTYPE (ORMBase ):
@@ -49,6 +41,12 @@ class MessageTYPE(ORMBase):
4941 def __init__ (self , name : str = None ):
5042 self .name = name
5143
44+ def __eq__ (self , __value : object ) -> bool :
45+ return isinstance (__value , MessageTYPE ) and self .id == __value .id
46+
47+ def __hash__ (self ):
48+ return hash (self .id )
49+
5250
5351class MessageMODE (ORMBase ):
5452 """
@@ -72,6 +70,12 @@ class MessageMODE(ORMBase):
7270 def __init__ (self , name : str = None ):
7371 self .name = name
7472
73+ def __eq__ (self , __value : object ) -> bool :
74+ return isinstance (__value , MessageMODE ) and self .id == __value .id
75+
76+ def __hash__ (self ):
77+ return self .id
78+
7579
7680class GuildTYPE (ORMBase ):
7781 """
@@ -95,6 +99,12 @@ class GuildTYPE(ORMBase):
9599 def __init__ (self , name : str = None ):
96100 self .name = name
97101
102+ def __eq__ (self , __value : object ) -> bool :
103+ return isinstance (__value , GuildTYPE ) and self .id == __value .id
104+
105+ def __hash__ (self ):
106+ return self .id
107+
98108
99109class GuildUSER (ORMBase ):
100110 """
@@ -126,6 +136,12 @@ def __init__(self, guild_type: GuildTYPE, snowflake: int, name: str):
126136 self .name = name
127137 self .guild_type = guild_type
128138
139+ def __eq__ (self , __value : object ) -> bool :
140+ return isinstance (__value , GuildUSER ) and self .id == __value .id
141+
142+ def __hash__ (self ):
143+ return self .id
144+
129145
130146class CHANNEL (ORMBase ):
131147 """
@@ -156,6 +172,12 @@ def __init__(self, snowflake: int, name: str, guild: GuildUSER):
156172 self .name = name
157173 self .guild = guild
158174
175+ def __eq__ (self , __value : object ) -> bool :
176+ return isinstance (__value , CHANNEL ) and self .id == __value .id
177+
178+ def __hash__ (self ):
179+ return self .id
180+
159181
160182class DataHISTORY (ORMBase ):
161183 """
@@ -180,6 +202,12 @@ class DataHISTORY(ORMBase):
180202 def __init__ (self , content : dict ):
181203 self .content = content
182204
205+ def __eq__ (self , __value : object ) -> bool :
206+ return isinstance (__value , DataHISTORY ) and self .id == __value .id
207+
208+ def __hash__ (self ):
209+ return self .id
210+
183211
184212class MessageChannelLOG (ORMBase ):
185213 """
@@ -208,6 +236,15 @@ def __init__(self, channel: CHANNEL, reason: str = None):
208236 self .channel = channel
209237 self .reason = reason
210238
239+ def __eq__ (self , __value : object ) -> bool :
240+ return (
241+ isinstance (__value , MessageChannelLOG ) and
242+ (self .channel_id , self .log_id ) == (__value .channel_id , __value .log_id )
243+ )
244+
245+ def __hash__ (self ):
246+ return hash ((self .channel_id , self .log_id ))
247+
211248
212249class MessageLOG (ORMBase ):
213250 """
@@ -289,6 +326,12 @@ def __init__(
289326 self .timestamp = datetime .now ()
290327 self .channels = channels
291328
329+ def __eq__ (self , __value : object ) -> bool :
330+ return isinstance (__value , MessageLOG ) and self .id == __value .id
331+
332+ def __hash__ (self ):
333+ return self .id
334+
292335
293336class Invite (ORMBase ):
294337 __tablename__ = "Invite"
@@ -307,6 +350,12 @@ def __init__(self, discord_id: str, guild: GuildUSER):
307350 self .discord_id = discord_id
308351 self .guild = guild
309352
353+ def __eq__ (self , __value : object ) -> bool :
354+ return isinstance (__value , Invite ) and self .id == __value .id
355+
356+ def __hash__ (self ):
357+ return self .id
358+
310359
311360class InviteLOG (ORMBase ):
312361 __tablename__ = "InviteLOG"
@@ -328,3 +377,9 @@ def __init__(self, invite: Invite, member: GuildUSER):
328377 self .invite = invite
329378 self .member = member
330379 self .timestamp = datetime .now ()
380+
381+ def __eq__ (self , __value : object ) -> bool :
382+ return isinstance (__value , InviteLOG ) and self .id == __value .id
383+
384+ def __hash__ (self ):
385+ return self .id
0 commit comments