aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/sendify.ts
diff options
context:
space:
mode:
authorVen <vendicated@riseup.net>2022-11-14 18:05:41 +0100
committerGitHub <noreply@github.com>2022-11-14 18:05:41 +0100
commit82e444e19635a72d2e1c4d043840bdfd358fa120 (patch)
tree85e4bc94fb6c9a7bebc3a56e311fdf967aeeb2d5 /src/plugins/sendify.ts
parenta96f8a89f36ccb980334da2274385373aa3ffb24 (diff)
downloadVencord-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.ts139
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
- });
- }
- }
- ]
-});