Skip to content

Commit eebb8e7

Browse files
author
omame
committed
feat: add sticker support
1 parent 3ff5117 commit eebb8e7

File tree

2 files changed

+17
-7
lines changed

2 files changed

+17
-7
lines changed

cogs/lar.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,7 @@ async def learn(self, message: discord.Message):
2828
if reply.author.id in self.config.config["optout"]:
2929
return
3030

31-
content = qna.classes.sanitize_question((reply.clean_content + " " +
32-
" ".join([attachment.url for attachment in reply.attachments])).strip())
31+
content = qna.classes.sanitize_question(qna.helpers.get_message_as_string(reply))
3332
if content + str(message.guild.id) not in self.config.question_map.keys():
3433
self.config.question_map.update({content + str(message.guild.id): qna.classes.Question(
3534
content,
@@ -38,24 +37,24 @@ async def learn(self, message: discord.Message):
3837
reply.id,
3938
reply.author.id
4039
)})
41-
response_content = (message.clean_content + " " +
42-
" ".join([attachment.url for attachment in message.attachments])).strip()
40+
response_content = qna.helpers.get_message_as_string(message)
4341
self.config.question_map[content + str(message.guild.id)].add_response(qna.classes.Response(
4442
response_content,
4543
message.guild.id,
4644
message.channel.id,
4745
message.id,
4846
message.author.id
4947
))
50-
self.logger.debug(f"save: {reply.clean_content} -> {message.clean_content}")
48+
self.logger.debug(f"save: {qna.helpers.get_message_as_string(reply)} -> "
49+
f"{qna.helpers.get_message_as_string(message)}")
5150

5251
async def reply(self, message: discord.Message):
5352
guild: discord.Guild = message.guild
5453
channel: discord.TextChannel = message.channel
5554

5655
if str(guild.id) in self.config.config["guilds"].keys():
5756
if channel.id == self.config.config["guilds"][str(guild.id)]["channel"]:
58-
content = qna.classes.sanitize_question(str(message.clean_content))
57+
content = qna.classes.sanitize_question(qna.helpers.get_message_as_string(message))
5958
placeholder = "I don't know what to say (give me some time to learn)"
6059
text = placeholder
6160
server_questions = [q for q in self.config.question_map.values() if q.guild == message.guild.id]
@@ -74,7 +73,7 @@ async def reply(self, message: discord.Message):
7473
message_reply = await message.reply(text, view=view)
7574
if self.mod_mode.is_in_mod_mode(guild, message.author):
7675
self.mod_mode.save_info(guild, message.author, message_reply, question, response)
77-
self.logger.debug(f"reply: {message.clean_content} -> {text}")
76+
self.logger.debug(f"reply: {qna.helpers.get_message_as_string(message)} -> {text}")
7877
self.config.messages_sent += 1
7978

8079
@commands.Cog.listener()

qna/helpers.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import random
22
import typing
33
import Levenshtein
4+
import discord
5+
46
from .classes import Question, Response
57

68

@@ -36,3 +38,12 @@ def get_closest_question(questions: typing.List[Question], message: str) -> Ques
3638
target = question
3739

3840
return target
41+
42+
43+
def get_message_as_string(message: discord.Message) -> str:
44+
ret = message.clean_content
45+
ret += " " + " ".join([attachment.url for attachment in message.attachments])
46+
ret += " " + " ".join([f"https://media.discordapp.net/stickers/{sticker.id}.png?size=160"
47+
for sticker in message.stickers])
48+
49+
return ret.strip()

0 commit comments

Comments
 (0)