Allow owner to use music commands in production, make cache request to 8MB images
This commit is contained in:
		
							parent
							
								
									a1e4920c4d
								
							
						
					
					
						commit
						e4e633beff
					
				
					 8 changed files with 16 additions and 9 deletions
				
			
		| 
						 | 
					@ -3,7 +3,7 @@ const MusicCommand = require("../../classes/musicCommand.js");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class LoopCommand extends MusicCommand {
 | 
					class LoopCommand extends MusicCommand {
 | 
				
			||||||
  async run() {
 | 
					  async run() {
 | 
				
			||||||
    if (process.env.NODE_ENV === "production") return "Music commands are coming soon, but they aren't ready yet. Stay tuned to @esmBot_ on Twitter for updates!";
 | 
					    if (process.env.NODE_ENV === "production" && this.message.author.id !== process.env.OWNER) return "Music commands are coming soon, but they aren't ready yet. Stay tuned to @esmBot_ on Twitter for updates!";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (!this.message.channel.guild) return "This command only works in servers!";
 | 
					    if (!this.message.channel.guild) return "This command only works in servers!";
 | 
				
			||||||
    if (!this.message.member.voiceState.channelID) return "You need to be in a voice channel first!";
 | 
					    if (!this.message.member.voiceState.channelID) return "You need to be in a voice channel first!";
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -6,7 +6,7 @@ const MusicCommand = require("../../classes/musicCommand.js");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class NowPlayingCommand extends MusicCommand {
 | 
					class NowPlayingCommand extends MusicCommand {
 | 
				
			||||||
  async run() {
 | 
					  async run() {
 | 
				
			||||||
    if (process.env.NODE_ENV === "production") return "Music commands are coming soon, but they aren't ready yet. Stay tuned to @esmBot_ on Twitter for updates!";
 | 
					    if (process.env.NODE_ENV === "production" && this.message.author.id !== process.env.OWNER) return "Music commands are coming soon, but they aren't ready yet. Stay tuned to @esmBot_ on Twitter for updates!";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (!this.message.channel.guild) return "This command only works in servers!";
 | 
					    if (!this.message.channel.guild) return "This command only works in servers!";
 | 
				
			||||||
    if (!this.message.member.voiceState.channelID) return "You need to be in a voice channel first!";
 | 
					    if (!this.message.member.voiceState.channelID) return "You need to be in a voice channel first!";
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,7 +2,7 @@ const MusicCommand = require("../../classes/musicCommand.js");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class PauseCommand extends MusicCommand {
 | 
					class PauseCommand extends MusicCommand {
 | 
				
			||||||
  async run() {
 | 
					  async run() {
 | 
				
			||||||
    if (process.env.NODE_ENV === "production") return "Music commands are coming soon, but they aren't ready yet. Stay tuned to @esmBot_ on Twitter for updates!";
 | 
					    if (process.env.NODE_ENV === "production" && this.message.author.id !== process.env.OWNER) return "Music commands are coming soon, but they aren't ready yet. Stay tuned to @esmBot_ on Twitter for updates!";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (!this.message.channel.guild) return "This command only works in servers!";
 | 
					    if (!this.message.channel.guild) return "This command only works in servers!";
 | 
				
			||||||
    if (!this.message.member.voiceState.channelID) return "You need to be in a voice channel first!";
 | 
					    if (!this.message.member.voiceState.channelID) return "You need to be in a voice channel first!";
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5,7 +5,7 @@ const searchRegex = /^ytsearch:/;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class PlayCommand extends MusicCommand {
 | 
					class PlayCommand extends MusicCommand {
 | 
				
			||||||
  async run() {
 | 
					  async run() {
 | 
				
			||||||
    if (process.env.NODE_ENV === "production") return "Music commands are coming soon, but they aren't ready yet. Stay tuned to @esmBot_ on Twitter for updates!";
 | 
					    if (process.env.NODE_ENV === "production" && this.message.author.id !== process.env.OWNER) return "Music commands are coming soon, but they aren't ready yet. Stay tuned to @esmBot_ on Twitter for updates!";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (!this.args[0]) return "You need to provide what you want to play!";
 | 
					    if (!this.args[0]) return "You need to provide what you want to play!";
 | 
				
			||||||
    const query = this.args.join(" ").trim();
 | 
					    const query = this.args.join(" ").trim();
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,7 +8,7 @@ const MusicCommand = require("../../classes/musicCommand.js");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class QueueCommand extends MusicCommand {
 | 
					class QueueCommand extends MusicCommand {
 | 
				
			||||||
  async run() {
 | 
					  async run() {
 | 
				
			||||||
    if (process.env.NODE_ENV === "production") return "Music commands are coming soon, but they aren't ready yet. Stay tuned to @esmBot_ on Twitter for updates!";
 | 
					    if (process.env.NODE_ENV === "production" && this.message.author.id !== process.env.OWNER) return "Music commands are coming soon, but they aren't ready yet. Stay tuned to @esmBot_ on Twitter for updates!";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (!this.message.channel.guild) return "This command only works in servers!";
 | 
					    if (!this.message.channel.guild) return "This command only works in servers!";
 | 
				
			||||||
    if (!this.message.member.voiceState.channelID) return "You need to be in a voice channel first!";
 | 
					    if (!this.message.member.voiceState.channelID) return "You need to be in a voice channel first!";
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3,7 +3,7 @@ const MusicCommand = require("../../classes/musicCommand.js");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class SkipCommand extends MusicCommand {
 | 
					class SkipCommand extends MusicCommand {
 | 
				
			||||||
  async run() {
 | 
					  async run() {
 | 
				
			||||||
    if (process.env.NODE_ENV === "production") return "Music commands are coming soon, but they aren't ready yet. Stay tuned to @esmBot_ on Twitter for updates!";
 | 
					    if (process.env.NODE_ENV === "production" && this.message.author.id !== process.env.OWNER) return "Music commands are coming soon, but they aren't ready yet. Stay tuned to @esmBot_ on Twitter for updates!";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (!this.message.channel.guild) return "This command only works in servers!";
 | 
					    if (!this.message.channel.guild) return "This command only works in servers!";
 | 
				
			||||||
    if (!this.message.member.voiceState.channelID) return "You need to be in a voice channel first!";
 | 
					    if (!this.message.member.voiceState.channelID) return "You need to be in a voice channel first!";
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3,7 +3,7 @@ const MusicCommand = require("../../classes/musicCommand.js");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class StopCommand extends MusicCommand {
 | 
					class StopCommand extends MusicCommand {
 | 
				
			||||||
  async run() {
 | 
					  async run() {
 | 
				
			||||||
    if (process.env.NODE_ENV === "production") return "Music commands are coming soon, but they aren't ready yet. Stay tuned to @esmBot_ on Twitter for updates!";
 | 
					    if (process.env.NODE_ENV === "production" && this.message.author.id !== process.env.OWNER) return "Music commands are coming soon, but they aren't ready yet. Stay tuned to @esmBot_ on Twitter for updates!";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (!this.message.channel.guild) return "This command only works in servers!";
 | 
					    if (!this.message.channel.guild) return "This command only works in servers!";
 | 
				
			||||||
    if (!this.message.member.voiceState.channelID) return "You need to be in a voice channel first!";
 | 
					    if (!this.message.member.voiceState.channelID) return "You need to be in a voice channel first!";
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,5 @@
 | 
				
			||||||
const fs = require("fs");
 | 
					const fs = require("fs");
 | 
				
			||||||
 | 
					const fetch = require("node-fetch");
 | 
				
			||||||
const database = require("../utils/database.js");
 | 
					const database = require("../utils/database.js");
 | 
				
			||||||
const logger = require("../utils/logger.js");
 | 
					const logger = require("../utils/logger.js");
 | 
				
			||||||
const collections = require("../utils/collections.js");
 | 
					const collections = require("../utils/collections.js");
 | 
				
			||||||
| 
						 | 
					@ -104,13 +105,19 @@ module.exports = async (client, cluster, worker, ipc, message) => {
 | 
				
			||||||
      if (result.file.length > 8388119 && process.env.TEMPDIR !== "") {
 | 
					      if (result.file.length > 8388119 && process.env.TEMPDIR !== "") {
 | 
				
			||||||
        const filename = `${Math.random().toString(36).substring(2, 15)}.${result.name.split(".")[1]}`;
 | 
					        const filename = `${Math.random().toString(36).substring(2, 15)}.${result.name.split(".")[1]}`;
 | 
				
			||||||
        await fs.promises.writeFile(`${process.env.TEMPDIR}/${filename}`, result.file);
 | 
					        await fs.promises.writeFile(`${process.env.TEMPDIR}/${filename}`, result.file);
 | 
				
			||||||
 | 
					        const imageURL = `${process.env.TMP_DOMAIN == "" ? "https://tmp.projectlounge.pw" : process.env.TMP_DOMAIN}/${filename}`;
 | 
				
			||||||
 | 
					        try {
 | 
				
			||||||
 | 
					          await fetch(imageURL);
 | 
				
			||||||
 | 
					        } catch {
 | 
				
			||||||
 | 
					          // this is here to make sure the image is properly cached by discord
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        await client.createMessage(message.channel.id, Object.assign({
 | 
					        await client.createMessage(message.channel.id, Object.assign({
 | 
				
			||||||
          embed: {
 | 
					          embed: {
 | 
				
			||||||
            color: 16711680,
 | 
					            color: 16711680,
 | 
				
			||||||
            title: "Here's your image!",
 | 
					            title: "Here's your image!",
 | 
				
			||||||
            url: `${process.env.TMP_DOMAIN == "" ? "https://tmp.projectlounge.pw" : process.env.TMP_DOMAIN}/${filename}`,
 | 
					            url: imageURL,
 | 
				
			||||||
            image: {
 | 
					            image: {
 | 
				
			||||||
              url: `${process.env.TMP_DOMAIN == "" ? "https://tmp.projectlounge.pw" : process.env.TMP_DOMAIN}/${filename}`
 | 
					              url: imageURL
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            footer: {
 | 
					            footer: {
 | 
				
			||||||
              text: "The result image was more than 8MB in size, so it was uploaded to an external site instead."
 | 
					              text: "The result image was more than 8MB in size, so it was uploaded to an external site instead."
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue