ShowMeYourName Extra Settings & Fix WhosWatching

This commit is contained in:
thororen1234 2025-05-01 14:09:40 -04:00
parent 0d09c083c6
commit efd1821fad
No known key found for this signature in database
3 changed files with 53 additions and 24 deletions

View file

@ -45,9 +45,26 @@ const settings = definePluginSettings({
type: OptionType.BOOLEAN,
default: false,
description: "Use friend names in place of usernames (overrides Display Names option if applicable)"
}
},
memberList: {
type: OptionType.BOOLEAN,
default: true,
description: "Show usernames in member list",
},
voiceChannelList: {
type: OptionType.BOOLEAN,
default: true,
description: "Show usernames in voice channel list",
},
});
function getUsername(user: any): string {
const friendName = RelationshipStore.getNickname(user.id);
if (settings.store.preferFriend && friendName) return friendName;
if (settings.store.displayNames) return user.globalName || user.username;
return user.username;
}
export default definePlugin({
name: "ShowMeYourName",
description: "Display usernames next to nicks, or no nicks at all",
@ -61,18 +78,31 @@ export default definePlugin({
replace: "$self.renderUsername(arguments[0])"
}
},
{
find: "._areActivitiesExperimentallyHidden=(",
replacement: {
match: /(?<=user:(\i),currentUser:\i,nick:)\i/,
replace: "$self.getUsername($1)"
},
predicate: () => settings.store.memberList
},
{
find: ".usernameSpeaking]",
predicate: () => settings.store.voiceChannelList,
replacement: [
{
match: /(?<=children:\[null!=\i\?)\i(?=:\i\.\i\.getName\((\i)\))/,
replace: "$self.getUsername($1)"
},
]
},
],
settings,
getUsername,
renderUsername: ErrorBoundary.wrap(({ author, message, isRepliedMessage, withMentionPrefix, userOverride }: UsernameProps) => {
try {
const user = userOverride ?? message.author;
const friendName = RelationshipStore.getNickname(user.id);
let { username } = user;
if (settings.store.displayNames)
username = (user as any).globalName || username;
if (settings.store.preferFriend)
username = friendName ?? username;
const username = getUsername(user);
const { nick } = author;
const prefix = withMentionPrefix ? "@" : "";