From 51260ed1b12ce208c95a7c0fc738d8ee02242ed3 Mon Sep 17 00:00:00 2001 From: michaesw Date: Mon, 22 Feb 2016 12:32:31 +0200 Subject: [PATCH 1/5] Create .gitignore Task 2 ignore node modules --- .gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..07e6e472c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/node_modules From c05c964b1321b123f88e838d5d58753d7e5443d3 Mon Sep 17 00:00:00 2001 From: Oleg Batalin Date: Mon, 22 Feb 2016 15:10:55 +0300 Subject: [PATCH 2/5] who made you controller has been added --- bot.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/bot.js b/bot.js index 227944a9f..f55b3fff1 100755 --- a/bot.js +++ b/bot.js @@ -132,6 +132,16 @@ controller.hears(['what is my name','who am i'],'direct_message,direct_mention,m }); }); +controller.hears(['who made you'], 'direct_message,direct_mention,mention', function(bot, message) { + controller.storage.users.get(message.user,function(err, user) { + if (user && user.name) { + bot.reply(message,'You made me - master ' + user.name + '!!'); + } else { + bot.reply(message,'I don\'t know yet!.'); + } + }); +}); + controller.hears(['shutdown'],'direct_message,direct_mention,mention',function(bot, message) { From 77810d3fe283ca12b62d54f2a31a4a6d5b8f1821 Mon Sep 17 00:00:00 2001 From: Oleg Batalin Date: Mon, 22 Feb 2016 17:00:13 +0300 Subject: [PATCH 3/5] prime number works --- bot.js | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/bot.js b/bot.js index f55b3fff1..882c746a6 100755 --- a/bot.js +++ b/bot.js @@ -121,6 +121,34 @@ controller.hears(['call me (.*)'],'direct_message,direct_mention,mention',functi }); }); +controller.hears(['prime (.*)'], 'direct_message,direct_mention,mention', function(bot, message) { + var matches = message.text.match(/prime (.*)/i); + var number = parseInt(matches[1]); + + if (number >=0){ + if(isPrime(number)) { + bot.reply(message, 'number is a prime'); + } else { + + bot.reply(message, 'number is not a prime'); + } + } + + + +}); + +controller.hears(['prime.'], 'direct_message,direct_mention,mention', function(bot, message) { + + var i = message.text.lastIndexOf('.'); + if (i != -1) { + bot.reply(message, '2, 3, 5, 7, 11, 13, 17, 19, 23, 29'); + + } +}); + + + controller.hears(['what is my name','who am i'],'direct_message,direct_mention,mention',function(bot, message) { controller.storage.users.get(message.user,function(err, user) { @@ -196,3 +224,14 @@ function formatUptime(uptime) { uptime = uptime + ' ' + unit; return uptime; } + + +function isPrime(n) { + if (isNaN(n) || !isFinite(n) || n%1 || n<2) return false; + if (n%2==0) return (n==2); + var m=Math.sqrt(n); + for (var i=3;i<=m;i+=2) { + if (n%i==0) return false; + } + return true; +} From f4bdf24b2fedcd5b8d3c4750a387969609dd6215 Mon Sep 17 00:00:00 2001 From: Oleg Batalin Date: Tue, 23 Feb 2016 11:57:11 +0300 Subject: [PATCH 4/5] merge prime branch --- bot.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bot.js b/bot.js index 227944a9f..e87429d0b 100755 --- a/bot.js +++ b/bot.js @@ -88,7 +88,7 @@ controller.hears(['hello','hi'],'direct_message,direct_mention,mention',function bot.api.reactions.add({ timestamp: message.ts, channel: message.channel, - name: 'robot_face', + name: 'robot_face' },function(err, res) { if (err) { bot.botkit.log('Failed to add emoji reaction :(',err); From cd61b9f3a35d09831f476b9f38ee89d85e9f6c77 Mon Sep 17 00:00:00 2001 From: Oleg Batalin Date: Tue, 23 Feb 2016 12:48:46 +0300 Subject: [PATCH 5/5] bot prints last 10 primes numbers --- bot.js | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/bot.js b/bot.js index f1fa3b456..c85848137 100755 --- a/bot.js +++ b/bot.js @@ -124,13 +124,16 @@ controller.hears(['call me (.*)'],'direct_message,direct_mention,mention',functi controller.hears(['prime (.*)'], 'direct_message,direct_mention,mention', function(bot, message) { var matches = message.text.match(/prime (.*)/i); var number = parseInt(matches[1]); - + var primes = nextTenPrimes(number); + var primes = lastTenPrimes(number); if (number >=0){ if(isPrime(number)) { bot.reply(message, 'number is a prime'); } else { - bot.reply(message, 'number is not a prime'); + //bot.reply(message, 'number is not a prime, next 10 primes are ' + primes.toString()); + + bot.reply(message, 'number is not a prime, last 10 primes are ' + primes.toString()); } } @@ -235,3 +238,28 @@ function isPrime(n) { } return true; } + +function nextTenPrimes(n) { + var primes = []; + + do{ + if(isPrime(n)){ + primes.push(n); + } + n++; + }while(primes.length <10) + return primes; +} + +function lastTenPrimes(n) { + var primes = []; + + do{ + if(isPrime(n)){ + primes.push(n); + } + n--; + if(n < 1) break; + }while(primes.length <10) + return primes; +}