135
rated 0 times
[
142]
[
7]
/ answers: 1 / hits: 20391
/ 6 Years ago, wed, july 25, 2018, 12:00:00
var Discord = require('discord.io');
var logger = require('winston');
var auth = require('./auth.json');
var rolledNumber = 0;
var norb = 'norb';
var thisPlace = 'this place';
// Configure logger settings
logger.remove(logger.transports.Console);
logger.add(new logger.transports.Console, {
colorize: true
});
logger.level = 'debug';
// Initialize Discord Bot
var bot = new Discord.Client({
token: auth.token,
autorun: true
});
bot.on('ready', function (evt) {
logger.info('Connected');
logger.info('Logged in as: ');
logger.info(bot.username + ' - (' + bot.id + ')');
});
bot.on('message', function (user, userID, channelID, message, evt) {
// Our bot needs to know if it will execute a command
// It will listen for messages that will start with `!`
if (message.substring(0, 1) == '!') {
var args = message.substring(1).split(' ');
var cmd = args[0];
args = args.splice(1);
switch(cmd) {
// !ping
case 'ping':
bot.sendMessage({
to: channelID,
message: 'Pong!'
});
break;
case 'commands':
bot.sendMessage({
to: channelID,
message: 'nope!'
});
break;
case 'sleepydave':
bot.sendMessage({
to: channelID,
message: 'this is dave'
});
break;
case 'roll':
rolledNumber = Math.floor(Math.random() * 12) + 1;
bot.sendMessage({
to: channelID,
message: 'You rolled two dice and get: ' + rolledNumber
});
break;
}
}
if (message.content[0,2000] == norb) {
bot.sendMessage({
to: channelID,
message: 'Praise be to the Overlord'
});
}
if (message.substring(0,2000) == thisPlace) {
bot.sendMessage({
to: channelID,
message: 'stop talking about here'
});
}
});
This is my code
When norb is said as the only word, or this place is said, it'll work. But if it's between words like hello norb hello it won't work. Everything else is working fine for now.
I'd like it to look for norb and say praise be to the overlord when it's said. Rather than just when it's the first word. I'm not really sure how to do that.
Thanks!
More From » discord