@@ -67,22 +67,20 @@ async def on_message(self, message: discord.Message):
67
67
self .convos [channel_id ] = Conversation (convo_id )
68
68
self .model .init_conversation (self .convos [channel_id ])
69
69
70
- content : str = message .content
70
+ content : str = message .clean_content
71
71
72
72
if content .startswith (cmd_text ):
73
73
await self .handle_cmd (message )
74
74
return
75
75
76
76
convo = self .convos [message .channel .id ]
77
- convo .add_message (
78
- ChatbotMessage (sender = message .author .display_name , message = message .content )
79
- )
77
+ convo .add_message (ChatbotMessage (sender = message .author .display_name , message = content ))
80
78
81
- respond = name .lower () in message . content .lower ()
79
+ respond = name .lower () in content .lower ()
82
80
respond = respond or self .user .mentioned_in (message )
83
81
respond = respond or (len (message .mentions ) == 0 and random () < 0.05 )
84
82
respond = respond or (
85
- convo .queue [- 2 ].sender == name and ("you" in message . content .lower () or random () < 0.33 )
83
+ convo .queue [- 2 ].sender == name and ("you" in content .lower () or random () < 0.33 )
86
84
)
87
85
88
86
if respond :
@@ -113,7 +111,7 @@ async def handle_chat(self, message: discord.Message):
113
111
)
114
112
115
113
async def handle_cmd (self , message : discord .Message ):
116
- content = shlex .split (message .content )[1 :]
114
+ content = shlex .split (message .clean_content )[1 :]
117
115
try :
118
116
args = parser .parse_args (content )
119
117
except EarlyExit as e :
@@ -166,6 +164,12 @@ def create_embed(self, author, title: str, description: str, footer=None) -> dis
166
164
167
165
return embed
168
166
167
+ async def close (self ):
168
+ for convo in self .convos .values ():
169
+ convo .dump ()
170
+
171
+ await super ().close ()
172
+
169
173
170
174
if __name__ == "__main__" :
171
175
intents = discord .Intents .default ()
0 commit comments