Update EditUsers.plugin.js

This commit is contained in:
Mirco Wittrien 2021-01-07 14:25:35 +01:00
parent 9e70ff6059
commit 35f4598938
1 changed files with 52 additions and 39 deletions

View File

@ -14,12 +14,12 @@ module.exports = (_ => {
"info": { "info": {
"name": "EditUsers", "name": "EditUsers",
"author": "DevilBro", "author": "DevilBro",
"version": "4.0.8", "version": "4.0.9",
"description": "Allow you to change the icon, name, tag and color of users" "description": "Allow you to change the icon, name, tag and color of users"
}, },
"changeLog": { "changeLog": {
"improved": { "fixed": {
"Reset Confirmation": "Trying to reset a user will first ask for permission, holding Shift will skip this" "Messages": "Works in messages again"
} }
} }
}; };
@ -193,6 +193,27 @@ module.exports = (_ => {
let observer = new MutationObserver(_ => {this.changeAppTitle();}); let observer = new MutationObserver(_ => {this.changeAppTitle();});
BDFDB.ObserverUtils.connect(this, document.head.querySelector("title"), {name: "appTitleObserver", instance: observer}, {childList: true}); BDFDB.ObserverUtils.connect(this, document.head.querySelector("title"), {name: "appTitleObserver", instance: observer}, {childList: true});
BDFDB.PatchUtils.patch(this, BDFDB.LibraryModules.MessageAuthorUtils, "getMessageAuthor", {after: e => {
if (settings.changeInChatWindow && e.methodArguments[0] && e.methodArguments[0].id && changedUsers[e.methodArguments[0].id]) {
let data = changedUsers[e.methodArguments[0].id];
if (data.name || data.color1) {
let color1 = data.color1 && data.useRoleColor && (BDFDB.LibraryModules.MemberStore.getMember(e.methodArguments[0].guild_id, e.methodArguments[0].id) || {}).colorString || data.color1;
if (data.name) e.returnValue.nick = data.name;
if (color1) e.returnValue.colorString = BDFDB.ColorUtils.convert(BDFDB.ObjectUtils.is(color1) ? color1[0] : color1, "HEX");
}
}
}});
BDFDB.PatchUtils.patch(this, BDFDB.LibraryModules.MessageAuthorUtils, "default", {after: e => {
if (settings.changeInChatWindow && e.methodArguments[0] && e.methodArguments[0].author && changedUsers[e.methodArguments[0].author.id]) {
let data = changedUsers[e.methodArguments[0].author.id];
if (data.name || data.color1) {
let color1 = data.color1 && data.useRoleColor && (BDFDB.LibraryModules.MemberStore.getMember((BDFDB.LibraryModules.ChannelStore.getChannel(e.methodArguments[0].channel_id) || {}).guild_id, e.methodArguments[0].author.id) || {}).colorString || data.color1;
if (data.name) e.returnValue.nick = data.name;
if (color1) e.returnValue.colorString = BDFDB.ColorUtils.convert(BDFDB.ObjectUtils.is(color1) ? color1[0] : color1, "HEX");
}
}
}});
let searchGroupData = BDFDB.ObjectUtils.get(BDFDB.ModuleUtils.findByName("SearchPopoutComponent", false), "exports.GroupData"); let searchGroupData = BDFDB.ObjectUtils.get(BDFDB.ModuleUtils.findByName("SearchPopoutComponent", false), "exports.GroupData");
if (BDFDB.ObjectUtils.is(searchGroupData)) { if (BDFDB.ObjectUtils.is(searchGroupData)) {
BDFDB.PatchUtils.patch(this, searchGroupData.FILTER_FROM, "component", {after: e => { BDFDB.PatchUtils.patch(this, searchGroupData.FILTER_FROM, "component", {after: e => {
@ -303,37 +324,35 @@ module.exports = (_ => {
} }
let [children, index] = BDFDB.ContextMenuUtils.findItem(e.returnvalue, {id: "devmode-copy-id", group: true}); let [children, index] = BDFDB.ContextMenuUtils.findItem(e.returnvalue, {id: "devmode-copy-id", group: true});
children.splice(index > -1 ? index : children.length, 0, BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuGroup, { children.splice(index > -1 ? index : children.length, 0, BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuGroup, {
children: [ children: BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, {
BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, { label: this.labels.context_localusersettings,
label: this.labels.context_localusersettings, id: BDFDB.ContextMenuUtils.createItemId(this.name, "settings-submenu"),
id: BDFDB.ContextMenuUtils.createItemId(this.name, "settings-submenu"), children: BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuGroup, {
children: BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuGroup, { children: [
children: [ BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, {
BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, { label: this.labels.submenu_usersettings,
label: this.labels.submenu_usersettings, id: BDFDB.ContextMenuUtils.createItemId(this.name, "settings-change"),
id: BDFDB.ContextMenuUtils.createItemId(this.name, "settings-change"), action: _ => {
action: _ => { this.openUserSettingsModal(e.instance.props.user);
this.openUserSettingsModal(e.instance.props.user); }
} }),
}), BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, {
BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, { label: this.labels.submenu_resetsettings,
label: this.labels.submenu_resetsettings, id: BDFDB.ContextMenuUtils.createItemId(this.name, "settings-reset"),
id: BDFDB.ContextMenuUtils.createItemId(this.name, "settings-reset"), color: BDFDB.LibraryComponents.MenuItems.Colors.DANGER,
color: BDFDB.LibraryComponents.MenuItems.Colors.DANGER, disabled: !changedUsers[e.instance.props.user.id],
disabled: !changedUsers[e.instance.props.user.id], action: event => {
action: event => { let remove = _ => {
let remove = _ => { BDFDB.DataUtils.remove(this, "users", e.instance.props.user.id);
BDFDB.DataUtils.remove(this, "users", e.instance.props.user.id); this.forceUpdateAll(true);
this.forceUpdateAll(true); };
}; if (event.shiftKey) remove();
if (event.shiftKey) remove(); else BDFDB.ModalUtils.confirm(this, this.labels.confirm_reset, remove);
else BDFDB.ModalUtils.confirm(this, this.labels.confirm_reset, remove); }
} })
}) ]
]
})
}) })
] })
})); }));
} }
} }
@ -560,7 +579,6 @@ module.exports = (_ => {
if (data) { if (data) {
let color1 = data.color1 && data.useRoleColor && (BDFDB.LibraryModules.MemberStore.getMember((BDFDB.LibraryModules.ChannelStore.getChannel(header.props.message.channel_id) || {}).guild_id, header.props.message.author.id) || {}).colorString || data.color1; let color1 = data.color1 && data.useRoleColor && (BDFDB.LibraryModules.MemberStore.getMember((BDFDB.LibraryModules.ChannelStore.getChannel(header.props.message.channel_id) || {}).guild_id, header.props.message.author.id) || {}).colorString || data.color1;
let message = new BDFDB.DiscordObjects.Message(Object.assign({}, header.props.message, {author: this.getUserData(header.props.message.author.id, true, false, header.props.message.author)})); let message = new BDFDB.DiscordObjects.Message(Object.assign({}, header.props.message, {author: this.getUserData(header.props.message.author.id, true, false, header.props.message.author)}));
if (data.name) message.nick = data.name;
if (color1) message.colorString = BDFDB.ColorUtils.convert(BDFDB.ObjectUtils.is(color1) ? color1[0] : color1, "HEX"); if (color1) message.colorString = BDFDB.ColorUtils.convert(BDFDB.ObjectUtils.is(color1) ? color1[0] : color1, "HEX");
header.props.message = message; header.props.message = message;
} }
@ -572,7 +590,6 @@ module.exports = (_ => {
let messageColor = data.color5 || (BDFDB.BDUtils.getSettings(BDFDB.BDUtils.settingsIds.coloredText) && (data.color1 && data.useRoleColor && (BDFDB.LibraryModules.MemberStore.getMember((BDFDB.LibraryModules.ChannelStore.getChannel(content.props.message.channel_id) || {}).guild_id, content.props.message.author.id) || {}).colorString || data.color1)); let messageColor = data.color5 || (BDFDB.BDUtils.getSettings(BDFDB.BDUtils.settingsIds.coloredText) && (data.color1 && data.useRoleColor && (BDFDB.LibraryModules.MemberStore.getMember((BDFDB.LibraryModules.ChannelStore.getChannel(content.props.message.channel_id) || {}).guild_id, content.props.message.author.id) || {}).colorString || data.color1));
if (messageColor) { if (messageColor) {
let message = new BDFDB.DiscordObjects.Message(Object.assign({}, content.props.message, {author: this.getUserData(content.props.message.author.id, true, false, content.props.message.author)})); let message = new BDFDB.DiscordObjects.Message(Object.assign({}, content.props.message, {author: this.getUserData(content.props.message.author.id, true, false, content.props.message.author)}));
if (data.name) message.nick = data.name;
message.colorString = BDFDB.ColorUtils.convert(BDFDB.ObjectUtils.is(messageColor) ? messageColor[0] : messageColor, "HEX"); message.colorString = BDFDB.ColorUtils.convert(BDFDB.ObjectUtils.is(messageColor) ? messageColor[0] : messageColor, "HEX");
content.props.message = message; content.props.message = message;
} }
@ -585,7 +602,6 @@ module.exports = (_ => {
if (data) { if (data) {
let color1 = data.color1 && data.useRoleColor && (BDFDB.LibraryModules.MemberStore.getMember((BDFDB.LibraryModules.ChannelStore.getChannel(referenceMessage.channel_id) || {}).guild_id, header.props.message.author.id) || {}).colorString || data.color1; let color1 = data.color1 && data.useRoleColor && (BDFDB.LibraryModules.MemberStore.getMember((BDFDB.LibraryModules.ChannelStore.getChannel(referenceMessage.channel_id) || {}).guild_id, header.props.message.author.id) || {}).colorString || data.color1;
let message = new BDFDB.DiscordObjects.Message(Object.assign({}, referenceMessage, {author: this.getUserData(referenceMessage.author.id, true, false, referenceMessage.author)})); let message = new BDFDB.DiscordObjects.Message(Object.assign({}, referenceMessage, {author: this.getUserData(referenceMessage.author.id, true, false, referenceMessage.author)}));
if (data.name) message.nick = data.name;
if (color1) message.colorString = BDFDB.ColorUtils.convert(BDFDB.ObjectUtils.is(color1) ? color1[0] : color1, "HEX"); if (color1) message.colorString = BDFDB.ColorUtils.convert(BDFDB.ObjectUtils.is(color1) ? color1[0] : color1, "HEX");
repliedMessage.props.children.props.referencedMessage = Object.assign({}, repliedMessage.props.children.props.referencedMessage, {message: message}); repliedMessage.props.children.props.referencedMessage = Object.assign({}, repliedMessage.props.children.props.referencedMessage, {message: message});
} }
@ -600,7 +616,6 @@ module.exports = (_ => {
let message = new BDFDB.DiscordObjects.Message(Object.assign({}, e.instance.props.message, {author: this.getUserData(e.instance.props.message.author.id, true, false, e.instance.props.message.author)})); let message = new BDFDB.DiscordObjects.Message(Object.assign({}, e.instance.props.message, {author: this.getUserData(e.instance.props.message.author.id, true, false, e.instance.props.message.author)}));
if (data) { if (data) {
let color1 = data.color1 && data.useRoleColor && (BDFDB.LibraryModules.MemberStore.getMember((BDFDB.LibraryModules.ChannelStore.getChannel(e.instance.props.message.channel_id) || {}).guild_id, e.instance.props.message.author.id) || {}).colorString || data.color1; let color1 = data.color1 && data.useRoleColor && (BDFDB.LibraryModules.MemberStore.getMember((BDFDB.LibraryModules.ChannelStore.getChannel(e.instance.props.message.channel_id) || {}).guild_id, e.instance.props.message.author.id) || {}).colorString || data.color1;
if (data.name) message.nick = data.name;
if (color1) message.colorString = BDFDB.ColorUtils.convert(BDFDB.ObjectUtils.is(color1) ? color1[0] : color1, "HEX"); if (color1) message.colorString = BDFDB.ColorUtils.convert(BDFDB.ObjectUtils.is(color1) ? color1[0] : color1, "HEX");
} }
e.instance.props.message = message; e.instance.props.message = message;
@ -636,7 +651,6 @@ module.exports = (_ => {
let data = changedUsers[e.instance.props.message.author.id]; let data = changedUsers[e.instance.props.message.author.id];
if (data) { if (data) {
let color1 = data.color1 && data.useRoleColor && (BDFDB.LibraryModules.MemberStore.getMember((BDFDB.LibraryModules.ChannelStore.getChannel(e.instance.props.message.channel_id) || {}).guild_id, e.instance.props.message.author.id) || {}).colorString || data.color1; let color1 = data.color1 && data.useRoleColor && (BDFDB.LibraryModules.MemberStore.getMember((BDFDB.LibraryModules.ChannelStore.getChannel(e.instance.props.message.channel_id) || {}).guild_id, e.instance.props.message.author.id) || {}).colorString || data.color1;
if (data.name) message.nick = data.name;
if (color1) message.colorString = BDFDB.ColorUtils.convert(BDFDB.ObjectUtils.is(color1) ? color1[0] : color1, "HEX"); if (color1) message.colorString = BDFDB.ColorUtils.convert(BDFDB.ObjectUtils.is(color1) ? color1[0] : color1, "HEX");
} }
e.instance.props.message = message; e.instance.props.message = message;
@ -778,7 +792,6 @@ module.exports = (_ => {
let data = changedUsers[e.instance.props.reply.message.author.id]; let data = changedUsers[e.instance.props.reply.message.author.id];
if (data) { if (data) {
let color1 = data.color1 && data.useRoleColor && (BDFDB.LibraryModules.MemberStore.getMember((BDFDB.LibraryModules.ChannelStore.getChannel(e.instance.props.reply.message.channel_id) || {}).guild_id, e.instance.props.reply.message.author.id) || {}).colorString || data.color1; let color1 = data.color1 && data.useRoleColor && (BDFDB.LibraryModules.MemberStore.getMember((BDFDB.LibraryModules.ChannelStore.getChannel(e.instance.props.reply.message.channel_id) || {}).guild_id, e.instance.props.reply.message.author.id) || {}).colorString || data.color1;
if (data.name) message.nick = data.name;
if (color1) message.colorString = BDFDB.ColorUtils.convert(BDFDB.ObjectUtils.is(color1) ? color1[0] : color1, "HEX"); if (color1) message.colorString = BDFDB.ColorUtils.convert(BDFDB.ObjectUtils.is(color1) ? color1[0] : color1, "HEX");
} }
e.instance.props.reply = Object.assign({}, e.instance.props.reply, {message: message}); e.instance.props.reply = Object.assign({}, e.instance.props.reply, {message: message});