feat(NoReplyMention): exempt list support (#337)

This commit is contained in:
Pedro 2022-12-15 11:05:44 -03:00 committed by GitHub
parent f1bdfdd6b9
commit f6122a00ca
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 33 additions and 6 deletions

View file

@ -16,20 +16,43 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import { Settings } from "@api/settings";
import { Devs } from "@utils/constants";
import definePlugin from "@utils/types";
import definePlugin, { OptionType } from "@utils/types";
interface Reply {
message: {
author: {
id: string;
};
};
}
export default definePlugin({
name: "NoReplyMention",
description: "Disables reply pings by default",
authors: [Devs.DustyAngel47],
authors: [Devs.DustyAngel47, Devs.axyie],
options: {
exemptList: {
description:
"List of users to exempt from this plugin (separated by commas)",
type: OptionType.STRING,
default: "1234567890123445,1234567890123445",
},
},
shouldMention(reply: Reply) {
return Settings.plugins.NoReplyMention.exemptList.includes(
reply.message.author.id
);
},
patches: [
{
find: "CREATE_PENDING_REPLY:function",
replacement: {
match: /CREATE_PENDING_REPLY:function\((.{1,2})\){/,
replace: "CREATE_PENDING_REPLY:function($1){$1.shouldMention=false;"
}
}
]
replace:
"CREATE_PENDING_REPLY:function($1){$1.shouldMention=Vencord.Plugins.plugins.NoReplyMention.shouldMention($1);",
},
},
],
});

View file

@ -173,4 +173,8 @@ export const Devs = Object.freeze({
name: "ActuallyTheSun",
id: 406028027768733696n
},
axyie: {
name: "'ax",
id: 273562710745284628n,
},
});