This commit is contained in:
Nick 2024-09-18 21:42:30 +02:00 committed by GitHub
commit ffe1436e5b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 51 additions and 0 deletions

View file

@ -0,0 +1,47 @@
/*
* Vencord, a Discord client mod
* Copyright (c) 2024 Vendicated, nickwoah, and contributors
* SPDX-License-Identifier: GPL-3.0-or-later
*/
import { Devs } from "@utils/constants";
import { insertTextIntoChatInputBox } from "@utils/discord";
import definePlugin from "@utils/types";
import { findByPropsLazy } from "@webpack";
import { Menu, UserStore } from "@webpack/common";
import { Channel } from "discord-types/general";
const SortedVoiceStateStore = findByPropsLazy("getVoiceStatesForChannel");
function getVoiceChannelMentions(channel: Channel) {
return SortedVoiceStateStore.getVoiceStatesForChannel(channel)
.filter((value: any) => value.user.id !== UserStore.getCurrentUser().id)
.map((value: any) => {
return `<@${value.user.id}>`;
})
.join(" ");
}
function isInVoiceChannel(channel: Channel) {
return SortedVoiceStateStore.getVoiceStatesForChannel(channel)
.some((value: any) => value.user.id == UserStore.getCurrentUser().id);
}
export default definePlugin({
name: "VoiceChatMention",
description: "Adds a context menu button to put mentions of all users in your voice chat in the text box.",
authors: [Devs.nickwoah],
contextMenus: {
"channel-context"(children, { channel }: { channel: Channel; }) {
if (channel.isVocal() && isInVoiceChannel(channel)) children.push(
<Menu.MenuItem
id="voice-mention-all-users"
label="Mention All Users"
action={async () => {
insertTextIntoChatInputBox(getVoiceChannelMentions(channel));
}}
/>
);
}
}
});

View file

@ -487,6 +487,10 @@ export const Devs = /* #__PURE__*/ Object.freeze({
name: "Oleh Polisan", name: "Oleh Polisan",
id: 242305263313485825n id: 242305263313485825n
}, },
nickwoah: {
name: "nickwoah",
id: 644298972420374528n
},
HAHALOSAH: { HAHALOSAH: {
name: "HAHALOSAH", name: "HAHALOSAH",
id: 903418691268513883n id: 903418691268513883n