diff options
author | Ven <vendicated@riseup.net> | 2022-11-14 18:05:41 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-14 18:05:41 +0100 |
commit | 82e444e19635a72d2e1c4d043840bdfd358fa120 (patch) | |
tree | 85e4bc94fb6c9a7bebc3a56e311fdf967aeeb2d5 /src/plugins/sendify.ts | |
parent | a96f8a89f36ccb980334da2274385373aa3ffb24 (diff) | |
download | Vencord-82e444e19635a72d2e1c4d043840bdfd358fa120.tar.gz Vencord-82e444e19635a72d2e1c4d043840bdfd358fa120.tar.bz2 Vencord-82e444e19635a72d2e1c4d043840bdfd358fa120.zip |
Less confusing plugin names (bulk plugin rename) (#214)
Co-authored-by: Nuckyz <61953774+Nuckyz@users.noreply.github.com>
Diffstat (limited to 'src/plugins/sendify.ts')
-rw-r--r-- | src/plugins/sendify.ts | 139 |
1 files changed, 0 insertions, 139 deletions
diff --git a/src/plugins/sendify.ts b/src/plugins/sendify.ts deleted file mode 100644 index b0fd52d..0000000 --- a/src/plugins/sendify.ts +++ /dev/null @@ -1,139 +0,0 @@ -/* - * Vencord, a modification for Discord's desktop app - * Copyright (c) 2022 Vendicated and contributors - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. -*/ - -import { ApplicationCommandInputType, sendBotMessage } from "../api/Commands"; -import { Devs } from "../utils/constants"; -import { lazyWebpack } from "../utils/misc"; -import definePlugin from "../utils/types"; -import { filters } from "../webpack"; -import { FluxDispatcher } from "../webpack/common"; - -interface Album { - id: string; - image: { - height: number; - width: number; - url: string; - }; - name: string; -} - -interface Artist { - external_urls: { - spotify: string; - }; - href: string; - id: string; - name: string; - type: "artist" | string; - uri: string; -} - -interface Track { - id: string; - album: Album; - artists: Artist[]; - duration: number; - isLocal: boolean; - name: string; -} - -const Spotify = lazyWebpack(filters.byProps("getPlayerState")); -const MessageCreator = lazyWebpack(filters.byProps("getSendMessageOptionsForReply", "sendMessage")); -const PendingReplyStore = lazyWebpack(filters.byProps("getPendingReply")); - -function sendMessage(channelId, message) { - message = { - // The following are required to prevent Discord from throwing an error - invalidEmojis: [], - tts: false, - validNonShortcutEmojis: [], - ...message - }; - const reply = PendingReplyStore.getPendingReply(channelId); - MessageCreator.sendMessage(channelId, message, void 0, MessageCreator.getSendMessageOptionsForReply(reply)) - .then(() => { - if (reply) { - FluxDispatcher.dispatch({ type: "DELETE_PENDING_REPLY", channelId }); - } - }); -} - -export default definePlugin({ - name: "Sendify", - description: "Send your current Spotify music to chat", - authors: [Devs.katlyn], - dependencies: ["CommandsAPI"], - commands: [ - { - name: "track", - description: "Send your current Spotify track to chat", - inputType: ApplicationCommandInputType.BUILT_IN, - options: [], - execute: (_, ctx) => { - const track: Track | null = Spotify.getTrack(); - if (track === null) { - sendBotMessage(ctx.channel.id, { - content: "You're not listening to any music." - }); - return; - } - // Note: Due to how Discord handles commands, we need to manually create and send the message - sendMessage(ctx.channel.id, { - content: `https://open.spotify.com/track/${track.id}` - }); - } - }, - { - name: "album", - description: "Send your current Spotify album to chat", - inputType: ApplicationCommandInputType.BUILT_IN, - options: [], - execute: (_, ctx) => { - const track: Track | null = Spotify.getTrack(); - if (track === null) { - sendBotMessage(ctx.channel.id, { - content: "You're not listening to any music." - }); - return; - } - sendMessage(ctx.channel.id, { - content: `https://open.spotify.com/album/${track.album.id}` - }); - } - }, - { - name: "artist", - description: "Send your current Spotify artist to chat", - inputType: ApplicationCommandInputType.BUILT_IN, - options: [], - execute: (_, ctx) => { - const track: Track | null = Spotify.getTrack(); - if (track === null) { - sendBotMessage(ctx.channel.id, { - content: "You're not listening to any music." - }); - return; - } - sendMessage(ctx.channel.id, { - content: track.artists[0].external_urls.spotify - }); - } - } - ] -}); |