1- //MUTE COMMAND
2-
31const mongo = require ( '../../schemas/mongo' )
42const warnShema = require ( '../../schemas/schema' )
53
@@ -18,25 +16,52 @@ module.exports = {
1816 if ( modOrAdmin ) {
1917 const target = message . mentions . users . first ( )
2018 if ( target ) {
21- let mainRole = message . guild . roles . cache . find ( role => role . name === 'member' ) || message . guild . roles . cache . find ( role => role . name === 'shrimp' ) ;
2219 let mutedRole = message . guild . roles . cache . find ( role => role . name === 'Muted' ) ;
2320
2421
2522 memberTarget = message . guild . members . cache . get ( target . id )
26- if ( memberTarget . permissions . has ( 'MUTE_MEMBERS ' ) && ! message . member . permissions . has ( 'ADMINISTRATOR' ) ) {
23+ if ( memberTarget . permissions . has ( 'VIEW_AUDIT_LOG ' ) && ! message . member . permissions . has ( 'ADMINISTRATOR' ) ) {
2724 message . channel . send ( 'Be a good mod.' ) ;
28- }
29- else if ( ! args [ 1 ] ) {
30-
3125 }
3226 else {
33- memberTarget . roles . add ( mutedRole . id )
34-
35-
27+ let time
28+ if ( ! isNaN ( args [ 1 ] ) ) {
29+ time = args [ 1 ]
30+ timeUnits = args [ 2 ]
31+ if ( ! args [ 2 ] ) {
32+ return message . channel . send ( "mention the units of time\n's' for seconds, 'm' for minutes, 'hr' for hours, 'd' for days and 'w' for weeks" )
33+ }
34+ switch ( timeUnits ) {
35+ case 's' :
36+ time = args [ 1 ] * 1000
37+ break
38+ case 'm' :
39+ time = args [ 1 ] * 60 * 1000
40+ break
41+ case 'hr' :
42+ time = args [ 1 ] * 60 * 60 * 1000
43+ break
44+ case 'd' :
45+ time = args [ 1 ] * 24 * 60 * 60 * 1000
46+ break
47+ case 'w' :
48+ time = args [ 1 ] * 7 * 24 * 60 * 60 * 1000
49+ break
50+ default :
51+ return message . channel . send ( "invalid units\n's' for seconds, 'm' for minutes, 'hr' for hours, 'd' for days and 'w' for weeks" )
52+ }
53+ const tar = message . mentions . users . first ( )
54+ let mem = message . guild . members . cache . get ( tar . id )
55+ mem . timeout ( time , args . slice ( 3 ) . join ( ' ' ) )
56+ } else {
57+ memberTarget . roles . add ( mutedRole . id )
58+ }
3659 const guildId = message . guild . id ;
3760 const userId = target . id ;
3861 let reason = 'Undefined'
39- if ( args [ 1 ] ) {
62+ if ( args [ 1 ] && ! isNaN ( args [ 1 ] ) ) {
63+ reason = args . slice ( 3 ) . join ( ' ' )
64+ } else {
4065 reason = args . slice ( 1 ) . join ( ' ' )
4166 }
4267 var infrID = parseInt ( '1' , 10 ) ;
0 commit comments