From 0536ce1efaa1703148667f57e459f8391337c515 Mon Sep 17 00:00:00 2001 From: reality Date: Thu, 2 Apr 2015 18:35:40 +0000 Subject: [PATCH] tz --- modules/profile/commands.js | 35 ++++++++++++++++++++++++++++++++--- modules/profile/config.json | 1 + 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/modules/profile/commands.js b/modules/profile/commands.js index 4abd685..3ac20a1 100644 --- a/modules/profile/commands.js +++ b/modules/profile/commands.js @@ -17,9 +17,19 @@ var commands = function(dbot){ '~set': function(event){ if(event.input[1] && event.input[2]){ if(_.has(this.config.schema.profile, event.input[1])){ - this.api.setProperty(event.server, event.user, event.input[1], event.input[2], function(reply){ - event.reply(reply); - }); + if(event.input[1] === 'timezone') { // eugh + if(moment.tz.zone(event.input[2]) !== null) { + this.api.setProperty(event.server, event.user, event.input[1], event.input[2], function(reply){ + event.reply(reply); + }); + } else { + event.reply('Invalid timezone! See the pretty graph here: http://momentjs.com/timezone/'); + } + } else { + this.api.setProperty(event.server, event.user, event.input[1], event.input[2], function(reply){ + event.reply(reply); + }); + } } else { event.reply('Invalid property. Go home.'); } @@ -29,6 +39,25 @@ var commands = function(dbot){ '~profile': function(event) { var user = event.params[1] || event.user; event.reply(dbot.api.web.getUrl('profile/' + event.server + '/' + user)); + }, + + '~time': function(event) { + dbot.api.users.getProfile(event.server, event.params[1], function(err, user, profile) { + if(!err) { + var tz = profile.profile.timezome; + if(tz) { + event.reply('The time for ' + event.params[1] + ' is ' + moment().tz(tz).format('HH:mm:ss on DD/MM/YYYY')); + } else { + event.reply(user.currentNick + ' needs to set a timezone with ~timezone'); + } + } else { + if(!user) { + event.reply('No idea who that is mate'); + } else { + event.reply(user.currentNick + ' needs to set a timezone with ~timezone'); + } + } + }); } }; commands['~set'].regex = [/set ([^ ]+) (.+)/, 3]; diff --git a/modules/profile/config.json b/modules/profile/config.json index 761527b..0e8c498 100644 --- a/modules/profile/config.json +++ b/modules/profile/config.json @@ -7,6 +7,7 @@ "name": null, "tagline": null, "avatar": null, + "timezone": null, "bio": null, "lastfm": null, "steam": null,