-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
138 lines (124 loc) · 4.08 KB
/
index.js
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
const Discord = require('discord.js');
const client = new Discord.Client();
const http = require('http');
const { prefix, token } = require('./config.json');
client.on('ready', _ => console.log('I am ready'));
client.on('message', message => {
const args = message.content.slice(prefix.length).split(' ');
const command = args.shift().toLowerCase();
if(message.author.id === '215708443363901440'){
message.channel.send('lol once again, no one cares billy.');
} else if(message.content === prefix + 'gotem'){
message.channel.send('ThAtS wHaT ShE sAId!!');
}
else if(message.content === `${prefix}get rekt`){
message.channel.send('happy now billy?\ntrash')
}
else if (message.content === prefix + 'greet') {
message.channel.send('Down here the floors are salt, the walls are salt, and the ceiling is salt. So go fuck-yourself.')
}
else if (message.content === prefix + 'nixon') {
message.channel.send('NIXON IS FUCKING TRASH BROTHER DONT EVEN TYPE HIS NAME IN MY TERMINAL')
}
else if(message.content === prefix + 'what is the meaning of life?'){
message.channel.send('forty-two')
}
else if (message.content === `${prefix}me`) {
message.channel.send(`Your username: ${message.author.username}\nYour ID: ${message.author.id}`);
}
else if(message.author.username === 'Ezra') {
let msg = repeatLikeALoser(message.content);
const attachment = new Discord.MessageAttachment('./spongbob.jpg');
message.channel.send(attachment);
message.channel.send(`${msg}`)
}
else if(command === 'shop'){
buildShop();
}
else if(command === 'dd'){
let arr = [...args];
if(arr[0] === 'battle'){
message.channel.send(`Player: ${ranNum(21)} hit for ${ranNum(13)} damge`)
} else {
getDDDate(arr, obj => {
for(let key in obj){
message.channel.send(`${key}:\n${obj[key]}`);
}
})
}
}
});
const ranNum = function(max){
return Math.floor(Math.random() * Math.floor(max));
}
const repeatLikeALoser = function(str){
let words = str.split(" ");
let result = [];
words.forEach(el => {
let letters = el.split('');
let newWord = [];
for(let i = 0; i < letters.length; i++){
if (ranNum(letters.length) % 2 === 0){
newWord.push(letters[i].toUpperCase());
} else {
newWord.push(letters[i]).toLowerCase();
}
}
result.push(newWord.join(''));
});
return result.join(' ');
}
const getDDDate = function(args, cb){
let html = 'http://www.dnd5eapi.co/api';
args.forEach(el => {
html += `/${el}`
});
http.get(html, res => {
const { statusCode } = res;
const contentType = res.headers['content-type'];
let error;
if (statusCode !== 200) {
error = new Error('Fucking request failed brother\n' + `Status Code: ${statusCode}`);
} else if (!/^application\/json/.test(contentType)){
error = new Error('Invalid Content dumb fuck\n' + `Expected app/json but got ${contentType}`)
}
if (error) {
console.error(error);
res.resume();
return;
}
res.setEncoding('utf8');
let rawData = '';
res.on('data', (chunk) => {rawData += chunk;});
res.on('end', _ => {
try {
let parsedJSON = JSON.parse(rawData);
cb(parsedJSON)
} catch (e) {
console.error(e.message);
}
});
}).on('error', e => {
console.error(`Got error: ${e.message}`);
})
}
const buildShop = function(){
const exampleEmbed = new Discord.MessageEmbed()
.setColor('#0099ff')
.setTile('The Bot Shop')
.setImage('https://livekamp.com/wp-content/uploads/2020/02/Deniece-Williams-1.jpg')
.setDescription('Some of the finest wares for all your cares.')
.addFields(
{name: 'Master Sword', value: 'about tree fiddy'},
{name: '\u200B', value: '\u200B'},
{name: 'Wooden Sword', value: 'also about tree fiddy'},
{name: 'Breastplate', value: 'an even tree fiddy'},
)
.setTimestamp();
.setFooter('Come back soon suga');
channel.send(exampleEmbed);
}
const battle = function(){
return ranNum(21);
}
client.login(token)