This repository was archived by the owner on Jun 13, 2018. It is now read-only.
Repository navigation
Expand file tree
/
Copy pathindex.js
More file actions
1199 lines (1117 loc) · 58.5 KB
/
Copy pathindex.js
File metadata and controls
1199 lines (1117 loc) · 58.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
const Discord = require("discord.js");
const client = new Discord.Client();
var package = require("./package.json");
var warns = require("./warns.json")
var config = require("./config.json");
var info = require("./info.json");
const fs = require("fs");
const prefix = config.prefix
const ytdl = require("ytdl-core")
const request = require("request")
let ownerida = 270375857384587264
let owneridb = '270375857384587264'
client.on("ready", () => {
console.log('The time is ' + Date.now())
console.log(`HackerBot has started hacking!`)
client.user.setGame(client.guilds.size + ' servers | ' + config.prefix + 'help')
});
client.on('message', msg => {
if (msg.content === 'test') {
msg.channel.send('Test Successful');
msg.channel.sendFile('https://media.giphy.com/media/8GY3UiUjwKwhO/giphy.gif')
}
if(msg.content === 'prefix') {
msg.channel.send("My prefix is " + config.prefix)
}
});
var disabled = 'This command has been disabled'
client.on("message", message => {
let args = message.content.substring(prefix.length).split(" ");
if (message.author.equals(client.user)) return;
if (!message.content.startsWith(prefix)) return;
switch (args[0].toLowerCase()) {
case "music":
var musichembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Music Commands')
.addField('Commands','`play` `stop` `end`')
message.channel.send({embed: musichembed})
break;
case "ping":
var config = require("./config.json")
var pingembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Ping Usage')
.setDescription(config.prefix + 'ping text or ' + config.prefix + 'ping image')
.addField(config.prefix + 'ping <image|text>','<image|text> = Test your ping with an image or with text')
let pingmessage = message.content.split(' ').slice(1).join(' ')
if(pingmessage.length < 1) return message.channel.send({embed: pingembed})
if(pingmessage === 'text') return message.channel.send('Pinging...').then(sent => { sent.edit(`Pong! Took ${sent.createdTimestamp - message.createdTimestamp}ms`)});
if(pingmessage === 'image') return message.channel.send('Pinging...').then(sent => { sent.edit('http://madeformakers.org/wp-content/uploads/2016/01/pong.png').then(msg => { msg.edit(`Pong! Took ${sent.createdTimestamp - message.createdTimestamp}ms`)})});
message.delete()
break;
case "imageping":
message.channel.send('Pinging...').then(sent => {
sent.edit('http://madeformakers.org/wp-content/uploads/2016/01/pong.png').then(msg => {
msg.edit(`Pong! Took ${sent.createdTimestamp - message.createdTimestamp}ms`);
console.log('Image Ping performed on ' + message.guild.name + ` took ${sent.createdTimestamp - message.createdTimestamp}ms`)
})
})
message.delete()
break;
case "volume":
message.channel.send('I do not support changing the volume at this time')
break;
case "play":
var config = require("./config.json")
let musictoplay = message.content.split(' ').slice(1).join('')
let volume2set = message.content.split(/\s+/g).slice(2).join(" ");
var musiclengtherror = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Music Commands Usage (Play)')
.setDescription('You must provide a link that is from `youtube.com`')
.addField(config.prefix + 'play <youtube_link>','<youtube_link> = Link to Youtube Video')
if(musictoplay.length < 1) return message.channel.send({embed: musiclengtherror}).catch(console.error);
var voiceChannel = message.member.voiceChannel;
if (!voiceChannel) return message.reply("You must be in a voice channel.");
voiceChannel.join()
.then(connnection => {
var stream = ytdl(musictoplay, { filter: 'audioonly' });
message.channel.send(':play_pause: **Now Playing** ' + musictoplay)
var dispatcher = connnection.playStream(stream);
dispatcher.on('end', () => voiceChannel.leave());
});
break;
case "pause":
message.channel.send('I do not support pausing at this time :(')
break;
case "stop":
var voiceChannel = message.member.voiceChannel;
if(!voiceChannel) return message.channel.send('You must be in a voice channel')
voiceChannel.leave()
message.channel.send(':octagonal_sign: ')
break;
case "end":
var voiceChannel = message.member.voiceChannel;
if(!voiceChannel) return message.channel.send('You must be in a voice channel')
voiceChannel.leave()
message.channel.send(':wave:')
break;
case "queue":
message.channel.send('`Sorry, but I do not support queues at this time. Please invite HackerBot Music for those commands`')
break;
case "skip":
message.channel.send('`Sorry, but I do not support skipping at this time. Please invite HackerBot Music for those commands`')
break;
case "pi":
var value = eval("Math.PI");
message.channel.send(value)
message.delete()
break;
case "math":
message.channel.send(disabled)
message.delete()
// var mathequal = eval(message.content.split(' ').slice(1).join(' '))
// message.channel.send('Your answer is ' + mathequal)
break;
case "jsexec":
message.channel.send(disabled)
message.delete()
// var execute = eval(message.content.split(' ').slice(1).join(' '))
// var embed = new Discord.RichEmbed()
// .setColor("00FF00")
// .setTitle("JS Execution")
// .addField(':inbox_tray:','**Input**')
// .addField(message.content.split(' ').slice(1).join(' '), '↓')
// .addField(':outbox_tray:','**Output**')
// .addField(execute, '∎')
// message.channel.sendEmbed(embed)
break;
case "setusernick":
var config = require("./config.json")
var usernickerrorembed = new Discord.RichEmbed()
.setTitle('Nickname Usage')
.setDescription('Please use ' + config.prefix + 'setnick | This command also works for bots.')
.addField(config.prefix + 'setnick <@user> <nick>','<@user> = User to nick for | <nick> = Nickname')
message.channel.send({embed: usernickerrorembed})
break;
case "setbotnick":
var config = require("./config.json")
var botnickerroraembed = new Discord.RichEmbed()
.setTitle('Nickname Usage')
.setDescription('Please use ' + config.prefix + 'setnick | This command also works for bots.')
.addField(config.prefix + 'setnick <@user> <nick>','<@user> = User to nick for | <nick> = Nickname')
message.channel.send({embed: botnickerroraembed})
break;
case "setnick":
let unickstaffRoleIDs = message.guild.roles.filter(r => r.name == "Owner" || r.name == 'Co-Owner' || r.name == 'Co Owner' || r.name == "Admin" || r.name == "Admins" || r.name == "Administrator" || r.name == 'Moderator' || r.name == 'Moderators' || r.name == 'Mods').map(r => r.id);
let unickisStaff = false;
for (const id of unickstaffRoleIDs) {
if (message.member.roles.has(id)) {
unickisStaff = true;
break;
}
}
if (unickisStaff) {
var config = require("./config.json")
var nickembed = new Discord.RichEmbed()
.setTitle('Nickname Usage')
.setColor('00FF00')
.setDescription('You must provide a nickname and a user *or bot* to set a nickname for.')
.addField(config.prefix + 'setnick <@user> <nick>','<@user> = Mentioned user | <nick> = Nickname')
let nickuserset = message.guild.member(message.mentions.users.first())
let usernick = message.content.split(/\s+/g).slice(2).join(" ")
if(nickuserset < 1) return message.channel.send({embed: nickembed}).catch(console.error);
if(usernick < 1) return message.channel.send({embed: nickembed}).catch(console.error);
message.guild.member(nickuserset).setNickname(usernick)
message.delete()
message.channel.send('Check ' + nickuserset + '\'s nick/username to see if the results match ' + usernick)
}
else {
var permerrorembed = new Discord.RichEmbed()
var config = require("./config.json")
.setColor('00FF00')
.setDescription('You must have an Adminstrative role')
.addField(config.prefix + 'setnick <@user> <nick>','<@user> = Mentioned user | <nick> = Nickname')
return message.channel.send({embed: permerrorembed});
}
break;
case "dmuser":
var config = require("./config.json")
var dmuembed = new Discord.RichEmbed()
.setColor('00FF00')
.setDescription('You must provide a user and a message to send')
.addField(config.prefix + 'dmuser <@user> <message>','<@user> = Mentioned User | <message> = message to send.')
let message2send2user = message.content.split(/\s+/g).slice(2).join(" ")
let user = message.guild.member(message.mentions.users.first())
if(message2send2user.length < 1) return message.channel.send({embed: dmuembed}).catch(console.error);
if(user.length < 1) return message.channel.send({embed: dmuembed}).catch(console.error);
message.guild.member(user).sendMessage('A message from the user ' + message.author.toString() + ' has arrived!')
message.guild.member(user).sendMessage(message2send2user)
message.channel.send('Message sent to ' + user + ' successfully!')
break;
case "setgame":
var gameembed = new Discord.RichEmbed()
.setColor('00FF00')
.setDescription('You must provide a status *or game* for HackerBot')
.addField(config.prefix + 'setgame <game>','<game> = Can be anything really')
let playgame = message.content.split(' ').slice(1).join(' ')
if(playgame.length < 1) return message.channel.send({embed: gameembed}).catch(console.error);
client.user.setGame(playgame)
message.delete()
message.channel.send('Set Game Status to ' + playgame)
break;
case "website":
var websiteembed = new Discord.RichEmbed()
.setColor('008080')
.setTitle('HackerBot Website')
.setURL('https://sites.google.com/view/hackerbot/home')
message.channel.send({embed: websiteembed})
break;
case "musicwebsite":
var mwebsiteembed = new Discord.RichEmbed()
.setColor('008080')
.setTitle('HackerBot Music Website')
.setURL('https://sites.google.com/view/hackerbot-music/home')
message.channel.send({embed: mwebstieembed})
break;
case "devpage":
var devpageembed = new Discord.RichEmbed()
.setColor('008080')
.setTitle('TheHacker894 Dev Page')
.setURL('https://sites.google.com/view/thehacker-dev-page/home')
message.channel.send({embed: devpageembed})
break;
case "consoleissue":
var ciembed = new Discord.RichEmbed()
.setColor(`00FF00`)
.setDescription('You must provide an issue')
.addField(config.prefix + 'consoleissue <issuereport>','<issuereport> = Your issue')
let issuereport = message.content.split(' ').slice(1).join(' ')
if(issuereport.length < 1) return message.channel.send({embed: ciembed}).catch(console.issue);
console.log('Issue report: ' + issuereport + ' from ' + message.guild.name + '.')
message.delete()
message.channel.send('Issue Reported to console')
message.channel.send('Thank you :)')
break;
case ":O":
message.channel.send('>:O')
break;
case ":o":
message.channel.send('>:o')
break;
case ":D":
message.channel.send('>:D')
break;
case ":I":
message.channel.send('>:I')
break;
case ":0":
message.channel.send('>:0')
break;
case ":(":
message.channel.send(">:(")
break;
case ":)":
message.channel.send(">:)")
break;
case ":d":
message.channel.send(">:d")
break;
case ":l":
message.channel.send(">:l")
break;
case "rage":
message.channel.send('https://giphy.com/gifs/glee-image-wiki-wvQIqJyNBOCjK')
break;
case "uptime":
let seconds = client.uptime / 1000 + ' seconds'
let minutes = client.uptime / 60000 + ' minutes'
let hours = client.uptime / 3600000 + ' hours'
let days = client.uptime / 86400000 + ' days'
let uptimeformat = message.content.split(' ').slice(1).join(' ')
var uptimeembed = new Discord.RichEmbed()
.setColor(`00FF00`)
.setTitle('HackerBot Uptime')
.addField('Uptime Seconds', seconds)
.addField('Uptime Minutes', minutes)
.addField('Uptime Hours', hours)
.addField('Uptime Days', days)
var secondupembed = new Discord.RichEmbed()
.setColor(`00FF00`)
.setTitle('HackerBot Uptime (Seconds)')
.addField('Uptime Seconds', seconds)
var minuteupembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('HackerBot Uptime (Minutes)')
.addField('Uptime Minutes', minutes)
var hourupembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('HackerBot Uptime (Hours)')
.addField('Uptime Hours', hours)
var dayupembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('HackerBot Uptime (Days)')
.addField('Uptime Days', days)
if(uptimeformat === 'seconds') return message.channel.send({embed: secondupembed})
if(uptimeformat === 'minutes') return message.channel.send({embed: minuteupembed})
if(uptimeformat === 'hours') return message.channel.send({embed: hourupembed})
if(uptimeformat === 'days') return message.channel.send({embed: dayupembed})
if(uptimeformat.length < 1) return message.channel.send({embed: uptimeembed})
break;
case "unixtimestamp":
message.channel.send(Date.now() / 1000 + ' seconds')
break;
break;
case "serverinfo":
var serverinfembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Server Info')
.addField('Server Name', message.guild.name)
.addField('Server ID', message.guild.id)
.addField('Server Region', message.guild.region)
.addField('Member Count', message.guild.memberCount)
.addField('Online Member Count', message.guild.presences.filter(p=>p.status == 'online').size)
.addField('Idle Member Count', message.guild.presences.filter(p=>p.status == 'idle').size)
.addField('Do Not Disturb Count', message.guild.presences.filter(p=>p.status == 'dnd').size)
.addField('Offline Member Count', `${message.guild.memberCount - message.guild.presences.filter(p=>p.status == 'online').size - message.guild.presences.filter(p=>p.status == 'idle').size - message.guild.presences.filter(p=>p.status == 'dnd').size} `)
.addField('Channel Count', message.guild.channels.size)
message.channel.send({embed: serverinfembed})
break;
case "membercount":
var mcembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Member Count')
.addField('Member Count', message.guild.memberCount)
.addField('Online Member Count', message.guild.presences.filter(p=>p.status == 'online').size)
.addField('Idle Member Count', message.guild.presences.filter(p=>p.status == 'idle').size)
.addField('Do Not Disturb Count', message.guild.presences.filter(p=>p.status == 'dnd').size)
.addField('Offline Member Count', message.guild.presences.filter(p=>p.status == 'offline').size)
message.channel.send({embed: mcembed})
break;
case "members":
var mcembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Member Count')
.addField('Member Count', message.guild.memberCount)
.addField('Online Member Count', message.guild.presences.filter(p=>p.status == 'online').size)
.addField('Idle Member Count', message.guild.presences.filter(p=>p.status == 'idle').size)
.addField('Do Not Disturb Count', message.guild.presences.filter(p=>p.status == 'dnd').size)
.addField('Offline Member Count', `${message.guild.memberCount - message.guild.presences.filter(p=>p.status == 'online').size - message.guild.presences.filter(p=>p.status == 'idle').size - message.guild.presences.filter(p=>p.status == 'dnd').size} `)
message.channel.send({embed: mcembed})
break;
case "channelcount":
var ccembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Channel Count')
.addField('Channel Count', message.guild.channels.size)
message.channel.send({embed: ccembed})
break;
case "channels":
var cembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Channel Count')
.addField('Channel Count', message.guild.channels.size)
message.channel.send({embed: cembed})
break;
case "servername":
var snembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Server Name')
.addField('Server Name', message.guild.name)
message.channel.send({embed: snembed})
break;
case "serverid":
var siembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Server ID')
.addField('Server ID', message.guild.id)
message.channel.send({embed: siembed})
break;
case "success":
message.channel.sendFile('https://cdn.discordapp.com/attachments/216032723851018251/346777021780590612/meme.png')
break;
case "newmute":
message.channel.send(disabled)
// {
//let reason = message.content.split(/\s+/g).slice(2).join(" ")
//let users = message.guild.member(message.mentions.users.first())
//let muteRole = client.guilds.get(message.guild.id).roles.find("name","muted")
//if (!muteRole) return message.guild.createRole({
//name: 'muted',
// color: 'BLUE',
// }).catch(console.error).then(()=>
// message.channel.send('Creating Role'))
// if (reason.length < 1) return message.channel.send('You must provide a reason').catch(console.error)
// if (message.mentions.user.size < 1) return message.channel.send('You must mention a user.').catch(console.error)
// message.guild.member(users).addRole(muteRole)
// }
break;
case "newbanuser":
// if(message.member.hasPermissions("BAN_MEMBERS")){
// let banMember = message.guild.member(message.mentions.users.first());
// let banMembermsg = msg.guild.member(message.mentions.users.first());
// let reason = message.content.split(/\s+/g).slice(2).join(" ");
// message.guild.member(banMember).send('You have been banned by ' + message.author.toString() + " has banned you for " + reason + ".").then(msg => msg.guild.member(banMembermsg).ban(reason));
// message.delete()
// message.channel.sendMessage("The user, " + message.author.toString() + "has banned " + banMember + " for " + reason + ".");
// console.log('A user has been BANNED on ' + message.guild.name + '.')
// }
// else {
// return message.reply("You don\'t have the perms to ban members you fake hacker");
// }
message.channel.send(disabled)
break;
case "warn":
var config = require("./config.json");
var warnembed = new Discord.RichEmbed()
.setColor('00FF00')
.setDescription('You must supply a reason and a mentioned user.')
.addField(config.prefix + 'warn <@user> <reason>','<@user> = @Mentioned User | <reason> = Reason for warn')
let reason = message.content.split(/\s+/g).slice(2).join(" ");
let usertowarn = message.guild.member(message.mentions.users.first());
console.log(reason);
if(reason.length < 1) return message.channel.send({embed: warnembed})
if(message.mentions.users.size < 1) return message.channel.send({embed: warnembed}).catch(console.error);
var permerrorembed = new Discord.RichEmbed()
.setColor(00000)
.addField('Action','Warning')
.addField('User:', usertowarn)
.addField('Moderator', message.author.toString())
.addField('Reason', reason)
message.channel.send({embed: permerrorembed})
break;
case "dmhacker":
var config = require("./config.json");
var dmhembed = new Discord.RichEmbed()
.setColor('00FF00')
.setDescription('You must provide a message to send to TheHacker894')
.addField(config.prefix + 'dmhacker <DM>','<DM> = Direct Message to send to TheHacker894')
let message4hacker = message.content.split(' ').slice(1).join(' ')
if(message4hacker.length < 1) return message.channel.send({embed: dmhembed}).catch(console.error);
message.delete()
client.users.get('270375857384587264').send('A message from the user ' + message.author.toString() + ' has arrived.')
client.users.get('270375857384587264').send(message4hacker)
break;
case "ban":
let staffRoleIDs = message.guild.roles.filter(r => r.name == "Owner" || r.name == 'Co-Owner' || r.name == 'Co Owner' || r.name == "Admin" || r.name == "Admins" || r.name == "Administrator").map(r => r.id);
let isStaff = false;
for (const id of staffRoleIDs) {
if (message.member.roles.has(id)) {
isStaff = true;
break;
}
}
if (isStaff) {
var config = require("./config.json");
var embedreturn = new Discord.RichEmbe()
.setColor('00FF00')
.setDescription('You need to provide a member to ban and a reason for the ban')
.addField(config.prefix + 'ban <@user> <reason>','<@user> = Mentioned User | <reason> = Reason for Ban')
let banMember = message.guild.member(message.mentions.users.first());
let banreason = message.content.split(/\s+/g).slice(2).join(" ");
if(banreason.length < 1) return message.channel.send({embed: embedreturn}).catch(console.error);
if(banMember.length < 1) return message.channel.send({embed: embedreturn}).catch(console.error);
message.guild.member(banMember).ban(banreason);
message.delete()
var embedaction = new Discord.RichEmbed()
.setColor(00000)
.addField('Action','Ban')
.addField('User:', banMember)
.addField('UserID for Unban', userid4unban)
.addField('Moderator', message.author.toString())
.addField('Reason', banreason)
message.channel.send({embed: embedaction})
console.log('A user has been BANNED on ' + message.guild.name + '.')
} else {
var config = require("./config.json");
var info = require("./info.json");
var embedpermreturn = new Discord.RichEmbed()
.setColor("FFA500")
.setTitle('Ban Usage')
.setDescription('This command will only work if your role is named Owner or Admin.')
.addField(config.prefix + 'ban <@user> <reason>','<@user> = Mentioned User | <reason> = Reason for Kick')
.setFooter("Version " + info.newversion + " (Ban Usage)","https://cdn.discordapp.com/avatars/342054071060004884/04f1a7a65bd8467eb928e82b33e6d010.p?size=1024")
return message.channel.send({embed: embedpermreturn})
}
break;
case "unixtime":
message.channel.send('The amount of ticks that have passed since 1/1/1970 on EDT is ' + Date.now())
break;
case "kick":
let staffRoleID = message.guild.roles.filter(r => r.name == 'Owner' || r.name == 'Co-Owner' || r.name == 'Co Owner' || r.name == 'Admin' || r.name == 'Moderator' || r.name == 'Moderators' || r.name == 'Mods' || r.name == "Admins" || r.name == "Administrator").map(r => r.id);
let isStaffs = false;
for (const id of staffRoleID) {
if (message.member.roles.has(id)) {
isStaffs = true;
break;
}
}
if (isStaffs) {
var config = require("./config.json");
var info = require("./info.json");
var newembed = new Discord.RichEmbed()
.setColor("FFA500")
.setTitle('Kick Usage')
.setDescription('You provide a member to kick and a reason', true)
.addField(config.prefix + 'kick <@user> <reason>','<@user> = Mentioned User | <reason> = Reason for kick', true)
.setFooter("Version " + info.newversion + " (Kick Usage)","https://cdn.discordapp.com/avatars/342054071060004884/04f1a7a65bd8467eb928e82b33e6d010.webp?size=1024")
let kickMember = message.guild.member(message.mentions.users.first());
let reason = message.content.split(/\s+/g).slice(2).join(" ");
if(reason.length < 1) return message.channel.send({embed: newembed}).catch(console.error);
if(kickMember.length < 1) return message.channel.send({embed: newembed}).catch(console.error);
var embedaction = new Discord.RichEmbed()
.setColor(00000)
.addField('Action','Kick')
.addField('User:', kickMember)
.addField('Moderator', message.author.toString())
.addField('Reason', reason)
message.channel.send({embed: embedaction})
message.delete()
message.guild.member(kickMember).kick(reason);{
message.channel.send("The user, " + message.author.toString() + " has kicked a member for " + reason + ".");
}
}
else {
var config = require("./config.json");{
var info = require('./info.json');
var embedreturn = new Discord.RichEmbed()
.setColor("FFA500")
.setTitle('Kick Usage')
.setDescription('This command will only work if your role is named Owner, Admin, or Moderator')
.addField(config.prefix + 'kick <@user> <reason>','<@user> = Mentioned User | <reason> = Reason for Kick')
.setFooter("Version " + info.newversion + " (Kick Usage)","https://cdn.discordapp.com/avatars/342054071060004884/04f1a7a65bd8467eb928e82b33e6d010.webp?size=1024")
}
return message.channel.send({embed: embedreturn})
}
break;
case "purge":
let purgeids = message.guild.roles.filter(r => r.name == 'Owner' || r.name == 'Co-Owner' || r.name == "Co Owner" || r.name == 'Admin' || r.name == 'Moderator' || r.name == 'Moderators' || r.name == 'Mods' || r.name == "Admins" || r.name == "Administrator").map(r => r.id);
let isStaffspurge = false;
for (const id of purgeids) {
if (message.member.roles.has(id)) {
isStaffspurge = true;
break;
}
}
if (isStaffspurge) {
var config = require("./config.json");
var lengthtoosmall = new Discord.RichEmbed()
.setColor('00FF00')
.setDescription('You must provide a number of message to purge; 1 - 100')
.addField(config.prefix + 'purge <amount>','<amount> = Messages to purge')
var lengthtoobig = new Discord.RichEmbed()
.setColor('00FF00')
.setDescription('The amount of messages to purge cannot be greater than 100')
.addField(config.prefix + 'purge <amount>','<amount> = Messages to purge (cannot be greater than 100)')
let purgearg = message.content.split(' ').slice(1).join(' ')
if(purgearg.length < 1) return message.channel.send({embed: lengthtoosmall}).catch(console.error);
if(purgearg.length > 100) return message.channel.send({embed: lengthtoobig}).catch(console.error);
message.delete()
message.guild.member(message.channel.bulkDelete(purgearg))
} else {
var config = require("./config.json");
var permembed = new Discord.RichEmbed()
.setColor('00FF00')
.setDescription('Your role must be named Owner, Admin, or Co-Owner for this command')
.addField(config.prefix + 'purge <amount>','<amount> = Messages to purge')
return message.channel.send({embed: permembed});
}
break;
case "channeldelete":
let staffchanneldelID = message.guild.roles.filter(r => r.name == "Owner" || r.name == 'Co-Owner' || r.name == 'Co Owner' || r.name == "Admin" || r.name == "Admins" || r.name == "Administrator").map(r => r.id);
let isStaffchanneldel = false;
for (const id of staffchanneldelID) {
if (message.member.roles.has(id)) {
isStaffchanneldel = true;
break;
}
}
if (isStaffchanneldel) {
message.channel.delete()
message.author.send('Channel has been deleted')
console.log('A channel has been deleted on ' + message.guild.name + '.')
}
else {
return message.reply(" You don\'t have the perms to delete channels you fake hacker");
}
break;
case "channelcreate":
let staffchannelcreateID = message.guild.roles.filter(r => r.name == "Owner" || r.name == 'Co-Owner' || r.name == 'Co Owner' || r.name == "Admin" || r.name == "Admins" || r.name == "Administrator").map(r => r.id);
let isStaffchannelcreate = false;
for (const id of staffchannelcreateID) {
if (message.member.roles.has(id)) {
isStaffchannelcreate = true;
break;
}
}
if (isStaffchannelcreate) {
var config = require("./config.json");
var channelcembed = new Discord.RichEmbed()
.setColor('00FF00')
.setDescription('You must provide a name for your new channel.')
.addField(config.prefix + 'channelcreate <channelname>','<channelname> = Name for Channel')
let channelname = message.content.split(' ').slice(1).join(' ')
if(channelname.length < 1) return message.channel.send({embed: channelcembed})
message.guild.createChannel(channelname)
message.channel.send('Channel ' + channelname + ' has been created ' + message.author.toString() + '.')
console.log('A channel has been created on ' + message.guild.name + '.')
}
else {
var config = require("./config.json");
var channelcelsereturnembed = new Discord.RichEmbed()
.setColor('00FF00')
.setDescription('You must have a role named Owner or Admin')
.addField(config.prefix + 'channelcreate <channelname>','<channelname> = Name for Channel')
return message.channel.send({embed: channelcelsereturnembed})
}
break;
case "sonicsez":
message.channel.send('https://www.youtube.com/watch?v=0SuTW-edU5M')
break;
case "lawsofrobotics":
message.channel.send("1. A robot may not injure a human being or, through inaction, allow a human being to come to harm.")
message.channel.send("2. A robot must obey orders given it by human beings except where such orders would conflict with the First Law.")
message.channel.send("3. A robot must protect its own existence as long as such protection does not conflict with the First or Second Law.")
break;
case "rules":
message.channel.send("1. A robot may not injure a human being or, through inaction, allow a human being to come to harm.")
message.channel.send("2. A robot must obey orders given it by human beings except where such orders would conflict with the First Law.")
message.channel.send("3. A robot must protect its own existence as long as such protection does not conflict with the First or Second Law.")
break;
case "noticeme":
message.channel.send("You have been noticed, " + message.author.toString() + ".")
break;
case "noticemesenpai":
message.channel.send("You have been noticed, " + message.author.toString() + ".")
break;
case "sourcecode":
var scembed = new Discord.RichEmbed()
.setColor('40E0D0')
.setTitle('HackerBot Source Code')
.setDescription('Here you can view and download the source code. Please note that the GitHub Source Code gets updated every week.')
.setURL('https://mr-hacker894.github.io/HackerBot/')
message.channel.send({embed: scembed})
break;
case "github":
var gembed = new Discord.RichEmbed()
.setColor('40E0d0')
.setTitle('HackerBot Github Page')
.setDescription('Here you can view the HackerBot github page.')
.setURL('https://mr-hacker894.github.io/HackerBot/')
message.channel.send({embed: gembed})
break;
case "invite":
message.channel.send('Here is the invite to the server requested by,' + message.author.toString() + ".")
var inembed = new Discord.RichEmbed()
.setColor('008080')
.setTitle('Invite to HackerWorld Server')
.setURL('https://discord.gg/FC2F8n2')
message.channel.send({embed: inembed})
break;
case "kernalpanic":
message.channel.send('Might wanna go the Apple Genius Bar!')
message.channel.sendFile('http://i.imgur.com/Ev03b0i.jpg')
break;
case "test":
message.channel.send('Testing...')
message.channel.send('https://media.giphy.com/media/8GY3UiUjwKwhO/giphy.gif')
message.author.send('Testing...')
message.author.send('https://media.giphy.com/media/8GY3UiUjwKwhO/giphy.gif')
break;
case "botinvite":
message.channel.send("Here is an invite for HackerBot requested by, " + message.author.toString() + ".")
var binvembed = new Discord.RichEmbed()
.setColor('40E0D0')
.setTitle('HackerBot Invite')
.setURL('https://discordapp.com/oauth2/authorize?client_id=342054071060004884&scope=bot&permissions=2146958591')
message.channel.send({embed: binvembed})
break;
case "info":
var info = require("./info.json");
var config = require("./config.json");
var infoembed = new Discord.RichEmbed()
.setColor("ffff00")
.setTitle('HackerBot Info')
.addField('Owner', config.owner)
.addField('Library', info.library)
.addField('Language', info.language)
.addField('Description', config.description)
.addField('Uptime', client.uptime / 1000 + 's')
.addField('Servers', client.guilds.size)
.addField('Helpers', '@Google Drive#0831, @Bloxxer_DTC#1958, The Discord.js Discord Server', false)
.addField('Testers', '@Corbs#9620, Ion#8844, @Google Drive#0831, @Shadow The |「Dimensions™」#5869, @Jackalope#6413', false)
.addField('Version', info.newversion)
.setThumbnail('https://images-ext-1.discordapp.net/external/Z1krf1ZBQTM3mDkke47xThwIF4GEFG0doRAdKRVHgnY/%3Fsize%3D128/https/cdn.discordapp.com/avatars/342054071060004884/4b83b2aa5970b8d34db71fd986abfe30.jpg')
.setFooter("Version " + info.newversion,"https://images-ext-1.discordapp.net/external/Z1krf1ZBQTM3mDkke47xThwIF4GEFG0doRAdKRVHgnY/%3Fsize%3D128/https/cdn.discordapp.com/avatars/342054071060004884/4b83b2aa5970b8d34db71fd986abfe30.jpg")
message.channel.send({embed: infoembed})
break;
case "help":
let helpcommand = message.content.split(' ').slice(1).join(' ')
var info = require("./info.json")
var config = require("./config.json");
var helpembed = new Discord.RichEmbed()
.setColor('FFFF00')
.setTitle('Commands')
.setDescription(config.prefix + 'help <command> to get help with all commands listed here with the exclusion of the **WIP** commands.')
.addField('**Information**','`help` `ping` `test` `info` `uptime` `serverinfo`')
.addField('**Bot Information**','`botinvite` `website` `musicwebsite` `sourcecode` `github` `suggestion` `consoleissue`')
.addField('**Music**','`play` `skip` `pause` `queue` `end` `stop`')
.addField('**Entertainment**','`say` `saytts` `8ball` `coinflip` `flip` `roll`')
.addField('**Memes**','`rage` `error` `tableflip` `untableflip` `shrug` `notproductive` `bigorder`')
.addField('**Moderation**','`ban` `unban` `kick` `purge` `channelcreate` `channeldelete` `setnick`')
.addField('**Other**','`dmhacker` `dmuser` `devpage` `invite` `unixtime`')
.addField('**WIP**','`warn` `mute`')
var helpcembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Help Help')
.setDescription('Get a list of commands available with HackerBot')
.addField(config.prefix + 'help <command>','<command> = command from help')
var pingembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Ping Help')
.setDescription('Test the bot\'s ping')
.addField(config.prefix + 'ping <text|image>','<text|image> = ')
var testembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Test Help')
.setDescription('Test Command to see if HackerBot is working')
.addField(config.prefix + 'test','This command has no arguments')
var infoembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Info Help')
.setDescription('Gives info on HackerBot')
.addField(config.prefix + 'info','This command has no arguments')
var uptimeembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Uptime Help')
.setDescription('Gives total Uptime of HackerBot')
.addField(config.prefix + 'uptime <timeformat>','<timeformat> = Seconds, Minutes, etc,...')
var serverinfoembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Server Info Help')
.setDescription('Gives info on the current server')
.addField(config.prefix + 'severinfo','This command has no arguments')
var botinviteembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Bot Invite Help')
.setDescription('Sends an OAuth Invite for HackerBot')
.addField(config.prefix + 'botinvite','This command has no arguments')
var websiteembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Website Help')
.setDescription('Sends a link to the HackerBot Website')
.addField(config.prefix + 'website','This command has no arguments')
var musicwebsiteembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Music Website Help')
.setDescription('Sends a link to the HackerBot Music Website')
.addField(config.prefix + 'musicwebsite','This command has no arguments')
var sourcecodeembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Source Code Help')
.setDescription('Sends a link to the HackerBot Source')
.addField(config.prefix + 'sourcecode','This command has no arguments')
var githubembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('GitHub Help')
.setDescription('Sends a link the HackerBot GitHub Page')
.addField(config.prefix + 'github','This command has no arguments')
var suggestionembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Suggestion Help')
.setDescription('Sends a link to the GitHub Issues Page')
.addField(config.prefix + 'suggestion','This command has no arguments')
var consoleissueembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Console Issue Help')
.setDescription('Send a console issue report directly to the console')
.addField(config.prefix + 'consoleissue <issuereport>','<issuereport> = Issue to report to the console')
var sayembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle("Say Help")
.setDescription('Say a message through HackerBot')
.addField(config.prefix + 'say <message>','<message> = Message to say')
var sayttsembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('SayTTS Help')
.setDescription('Say a message through HackerBot with Text To Speech')
.addField(config.prefix + 'saytts <ttsmessage>','<ttsmessage> = TTS Message to say')
var eightballembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('8Ball Help')
.setDescription('Ask the mystical 8Ball your :fire: burnining :fire: questions')
.addField(config.prefix + '8ball <question>','<question> = Question to ask the mystical 8Ball')
var coinflipembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Coinflip Help')
.setDescription('Flip a coin; Heads or Tails')
.addField(config.prefix + 'flip','This command has no arguments')
var rollembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('RollDice Help')
.setDescription('Roll the die *(or dice)*')
.addField(config.prefix + 'roll','This command has no arguments')
var rageembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Rage Help')
.setDescription('Sends a Rage GIF')
.addField(config.prefix + 'rage','This command has no agruments')
var errorccembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Error Help')
.setDescription('Sends an Error with the color provided')
.addField(config.prefix + 'error <color>','<color> = Any color from the rainbow')
var tableflipembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Table Flip Help')
.setDescription('Sends a fipped table')
.addField(config.prefix + 'tableflip','This command has no arguments')
var untableflipembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('UnTable Flip Help')
.setDescription('Sends a unflipped table')
.addField(config.prefix + 'untableflip','This command has no arguments')
var shrugembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Shrug Help')
.setDescription('Sends a shrug')
.addField(config.prefix + 'shrug','This command has no arguments')
var notproductiveembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Not Productive Help')
.setDescription('A summary of what you did over the summer')
.addField(config.prefix + 'notproductive','This command has no arguments')
var bigorderembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Big Order Help')
.setDescription('Big Smokes\'s Big Order')
.addField(config.prefix + 'bigorder','This command has no arguments')
var banembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Ban Help')
.setDescription('Bans a User')
.addField(config.prefix + 'ban <@user> <reason>','<@user> = Mentioned User | <reason> = Reason for Ban')
var unbanembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Unban Help')
.setDescription('Unbans a User')
.addField(config.prefix + 'unban <userid>','<userid> = User\'s guild ID')
var purgeembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Purge Help')
.setDescription('Deletes up to 100 Messages')
.addField(config.prefix + 'purge <amount>','<amount> = amount of messages to purge')
var kickembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Kick Help')
.setDescription('Kick a user')
.addField(config.prefix + 'kick <@user> <reason>','<@user> = @Mentioned User | <reason> = Reason for Kick')
var channelcreateembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Channel Create Help')
.setDescription('Create a channel')
.addField(config.prefix + 'channelcreate <name>','<name> = Name for Channel Creation')
var channeldelete = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Channel Delete Help')
.setDescription('Delete a channel')
.addField(config.prefix + 'channeldelete','This command has no arguments')
var setnickembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Set Nick Help')
.setDescription('Set the Nickname of a user or bot *(with the correct permissions)*')
.addField(config.prefix + 'setnick <@user> <nickname>','<@user> = @Mentioned User ! <nickname> = Nickname to set for the user or bot')
var dmuserembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('DMUser Help')
.setDescription('DM a user through HackerBot; **This command does not work globally**')
.addField(config.prefix + 'dmuser <@user> <message>','<@user> = @Mentioned User | <message> = Message to send to user')
var dmhackerembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('DMHacker Help')
.setDescription('DM TheHacker894')
.addField(config.prefix + 'dmhacker <message>','<message> = Message to send to TheHacker894')
var devpageembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Dev Page Help')
.setDescription('Sends a link to TheHacker894 Dev Page')
.addField(config.prefix + 'devpage','This command has no arguments')
var inviteembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Invite Help')
.setDescription('Sends an Invite Link to the HackerWorld Discord Server')
.addField(config.prefix + 'invite','This command has no arguments')
var unixtimeembed = new Discord.RichEmbed()
.setColor('00FF00')
.setTitle('Unix Time Help')
.setDescription('Sends the amount of ticks passed since 1/1/1970 on EDT')
.addField(config.prefix + 'unixtime','This command has no arguments')
if(helpcommand.length < 1) return message.channel.send({embed: helpembed})
if(helpcommand === `help`) return message.channel.send({embed: helpcembed})
if(helpcommand === `ping`) return message.channel.send({embed: pingembed})
if(helpcommand === `test`) return message.channel.send({embed: testembed})
if(helpcommand === `info`) return message.channel.send({embed: infoembed})
if(helpcommand === `uptime`) return message.channel.send({embed: uptimeembed})
if(helpcommand === `serverinfo`) return message.channel.send({embed: serverinfoembed})
if(helpcommand === `botinvite`) return message.channel.send({embed: botinviteembed})
if(helpcommand === `website`) return message.channel.send({embed: websiteembed})
if(helpcommand === `musicwebsite`) return message.channel.send({embed: musicwebsiteembed})
if(helpcommand === `sourcecode`) return message.channel.send({embed: sourcecodeembed})
if(helpcommand === `github`) return message.channel.send({embed: githubembed})
if(helpcommand === `suggestion`) return message.channel.send({embed: suggestionembed})
if(helpcommand === `consoleissue`) return message.channel.send({embed: consoleissueembed})
if(helpcommand === `play`) return message.channel.send('You must invite HackerBot Music for this command - https://discordapp.com/oauth2/authorize?client_id=365255372480446465&scope=bot&permissions=2146958591')
if(helpcommand === `pause`) return message.channel.send('You must invite HackerBot Music for this command - https://discordapp.com/oauth2/authorize?client_id=365255372480446465&scope=bot&permissions=2146958591')
if(helpcommand === `queue`) return message.channel.send('You must invite HackerBot Music for this command - https://discordapp.com/oauth2/authorize?client_id=365255372480446465&scope=bot&permissions=2146958591')
if(helpcommand === `clear`) return message.channel.send('You must invite HackerBot Music for this command - https://discordapp.com/oauth2/authorize?client_id=365255372480446465&scope=bot&permissions=2146958591')
if(helpcommand === `skip`) return message.channel.send('You must invite HackerBot Music for this command - https://discordapp.com/oauth2/authorize?client_id=365255372480446465&scope=bot&permissions=2146958591')
if(helpcommand === `say`) return message.channel.send({embed: sayembed})
if(helpcommand === `saytts`) return message.channel.send({embed: sayttsembed})
if(helpcommand === `8ball`) return message.channel.send({embed: eightballembed})
if(helpcommand === `coinflip`) return message.channel.send({embed: coinflipembed})
if(helpcommand === `flip`) return message.channel.send({embed: coinflipembed})
if(helpcommand === `roll`) return message.channel.send({embed: rollembed})
if(helpcommand === `rolldice`) return message.channel.send({embed: rollembed})
if(helpcommand === `rage`) return message.channel.send({embed: rageembed})
if(helpcommand === `error`) return message.channel.send({embed: errorccembed})
if(helpcommand === `tablelfip`) return message.channel.send({embed: tableflipembed})
if(helpcommand === `untableflip`) return message.channel.send({embed: untableflipembed})
if(helpcommand === `shrug`) return message.channel.send({embed: shrugembed})
if(helpcommand === `notproductive`) return message.channel.send({embed: notproductiveembed})
if(helpcommand === `bigorder`) return message.channel.send({embed: bigorderembed})
if(helpcommand === `ban`) return message.channel.send({embed: banembed})
if(helpcommand === `unban`) return message.channel.send({embed: unbanembed})
if(helpcommand === `purge`) return message.channel.send({embed: purgeembed})
if(helpcommand === `kick`) return message.channel.send({embed: kickembed})
if(helpcommand === `channelcreate`) return message.channel.send({embed: channelcreateembed})
if(helpcommand === `channeldelete`) return message.channel.send({embed: channeldeleteembed})
if(helpcommand === `setnick`) return message.channel.send({embed: setnickembed})
if(helpcommand === `dmuser`) return message.channel.send({embed: dmuserembed})
if(helpcommand === `dmhacker`) return message.channel.send({embed: dmhackerembed})
if(helpcommand === `devpage`) return message.channel.send({embed: devpageembed})