2021-08-19 14:19:14 +00:00
import ImageCommand from "../../classes/imageCommand.js" ;
2022-09-11 04:48:44 +00:00
import { textEncode } from "../../utils/misc.js" ;
Class commands, improved sharding, and many other changes (#88)
* Load commands recursively
* Sort commands
* Missed a couple of spots
* missed even more spots apparently
* Ported commands in "fun" category to new class-based format, added babel eslint plugin
* Ported general commands, removed old/unneeded stuff, replaced moment with day, many more fixes I lost track of
* Missed a spot
* Removed unnecessary abort-controller package, add deprecation warning for mongo database
* Added imagereload, clarified premature end message
* Fixed docker-compose path issue, added total bot uptime to stats, more fixes for various parts
* Converted image commands into classes, fixed reload, ignore another WS event, cleaned up command handler and image runner
* Converted music/soundboard commands to class format
* Cleanup unnecessary logs
* awful tag command class port
* I literally somehow just learned that you can leave out the constructor in classes
* Pass client directly to commands/events, cleaned up command handler
* Migrated bot to eris-sharder, fixed some error handling stuff
* Remove unused modules
* Fixed type returning
* Switched back to Eris stable
* Some fixes and cleanup
* might wanna correct this
* Implement image command ratelimiting
* Added Bot token prefix, added imagestats, added running endpoint to API
2021-04-12 16:16:12 +00:00
const words = [ "me irl" , "dank" , "follow my second account @esmBot_" , "2016" , "meme" , "wholesome" , "reddit" , "instagram" , "twitter" , "facebook" , "fortnite" , "minecraft" , "relatable" , "gold" , "funny" , "template" , "hilarious" , "memes" , "deep fried" , "2020" , "leafy" , "pewdiepie" ] ;
class CaptionTwoCommand extends ImageCommand {
2022-04-05 03:05:28 +00:00
params ( url ) {
2022-06-07 23:26:40 +00:00
const newArgs = this . options . text ? ? this . args . filter ( item => ! item . includes ( url ) ) . join ( " " ) ;
2022-04-05 03:05:28 +00:00
return {
2022-09-11 04:48:44 +00:00
caption : newArgs && newArgs . trim ( ) ? textEncode ( newArgs ) : words . sort ( ( ) => 0.5 - Math . random ( ) ) . slice ( 0 , Math . floor ( Math . random ( ) * words . length + 1 ) ) . join ( " " ) ,
2022-06-25 03:03:34 +00:00
top : ! ! this . options . top ,
2022-07-26 06:27:02 +00:00
font : typeof this . options . font === "string" && this . constructor . allowedFonts . includes ( this . options . font . toLowerCase ( ) ) ? this . options . font . toLowerCase ( ) : "helvetica"
2022-04-05 03:05:28 +00:00
} ;
}
static init ( ) {
super . init ( ) ;
2022-03-31 05:42:03 +00:00
this . flags . push ( {
name : "top" ,
description : "Put the caption on the top of an image instead of the bottom" ,
type : 5
} , {
name : "font" ,
type : 3 ,
choices : ( ( ) => {
const array = [ ] ;
2022-07-26 06:27:02 +00:00
for ( const font of this . allowedFonts ) {
2022-03-31 05:42:03 +00:00
array . push ( { name : font , value : font } ) ;
}
return array ;
} ) ( ) ,
description : "Specify the font you want to use (default: helvetica)"
} ) ;
2022-04-05 03:05:28 +00:00
return this ;
Class commands, improved sharding, and many other changes (#88)
* Load commands recursively
* Sort commands
* Missed a couple of spots
* missed even more spots apparently
* Ported commands in "fun" category to new class-based format, added babel eslint plugin
* Ported general commands, removed old/unneeded stuff, replaced moment with day, many more fixes I lost track of
* Missed a spot
* Removed unnecessary abort-controller package, add deprecation warning for mongo database
* Added imagereload, clarified premature end message
* Fixed docker-compose path issue, added total bot uptime to stats, more fixes for various parts
* Converted image commands into classes, fixed reload, ignore another WS event, cleaned up command handler and image runner
* Converted music/soundboard commands to class format
* Cleanup unnecessary logs
* awful tag command class port
* I literally somehow just learned that you can leave out the constructor in classes
* Pass client directly to commands/events, cleaned up command handler
* Migrated bot to eris-sharder, fixed some error handling stuff
* Remove unused modules
* Fixed type returning
* Switched back to Eris stable
* Some fixes and cleanup
* might wanna correct this
* Implement image command ratelimiting
* Added Bot token prefix, added imagestats, added running endpoint to API
2021-04-12 16:16:12 +00:00
}
2021-12-06 07:25:38 +00:00
static description = "Adds a me.me caption/tag list to an image" ;
Class commands, improved sharding, and many other changes (#88)
* Load commands recursively
* Sort commands
* Missed a couple of spots
* missed even more spots apparently
* Ported commands in "fun" category to new class-based format, added babel eslint plugin
* Ported general commands, removed old/unneeded stuff, replaced moment with day, many more fixes I lost track of
* Missed a spot
* Removed unnecessary abort-controller package, add deprecation warning for mongo database
* Added imagereload, clarified premature end message
* Fixed docker-compose path issue, added total bot uptime to stats, more fixes for various parts
* Converted image commands into classes, fixed reload, ignore another WS event, cleaned up command handler and image runner
* Converted music/soundboard commands to class format
* Cleanup unnecessary logs
* awful tag command class port
* I literally somehow just learned that you can leave out the constructor in classes
* Pass client directly to commands/events, cleaned up command handler
* Migrated bot to eris-sharder, fixed some error handling stuff
* Remove unused modules
* Fixed type returning
* Switched back to Eris stable
* Some fixes and cleanup
* might wanna correct this
* Implement image command ratelimiting
* Added Bot token prefix, added imagestats, added running endpoint to API
2021-04-12 16:16:12 +00:00
static aliases = [ "tags2" , "meirl" , "memecaption" , "medotmecaption" ] ;
static arguments = [ "{text}" ] ;
2022-03-31 05:42:03 +00:00
static textOptional = true ;
2021-05-24 19:31:44 +00:00
static noText = "You need to provide some text to add a caption!" ;
2022-01-26 18:53:20 +00:00
static noImage = "You need to provide an image/GIF to add a caption!" ;
Class commands, improved sharding, and many other changes (#88)
* Load commands recursively
* Sort commands
* Missed a couple of spots
* missed even more spots apparently
* Ported commands in "fun" category to new class-based format, added babel eslint plugin
* Ported general commands, removed old/unneeded stuff, replaced moment with day, many more fixes I lost track of
* Missed a spot
* Removed unnecessary abort-controller package, add deprecation warning for mongo database
* Added imagereload, clarified premature end message
* Fixed docker-compose path issue, added total bot uptime to stats, more fixes for various parts
* Converted image commands into classes, fixed reload, ignore another WS event, cleaned up command handler and image runner
* Converted music/soundboard commands to class format
* Cleanup unnecessary logs
* awful tag command class port
* I literally somehow just learned that you can leave out the constructor in classes
* Pass client directly to commands/events, cleaned up command handler
* Migrated bot to eris-sharder, fixed some error handling stuff
* Remove unused modules
* Fixed type returning
* Switched back to Eris stable
* Some fixes and cleanup
* might wanna correct this
* Implement image command ratelimiting
* Added Bot token prefix, added imagestats, added running endpoint to API
2021-04-12 16:16:12 +00:00
static command = "captionTwo" ;
}
2021-08-19 14:19:14 +00:00
export default CaptionTwoCommand ;