index.js
2.37 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
const SlackBot = require('slackbots');
const axios = require('axios');
const bot = new SlackBot({
token : "xoxb-582582124755-587875604934-rRhFVlXlB0StEMnlrmsQlcac",
name : "Joker"
});
// Start Handler
bot.on('start', () =>{
const face = {
icon_emoji: ':laughing:'
};
bot.postMessageToChannel('everyone', 'Feeling tired??? Have some fun with @Joker!'
, face);
});
// Error Handler
bot.on('error', (err) => console.log(err));
//Message Handler
bot.on('message', (data) => {
if(data.type !== 'message'){
return;
}
console.log(data);
handleMessage(data.text);
});
// Responding to Data
function handleMessage(message){
if(message.includes('chucknorris')){
chuckJoke();
}
else if(message.includes(' yomama')){
yoMamaJoke();
}
else if(message.includes(' random')){
randomJoke();
}
else if(message.includes(' help')){
runHelp();
}
}
// Tell a Chuck Norris Joke
function chuckJoke(){
axios.get('http://api.icndb.com/jokes/random/')
.then(res =>{
const joke = res.data.value.joke;
const face = {
icon_emoji: ':laughing:'
};
bot.postMessageToChannel('everyone', `Chuck Norris: ${joke}`,face);
bot.postMessageToChannel('full-stack-web', `Yo mama: ${joke}`,face);
bot.postMessageToChannel('bot_test', `Yo mama: ${joke}`,face);
});
}
// Tell a yomama Joke
function yoMamaJoke(){
axios.get('http://api.yomomma.info/')
.then(res =>{
const joke = res.data.joke;
const face = {
icon_emoji: ':laughing:'
};
bot.postMessageToChannel('everyone', `Yo mama: ${joke}`,face);
bot.postMessageToChannel('full-stack-web', `Yo mama: ${joke}`,face);
bot.postMessageToChannel('bot_test', `Yo mama: ${joke}`,face);
});
}
//Tell random joke
function randomJoke(){
const rand = Math.floor(Math.random() * 2) +1;
if(rand ===1){
chuckJoke();
}
else if(rand === 2){
yoMamaJoke();
}
}
function runHelp(){
const face = {
icon_emoji: ':question:'
};
bot.postMessageToChannel('everyone', "Type @joker and write a joke that you would like\n ex- @joker random",face);
bot.postMessageToChannel('full-stack-web', "Type @joker and write a joke that you would like\n ex- @joker random",face);
}