Skip to content
Merged
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
NodeJS Implementation
Made executable

NodeJS Implementation of fucking_coffee
  • Loading branch information
Akshay Kashyap committed Dec 2, 2015
commit 3ba12066fd315262159dc1375cba6022c96d7370
41 changes: 41 additions & 0 deletions nodejs/fucking_coffee.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#!/usr/bin/env node

/* Before running:
npm install telnet-client
*/

var exec = require('child_process').exec;
var telnet = require('telnet-client');

var me = 'my_username';

exec("who", function(error, stdout, stderr) {

// Exit if no sessions with my username are found
if(stdout.indexOf(me) == -1)
process.exit(/*1*/);

var coffee_machine_ip = 'xxx.xxx.xxx.xxx';
var password = 'xxxx';
var con = new telnet();

con.on('ready', function(prompt) {
con.exec('Password: ' + password, function(error, res) {

// Brew Coffee!
con.exec('sys brew', function(error, res) {

// Wait for 24s
setTimeout(function() {

// Pour Coffee!
con.exec('sys pour', function(error, res) {
con.end();
});
}, 24000);
});
});
});

con.connect({host: coffee_machine_ip});
});