Skip to content

Commit b5fdfb5

Browse files
committed
Merge branch 'costumer_mimic' of https://github.com/Pyra-Tech/Gagbot into costumer_mimic
2 parents 91d4811 + 8938b8b commit b5fdfb5

File tree

4 files changed

+47
-11
lines changed

4 files changed

+47
-11
lines changed

commands/list.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,15 @@ async function generateList(listchoice, page, details) {
3838
// Page Down
3939
new ButtonBuilder()
4040
.setCustomId(`list_pagedown_${listchoice}_${page}_${details}`)
41-
.setLabel(" Prev Page")
41+
.setLabel(" Prev Page")
4242
.setStyle(ButtonStyle.Secondary)
4343
.setDisabled(page <= 1),
4444
// Current Page
4545
new ButtonBuilder().setCustomId(`list_none_${listchoice}_${page}_${details}`).setLabel(`Page ${page} of ${maxpages}`).setStyle(ButtonStyle.Secondary),
4646
// Page Up
4747
new ButtonBuilder()
4848
.setCustomId(`list_pageup_${listchoice}_${page}_${details}`)
49-
.setLabel("Next Page ")
49+
.setLabel("Next Page ")
5050
.setStyle(ButtonStyle.Secondary)
5151
.setDisabled(page >= maxpages),
5252
];

functions/gagfunctions.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -460,10 +460,16 @@ function textGarbleGag(messagein, msg, modifiedmessage, outtextin) {
460460
let gaggarble = require(path.join(commandsPath, `${gag.gagtype}.js`));
461461
let intensity = gag.intensity ? gag.intensity : 5;
462462
if (gaggarble.messagebegin) {
463-
msgpartsbegin.push(gaggarble.messagebegin(msg.content, intensity));
463+
let out = gaggarble.messagebegin(msg.content, intensity, msgparts);
464+
if (typeof out == "string") {
465+
msgpartsbegin.push(out);
466+
} else {
467+
// Do further changes here I guess if necessary.
468+
msgparts = out.msgparts;
469+
}
464470
}
465471
for (let i = 0; i < msgparts.length; i++) {
466-
if (msgparts[i].garble) {
472+
if (msgparts[i].garble && gaggarble.garbleText) {
467473
let garbled = gaggarble.garbleText(msgparts[i].text, intensity);
468474
if (typeof garbled == "string") {
469475
msgparts[i].text = garbled;

gags/politeSub.js

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const garbleText = (text, intensity) => {
1+
const messagebegin = (msgcontent, intensity, msgparts) => {
22
let honorifictitles = [
33
// Oh god its hard to type these without caps
44
"miss",
@@ -37,6 +37,10 @@ const garbleText = (text, intensity) => {
3737
"dame",
3838
"count",
3939
"overlord",
40+
"(\\w|\\d)+-sama",
41+
"(\\w|\\d)+-sensei",
42+
"(\\w|\\d)+-san",
43+
"(\\w|\\d)+-kun",
4044
];
4145

4246
let silenttitles = [`\n*looks down silently*\n`, `\n*tries to speak, but no words come out*\n`, `\n*nods without a word*\n`, `\n*looks down and to the side*\n`, `\n*twiddles thumbs meekly*\n`, `\n*pouts as the gag stops impolite speech*\n`, `\n*goes mute without an honorific*\n`, `\n*meeps but produces no audible words*\n`, `\n*casts eyes downward, like a good sub*\n`, `\n*blushes and mumbles something*\n`];
@@ -47,13 +51,27 @@ const garbleText = (text, intensity) => {
4751
let honorificsmap = honorifictitles.join("|");
4852
let regexpattern = new RegExp(`\\b(${honorificsmap})\\b`, "i");
4953

50-
if (regexpattern.test(text)) {
51-
textout = text;
52-
garblemode = true;
54+
if (regexpattern.test(msgcontent)) {
55+
// They were polite, don't touch it.
56+
return { msgparts: msgparts };
57+
} else {
58+
let msgpartschanged = msgparts.slice(0);
59+
let silented = false;
60+
for (let i = 0; i < msgpartschanged.length; i++) {
61+
// Twiddle their thumbs
62+
if (!silented && msgpartschanged[i].garble) {
63+
msgpartschanged[i].text = silenttitles[Math.floor(Math.random() * silenttitles.length)];
64+
silented = true;
65+
}
66+
// Theyve been silenced, no more speech.
67+
else if (msgpartschanged[i].garble) {
68+
msgpartschanged[i].text = "";
69+
}
70+
}
71+
return { msgparts: msgpartschanged };
5372
}
54-
55-
return { text: textout, garble: garblemode };
5673
};
5774

58-
exports.garbleText = garbleText;
75+
//exports.garbleText = garbleText;
76+
exports.messagebegin = messagebegin;
5977
exports.choicename = "Polite Sub Gag";

gags/soap.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
const garbleText = (text, intensity) => {
2+
let curses = ["fuck", "fucking", "fuckin", "motherfucker", "damn", "dammit", "bitch", "shit", "bitchin'", "ass", "asshole", "arse", "goddammit", "piss", "dick", "dickhead", "damned", "bullshit", "fucked", "fucker", "crap", "hell", "cunt", "bollocks", "slut", "sluts", "idiot"];
3+
4+
let cursemap = curses.join("|");
5+
let regexpattern = new RegExp(`\\b(${cursemap})\\b`, "gi");
6+
let textout = text.replaceAll(regexpattern, "🧼".repeat(Math.floor(intensity / 2)));
7+
8+
return { text: textout, garble: true };
9+
};
10+
11+
exports.garbleText = garbleText;
12+
exports.choicename = "Soap Gag";

0 commit comments

Comments
 (0)