Skip to content

Commit 91206ca

Browse files
authored
Merge pull request #240 from Xaliks/fix-shortcuts-regex
Fix shortcuts regex
2 parents 7c995e7 + 76e493c commit 91206ca

2 files changed

Lines changed: 81 additions & 86 deletions

File tree

js/addMemberList.js

Lines changed: 80 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ function addMemberList(guild) {
2828
.filter((r) => r.hoist || r.position === 0) // Check if it is a displayed role or @everyone
2929
.sort((role1, role2) => role2.rawPosition - role1.rawPosition); // Sort by highest to lowest rank
3030

31-
3231
roles.each((r) => {
3332
// Loop through
3433
let members = r.members
@@ -38,10 +37,10 @@ function addMemberList(guild) {
3837
m.presence &&
3938
m.presence.status != 'offline' &&
4039
!cachedMembers.includes(m.user.id)
41-
)
40+
)
4241
.toJSON();
4342

44-
console.log(members);
43+
console.log(members);
4544

4645
if (members.length) {
4746
// Role container
@@ -56,48 +55,45 @@ function addMemberList(guild) {
5655
name.innerText = `${r.name} - ${members.length}`;
5756
container.appendChild(name);
5857

59-
60-
// Display only the first 100 members of each role
61-
members = members.slice(0,100);
58+
// Display only the first 100 members of each role
59+
members = members.slice(0, 100);
6260

6361
// Add each user
64-
62+
6563
// rendering too many members here causes performance issues.
6664
members
67-
.sort((m1, m2) => m1.id - m2.id)
68-
.forEach((m) => {
69-
cachedMembers.push(m.id);
70-
71-
// Create the outer div
72-
let outerDiv = document.createElement('div');
73-
outerDiv.classList.add('mLOuterDiv');
74-
container.appendChild(outerDiv);
75-
76-
// Make the div for the user
77-
let userDiv = document.createElement('div');
78-
userDiv.id = m.id;
79-
userDiv.classList.add('mLUserDiv');
80-
outerDiv.appendChild(userDiv);
81-
82-
// Add the user icon
83-
let icon = document.createElement('img');
84-
icon.src = m.displayAvatarURL({ size: 64 });
85-
icon.classList.add('mLIcon');
86-
userDiv.appendChild(icon);
87-
88-
// Make the username text
89-
let username = document.createElement('p');
90-
username.classList.add('mLUsername');
91-
let name = m.displayName;
92-
// if (name.length > 15) {
93-
// name = `${name.substring(0, 15)}...`
94-
// }
95-
username.innerText = name;
96-
username.style.color =
97-
m.roles.color?.hexColor || '#8E9297';
98-
userDiv.appendChild(username);
99-
});
100-
65+
.sort((m1, m2) => m1.id - m2.id)
66+
.forEach((m) => {
67+
cachedMembers.push(m.id);
68+
69+
// Create the outer div
70+
let outerDiv = document.createElement('div');
71+
outerDiv.classList.add('mLOuterDiv');
72+
container.appendChild(outerDiv);
73+
74+
// Make the div for the user
75+
let userDiv = document.createElement('div');
76+
userDiv.id = m.id;
77+
userDiv.classList.add('mLUserDiv');
78+
outerDiv.appendChild(userDiv);
79+
80+
// Add the user icon
81+
let icon = document.createElement('img');
82+
icon.src = m.displayAvatarURL({ size: 64 });
83+
icon.classList.add('mLIcon');
84+
userDiv.appendChild(icon);
85+
86+
// Make the username text
87+
let username = document.createElement('p');
88+
username.classList.add('mLUsername');
89+
let name = m.displayName;
90+
// if (name.length > 15) {
91+
// name = `${name.substring(0, 15)}...`
92+
// }
93+
username.innerText = name;
94+
username.style.color = m.roles.color?.hexColor || '#8E9297';
95+
userDiv.appendChild(username);
96+
});
10197
}
10298
});
10399

@@ -110,51 +106,50 @@ function addMemberList(guild) {
110106
!cachedMembers.includes(m.user.id)
111107
)
112108
.toJSON();
113-
114-
// Display only the first 100 members
115-
onlineMembers = onlineMembers.slice(0,100);
116-
// Create online label text
117-
let container = document.createElement('div');
118-
container.id = 'onlineUserList';
119-
container.classList.add('roleContainer');
120-
listDiv.appendChild(container);
121109

122-
let name = document.createElement('span');
123-
name.classList.add('roleTitle');
124-
name.innerText = 'online';
125-
container.appendChild(name);
126-
127-
// Show online users
128-
onlineMembers
129-
.sort((m1, m2) => m1.id - m2.id)
130-
.forEach((m) => {
131-
cachedMembers.push(m.id);
132-
133-
// Create the outer div
134-
let outerDiv = document.createElement('div');
135-
outerDiv.classList.add('mLOuterDiv');
136-
container.appendChild(outerDiv);
137-
138-
// Make the div for the user
139-
let userDiv = document.createElement('div');
140-
userDiv.id = m.id;
141-
userDiv.classList.add('mLUserDiv');
142-
outerDiv.appendChild(userDiv);
143-
144-
// Add the user icon
145-
let icon = document.createElement('img');
146-
icon.src = m.displayAvatarURL({ size: 64 });
147-
icon.classList.add('mLIcon');
148-
userDiv.appendChild(icon);
149-
150-
// Make the username text
151-
let username = document.createElement('p');
152-
username.classList.add('mLUsername');
153-
username.innerText = m.nickname || m.user.username;
154-
username.style.color = m.roles.color?.hexColor || '#8E9297';
155-
userDiv.appendChild(username);
156-
});
157-
110+
// Display only the first 100 members
111+
onlineMembers = onlineMembers.slice(0, 100);
112+
// Create online label text
113+
let container = document.createElement('div');
114+
container.id = 'onlineUserList';
115+
container.classList.add('roleContainer');
116+
listDiv.appendChild(container);
117+
118+
let name = document.createElement('span');
119+
name.classList.add('roleTitle');
120+
name.innerText = 'online';
121+
container.appendChild(name);
122+
123+
// Show online users
124+
onlineMembers
125+
.sort((m1, m2) => m1.id - m2.id)
126+
.forEach((m) => {
127+
cachedMembers.push(m.id);
128+
129+
// Create the outer div
130+
let outerDiv = document.createElement('div');
131+
outerDiv.classList.add('mLOuterDiv');
132+
container.appendChild(outerDiv);
133+
134+
// Make the div for the user
135+
let userDiv = document.createElement('div');
136+
userDiv.id = m.id;
137+
userDiv.classList.add('mLUserDiv');
138+
outerDiv.appendChild(userDiv);
139+
140+
// Add the user icon
141+
let icon = document.createElement('img');
142+
icon.src = m.displayAvatarURL({ size: 64 });
143+
icon.classList.add('mLIcon');
144+
userDiv.appendChild(icon);
145+
146+
// Make the username text
147+
let username = document.createElement('p');
148+
username.classList.add('mLUsername');
149+
username.innerText = m.nickname || m.user.username;
150+
username.style.color = m.roles.color?.hexColor || '#8E9297';
151+
userDiv.appendChild(username);
152+
});
158153

159154
// Display the offline users
160155
const offlineMembers = guild.members.cache

js/parseMessage.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
let parseSend = (text) => {
1818
// The regex used for the emojis
1919
let emojiRegex =
20-
/>:\(|>:-\(|>=\(|>=-\(|:"\)|:-"\)|="\)|=-"\)|<\/3|:-\\|:-\/|=-\\|=-\/|:'\(|:'-\(|:,\(|:,-\(|='\(|='-\(|=,\(|=,-\(|:\(|:-\(|=\(|=-\(|<3||]:\(|\]:-\(|]=\(|]=-\(|o:\)|O:\)|o:-\)|O:-\)|0:\)|0:-\)|o=\)|O=\)|o=-\)|O=-\)|0=\)|0=-\)|:'D|:'-D|:,D|:,-D|='D|='-D|=,D|=,-D|:\*|:-\*|=\*|=-\*|x-\)|X-\)|:\||:-\||=\||=-\||:o|:-o|:O|:-O|=o|=-o|=O|=-O|:@|:-@|=@|=-@|:D|:-D|=D|=-D|:'\)|:'-\)|:,\)|:,-\)|='\)|='-\)|=,\)|=,-\)|:\)|:-\)|=\)|=-\)|]:\)|]:-\)|]=\)|]=-\)|:,'\(|:,'-\(|;\(|;-\(|=,'\(|=,'-\(|:P|:-P|=P|=-P|8-\)|B-\)|,:\(|,:-\(|,=\(|,=-\(|,:\)|,:-\)|,=\)|,=-\)|:s|:-S|:z|:-Z|:\$|:-\$|=s|=-S|=z|=-Z|=\$|=-\$|;\)|;-\)/gm;
20+
/(?<!\S)(>:\(|>:-\(|>=\(|>=-\(|:"\)|:-"\)|="\)|=-"\)|<\/3|:-\\|:-\/|=-\\|=-\/|:'\(|:'-\(|:,\(|:,-\(|='\(|='-\(|=,\(|=,-\(|:\(|:-\(|=\(|=-\(|<3||]:\(|\]:-\(|]=\(|]=-\(|o:\)|O:\)|o:-\)|O:-\)|0:\)|0:-\)|o=\)|O=\)|o=-\)|O=-\)|0=\)|0=-\)|:'D|:'-D|:,D|:,-D|='D|='-D|=,D|=,-D|:\*|:-\*|=\*|=-\*|x-\)|X-\)|:\||:-\||=\||=-\||:o|:-o|:O|:-O|=o|=-o|=O|=-O|:@|:-@|=@|=-@|:D|:-D|=D|=-D|:'\)|:'-\)|:,\)|:,-\)|='\)|='-\)|=,\)|=,-\)|:\)|:-\)|=\)|=-\)|]:\)|]:-\)|]=\)|]=-\)|:,'\(|:,'-\(|;\(|;-\(|=,'\(|=,'-\(|:P|:-P|=P|=-P|8-\)|B-\)|,:\(|,:-\(|,=\(|,=-\(|,:\)|,:-\)|,=\)|,=-\)|:s|:-S|:z|:-Z|:\$|:-\$|=s|=-S|=z|=-Z|=\$|=-\$|;\)|;-\))(?!\S)/gm;
2121

2222
// Replace all the shortcuts with actual emojis
2323
text = text.replace(emojiRegex, (a) => {

0 commit comments

Comments
 (0)