Skip to content
This repository was archived by the owner on Mar 26, 2022. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/node_modules
/.idea
91 changes: 91 additions & 0 deletions bot.js
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,57 @@ controller.hears(['what is my name','who am i'],'direct_message,direct_mention,m
});
});

controller.hears(['Who made you','who is your daddy'],'direct_message,direct_mention,mention',function(bot, message) {
bot.reply(message, 'Robert made me.');
});

controller.hears(['prime'],'direct_message,direct_mention,mention',function(bot, message) {
bot.reply(message, 'First ten prime numbers are: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29');
});

controller.hears(['prime (.*)'],'direct_message,direct_mention,mention',function(bot, message) {

var input = message.match[1];
var x = parseInt(input);
console.log("X is"+x);

function isPrime(x) {
var d = x-1;
while(d>1) {
console.log("X is"+x+" D is"+d);
if((x%d)==0) {
return false;
}
d--;
}
return true;
}

if(x>1 && x%1!=0 && x!=null) {
if(isPrime(x)) {
bot.reply(message, 'The number you gave is prime!');
bot.reply(message, 'Next ten prime numberare: ');
var count = 0;
while(count <10){
x++;
if(isPrime(x)) {
bot.reply(message, x+', ');
count++;
}
}
}

else{

bot.reply(message, 'The number you gave is not prime!');
}
}
else {
bot.reply(message, 'Input a proper number, damn it!');
}
});



controller.hears(['shutdown'],'direct_message,direct_mention,mention',function(bot, message) {

Expand Down Expand Up @@ -169,6 +220,46 @@ controller.hears(['uptime','identify yourself','who are you','what is your name'

});

controller.hears(['fibonacci(.*)'],'direct_message,direct_mention,mention',function(bot, message) {
var param = message.match[1].trim();
if(param.length==0){
var a = 0, b = 1;
var fibos = [];
for (var i = 1; i <= 10; i++) {
a = a + b;
b = a - b;
fibos.push(a);
}
bot.reply(message, fibos.toString());
}else if(!isNaN(param) && Number(param) % 1 === 0) {
var couldBeFibo = true;
var isSurelyFibo = false;
var a = 0, b = 1;
var fibos = [];
var i = 1;
for (; couldBeFibo && !isSurelyFibo; i++) {
a = a + b;
b = a - b;
if (a === Number(param)) {
isSurelyFibo = true;
} else if (a > param) {
couldBeFibo = false;
} else {
fibos.push(a);
}
}
if (isSurelyFibo) {
start = i <= 10 ? 0 : fibos.length - 10;
var tenLastFibos = fibos.slice(start, fibos.length);
bot.reply(message, tenLastFibos.toString());
}else{
bot.reply(message, "not fibonacci number");
}
}else{
bot.reply(message, "Give me a number parameter");
}
});

function formatUptime(uptime) {
var unit = 'second';
if (uptime > 60) {
Expand Down