-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbot.js
34 lines (34 loc) · 942 Bytes
/
bot.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
const bot = require('bot-commander');
// only listen to messages starting with given prefix
bot.prefix('!c');
bot.action( meta => {
meta.msg.reply('Invalid command.\n' + bot.help());
});
bot
.command('list')
.alias('courselist')
.description('Returns list of all courses in Classroom.')
.action((meta) => {
meta.classroom.courses.list({ pageSize: 10 }, (err, res) => {
let replyMessage = '';
if (err) replyMessage = 'The API returned an error. ' + err;
else {
const courses = res.data.courses;
if (courses && courses.length) {
replyMessage += 'Courses:\n';
courses.forEach((course) => {
replyMessage += course.name + '\n';
});
} else {
replyMessage = 'No courses found.';
}
}
meta.msg.reply(replyMessage + '—🤖 classroom bot');
});
});
bot.command('help').action((meta) => {
meta.msg.reply(bot.help());
});
module.exports = {
bot,
};