@ -1,13 +1,16 @@
const Discord = require ( 'discord.js' ) ;
const Discord = require ( 'discord.js' ) ;
const Saves = require ( '../../models/saves' ) ;
const Saves = require ( '../../models/saves' ) ;
const UserData = require ( '../../models/user' ) ;
const UserData = require ( '../../models/user' ) ;
const VC = require ( '../../models/vscount' ) ;
const makeId = require ( '../../util/makeid' ) ;
const makeId = require ( '../../util/makeid' ) ;
module . exports = {
module . exports = {
name : "kiss" ,
name : "kiss" ,
help : "Ask for a kiss with `{{p}}kiss`, or give one by mentioning someone!" ,
help : "Ask for a kiss with `{{p}}kiss`, or give one by mentioning someone!" ,
meta : {
meta : {
category : 'Fun ' ,
category : 'Social ' ,
description : "Give someone a kiss, or show that you're looking for one. Best of luck pal!" ,
description : "Give someone a kiss, or show that you're looking for one. Best of luck pal!" ,
syntax : '`kiss <@user>`' ,
syntax : '`kiss <@user>`' ,
extra : null
extra : null
@ -17,28 +20,35 @@ module.exports = {
let saves = savess . saves ;
let saves = savess . saves ;
if ( ! args . length ) {
if ( ! args . length ) {
return message . channel . send ( message . guild ? new Discord . MessageEmbed ( )
return message . channel . send ( message . guild ? new Discord . MessageEmbed ( )
. setTitle ( ` ${ message . guild ? message . member . displayName : message . author . username } wants a kiss! ` )
. setTitle ( ` ${ message . guild ? message . member . displayName : message . author . username } wants a kiss! ` )
. setThumbnail ( message . author . avatarURL ( { size : 2048 } ) )
. setThumbnail ( message . author . avatarURL ( { size : 2048 } ) )
. setDescription ( ` Give them a little kiss with \` ${ prefix } kiss @ ${ message . member . displayName } \` ! ` )
. setDescription ( ` Give them a little kiss with \` ${ prefix } kiss @ ${ message . member . displayName } \` ! ` )
. setColor ( '328ba8' )
. setColor ( '328ba8' )
. setFooter ( 'Luno' , client . user . avatarURL ( ) )
. setFooter ( 'Luno' , client . user . avatarURL ( ) )
. setTimestamp ( )
. setTimestamp ( )
: "I'm not really into that kind of thing. Maybe try asking in a server? "
: "Sorry..my lips are for Crescent only! "
) ; }
) ; }
if ( mention && args [ 0 ] . match ( /^<@(?:!?)(?:\d+)>$/ ) ) {
if ( mention && args [ 0 ] . match ( /^<@(?:!?)(?:\d+)>$/ ) ) {
if ( ! message . guild ) { return message . reply ( "Please make sure you're in a server so you can mention someone other than me to kiss! " ) ; }
if ( ! message . guild ) { return message . reply ( "I'd rather kiss in public..maybe try in a server? " ) ; }
if ( ! message . guild . members . cache . has ( mention . id ) ) { return message . reply ( "That user is not in this server! " ) ; }
if ( ! message . guild . members . cache . has ( mention . id ) ) { return message . reply ( "That person must have ran from your love.. " ) ; }
if ( message . author . id === mention . id ) { return message . reply ( "A self-kiss ought to be a little hard, don't you think?" ) ; }
if ( message . author . id === mention . id ) { return message . reply ( "A self-kiss ought to be a little hard, don't you think?" ) ; }
let kiss = await VC . findOne ( { uid : message . author . id , countOf : 'kiss' } ) || new VC ( { uid : message . author . id , countOf : 'kiss' } ) ;
kiss . against [ mention . id ] = kiss . against [ mention . id ] ? kiss . against [ mention . id ] + 1 : 1 ;
kiss . total ++ ;
kiss . markModified ( ` against. ${ mention . id } ` ) ;
kiss . save ( ) ;
return message . channel . send ( new Discord . MessageEmbed ( )
return message . channel . send ( new Discord . MessageEmbed ( )
. setAuthor ( ` ${ message . guild ? message . member . displayName : message . author . username } kisses ${ message . guild . members . cache . get ( mention . id ) . displayName } ` , message . author . avatarURL ( ) )
. setAuthor ( ` ${ message . guild ? message . member . displayName : message . author . username } gives ${ message . guild . members . cache . get ( mention . id ) . displayName } a kiss! ` , message . author . avatarURL ( ) )
. setDescription ( ` You've kissed them ** ${ kiss . against [ mention . id ] === 1 ? 'once' : ` ${ kiss . against [ mention . id ] } times! ` } ** ` )
. setImage ( String ( Array . from ( saves . values ( ) ) [ Math . floor ( Math . random ( ) * saves . size ) ] ) )
. setImage ( String ( Array . from ( saves . values ( ) ) [ Math . floor ( Math . random ( ) * saves . size ) ] ) )
. setColor ( 'd428a0' )
. setColor ( '52c7bb' )
. setFooter ( ` ${ kiss . total } kiss ${ kiss . total === 1 ? '' : 's' } total ` )
) ;
) ;
}
}
if ( [ 's' , 'save' , 'n' , 'new' , 'a' , 'add' ] . includes ( args [ 0 ] . toLowerCase ( ) ) ) {
if ( [ 's' , 'save' , 'n' , 'new' , 'a' , 'add' ] . includes ( args [ 0 ] . toLowerCase ( ) ) ) {
if ( ! args [ 1 ] ) { return message . channel . send ( 'oi there cunt, give me a link of an image to add!' ) ; }
if ( ! args [ 1 ] ) { return message . channel . send ( 'oi there cunt, give me a link of an image to add!' ) ; }
let tu = await UserData . findOne ( { uid : message . author . id } ) ;
let tu = await UserData . findOne ( { uid : message . author . id } ) ;
if ( ( ! tu || ! tu . developer ) && ! client . developers . includes ( message . author . id ) && ! client . misc . savers . includes ( message . author . id ) ) { return message . reply ( "You must be a Luno Developer in order to add new kiss GIFs." ) ; }
if ( ( ! tu || ! tu . developer ) && ! client . misc . savers . includes ( message . author . id ) ) { return message . reply ( "You must be a Luno Developer in order to add new kissing GIFs." ) ; }
let e = true ;
let e = true ;
let id ;
let id ;
while ( e === true ) { id = makeId ( 6 ) ; if ( ! saves . has ( id ) ) { e = false ; } }
while ( e === true ) { id = makeId ( 6 ) ; if ( ! saves . has ( id ) ) { e = false ; } }
@ -46,7 +56,7 @@ module.exports = {
saves . set ( id , args . join ( " " ) . trim ( ) ) ;
saves . set ( id , args . join ( " " ) . trim ( ) ) ;
savess . saves = saves ;
savess . saves = saves ;
savess . save ( ) ;
savess . save ( ) ;
return message . channel . send ( "Save added!" ) ;
return message . channel . send ( "Save added master !" ) ;
}
}
}
}
} ;
} ;