mirror of
https://github.com/Equicord/Equicord.git
synced 2025-06-08 14:13:01 -04:00
This commit is contained in:
parent
eb12516344
commit
7d213a638c
1 changed files with 17 additions and 12 deletions
|
@ -10,7 +10,7 @@ import { definePluginSettings } from "@api/Settings";
|
||||||
import ErrorBoundary from "@components/ErrorBoundary";
|
import ErrorBoundary from "@components/ErrorBoundary";
|
||||||
import { Devs } from "@utils/constants";
|
import { Devs } from "@utils/constants";
|
||||||
import definePlugin, { OptionType } from "@utils/types";
|
import definePlugin, { OptionType } from "@utils/types";
|
||||||
import { RelationshipStore } from "@webpack/common";
|
import { GuildMemberStore, RelationshipStore } from "@webpack/common";
|
||||||
import { Message, User } from "discord-types/general";
|
import { Message, User } from "discord-types/general";
|
||||||
|
|
||||||
interface UsernameProps {
|
interface UsernameProps {
|
||||||
|
@ -19,6 +19,7 @@ interface UsernameProps {
|
||||||
withMentionPrefix?: boolean;
|
withMentionPrefix?: boolean;
|
||||||
isRepliedMessage: boolean;
|
isRepliedMessage: boolean;
|
||||||
userOverride?: User;
|
userOverride?: User;
|
||||||
|
guildId: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
const settings = definePluginSettings({
|
const settings = definePluginSettings({
|
||||||
|
@ -28,6 +29,7 @@ const settings = definePluginSettings({
|
||||||
options: [
|
options: [
|
||||||
{ label: "Username then nickname", value: "user-nick", default: true },
|
{ label: "Username then nickname", value: "user-nick", default: true },
|
||||||
{ label: "Nickname then username", value: "nick-user" },
|
{ label: "Nickname then username", value: "nick-user" },
|
||||||
|
{ label: "Nickname only", value: "nick" },
|
||||||
{ label: "Username only", value: "user" },
|
{ label: "Username only", value: "user" },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
@ -66,9 +68,12 @@ const settings = definePluginSettings({
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
function getUsername(user: any): string {
|
function getUsername(user: any, guildId: string): string {
|
||||||
const friendName = RelationshipStore.getNickname(user.id);
|
const friendName = RelationshipStore.getNickname(user.id);
|
||||||
|
const guildNick = GuildMemberStore.getNick(guildId, user.id);
|
||||||
|
|
||||||
if (settings.store.preferFriend && friendName) return friendName;
|
if (settings.store.preferFriend && friendName) return friendName;
|
||||||
|
if (settings.store.mode === "nick" && guildNick) return guildNick;
|
||||||
if (settings.store.displayNames) return user.globalName || user.username;
|
if (settings.store.displayNames) return user.globalName || user.username;
|
||||||
return user.username;
|
return user.username;
|
||||||
}
|
}
|
||||||
|
@ -82,16 +87,16 @@ export default definePlugin({
|
||||||
find: '"BaseUsername"',
|
find: '"BaseUsername"',
|
||||||
replacement: {
|
replacement: {
|
||||||
/* TODO: remove \i+\i once change makes it to stable */
|
/* TODO: remove \i+\i once change makes it to stable */
|
||||||
match: /(?<=onContextMenu:\i,children:)(?:\i\+\i|\i)/,
|
match: /(?<=onContextMenu:\i,children:)(?:\i\+\i|\i)(?=.*?contextGuildId:(\i))/,
|
||||||
replace: "$self.renderUsername(arguments[0])"
|
replace: "$self.renderUsername({ ...arguments[0], guildId: $1 })",
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
find: "._areActivitiesExperimentallyHidden=(",
|
find: "._areActivitiesExperimentallyHidden=(",
|
||||||
predicate: () => settings.store.memberList,
|
predicate: () => settings.store.memberList,
|
||||||
replacement: {
|
replacement: {
|
||||||
match: /(?<=user:(\i),currentUser:\i,nick:)\i/,
|
match: /(?<=user:(\i),currentUser:\i,nick:)\i(?=.*?guildId:(\i))/,
|
||||||
replace: "$self.getUsername($1)"
|
replace: "$self.getUsername($1,$2)"
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -99,8 +104,8 @@ export default definePlugin({
|
||||||
predicate: () => settings.store.voiceChannelList,
|
predicate: () => settings.store.voiceChannelList,
|
||||||
replacement: [
|
replacement: [
|
||||||
{
|
{
|
||||||
match: /(?<=children:\[)null!=\i\?\i:\i\.\i\.getName\((\i)\)/,
|
match: /(?<=children:\[)null!=\i\?\i:\i\.\i\.getName\((\i)\)(?=.*?contextGuildId:(\i))/,
|
||||||
replace: "$self.getUsername($1)"
|
replace: "$self.getUsername($1,$2)"
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -109,18 +114,18 @@ export default definePlugin({
|
||||||
predicate: () => settings.store.emojiReactions,
|
predicate: () => settings.store.emojiReactions,
|
||||||
replacement: [
|
replacement: [
|
||||||
{
|
{
|
||||||
match: /\i\.\i\.getName\(\i,null==.{0,15},(\i)\)/g,
|
match: /\i\.\i\.getName\((\i),null==.{0,15},(\i)\)/g,
|
||||||
replace: "$self.getUsername($1)"
|
replace: "$self.getUsername($2,$1)"
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
settings,
|
settings,
|
||||||
getUsername,
|
getUsername,
|
||||||
renderUsername: ErrorBoundary.wrap(({ author, message, isRepliedMessage, withMentionPrefix, userOverride }: UsernameProps) => {
|
renderUsername: ErrorBoundary.wrap(({ author, message, isRepliedMessage, withMentionPrefix, userOverride, guildId }: UsernameProps) => {
|
||||||
try {
|
try {
|
||||||
const user = userOverride ?? message.author;
|
const user = userOverride ?? message.author;
|
||||||
const username = getUsername(user);
|
const username = getUsername(user, guildId);
|
||||||
|
|
||||||
const { nick } = author;
|
const { nick } = author;
|
||||||
const prefix = withMentionPrefix ? "@" : "";
|
const prefix = withMentionPrefix ? "@" : "";
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue