Browse Source

Add emoji support (thanks primarily to LiquidFenrir

Alex Taber 6 years ago
parent
commit
d79b43e5a3
1 changed files with 13 additions and 1 deletions
  1. 13
    1
      app.py

+ 13
- 1
app.py View File

34
 	content = message.clean_content + ("\n" + attachments if attachments != "" else "")
34
 	content = message.clean_content + ("\n" + attachments if attachments != "" else "")
35
 	return content
35
 	return content
36
 
36
 
37
+guild = None
38
+emojis = {}
39
+
40
+@discord_client.event
41
+async def on_ready():
42
+	global guild
43
+	global emojis
44
+	guild = discord_client.get_channel(discord_channel).guild
45
+	emojis = {":{}:".format(emoji.name): "<:{}:{}>".format(emoji.name, emoji.id) for emoji in guild.emojis}
46
+
37
 @discord_client.event
47
 @discord_client.event
38
 async def on_message(message):
48
 async def on_message(message):
39
 	if message.author.discriminator == "0000" or message.channel.id != discord_channel: return
49
 	if message.author.discriminator == "0000" or message.channel.id != discord_channel: return
52
 	content = content.replace("@here", "@\u200Bhere")
62
 	content = content.replace("@here", "@\u200Bhere")
53
 	content = re.sub("</?del>", "~~", content)
63
 	content = re.sub("</?del>", "~~", content)
54
 	mentions = re.findall("(^|\s)(@(\w*))", content)
64
 	mentions = re.findall("(^|\s)(@(\w*))", content)
55
-	guild = discord_client.get_channel(discord_channel).guild
56
 	for mention in mentions:
65
 	for mention in mentions:
57
 		member = guild.get_member_named(mention[2])
66
 		member = guild.get_member_named(mention[2])
58
 		if not member: continue
67
 		if not member: continue
59
 		content = content.replace(mention[1], member.mention)
68
 		content = content.replace(mention[1], member.mention)
69
+	for emoji_name, emoji_id in emojis.items():
70
+		if emoji_name in content:
71
+			content = content.replace(emoji_name, emoji_id)
60
 	return content
72
 	return content
61
 
73
 
62
 def on_matrix_message(room, event):
74
 def on_matrix_message(room, event):