Adding a unit converter

Due to issue #596 I coded a basic unit converter to convert time,
distance, mass, volume and digital values. It depends on node-units.

Also, fixed a typo.
This commit is contained in:
thoso 2014-02-19 22:19:36 +01:00
parent 7537d85084
commit b43be1f900
5 changed files with 69 additions and 2 deletions

View File

@ -4,8 +4,7 @@
},
"now_playing": {
"en": "Now Playing: {name} - {song} - {url}"
}
},
"request":{
"en":"{dj}: User {user} requests '{song}' to be played on tripradio."
}

24
modules/units/README.md Normal file
View File

@ -0,0 +1,24 @@
## Unit conversion
Converts units into other units.
### Description
This module provides a command which allows users to convert units into another
unit given the international character of networks. Converts time, distance,
mass, volume and digital values.
It has following dependencies:
node-units : https://github.com/brettlangdon/node-units
### Commands
#### ~convert [input value] [input unit] to [output unit]
Example:
~convert 5 minutes to s
~convert 20 quarts to gallons
### TODO
Currency Conversion

View File

@ -0,0 +1,8 @@
{
"result": {
"en": "{input}: {output}"
},
"error": {
"en": "Something went wrong :( Example:'~convert 5 minutes to s'"
}
}

33
modules/units/units.js Normal file
View File

@ -0,0 +1,33 @@
/**
* Module Name: Unit Conversion
* Description: Converts units.
* Requires: node-units [https://github.com/brettlangdon/node-units]
* TODO: currency converting
*/
var _ = require('underscore')._,
unit = require('node-units');
var units = function(dbot) {
this.commands = {
'~convert': function(event) {
var query = event.input[1];
try {
event.reply(dbot.t('result', {
'input': query,
'output': result
}));
var result = unit.convert(query);
}
} catch (e) {
event.reply(dbot.t('error'));
}
}
};
};
exports.fetch = function(dbot) {
return new units(dbot);
};

3
modules/units/usage.json Normal file
View File

@ -0,0 +1,3 @@
{
"~convert": "~convert [input value] [input unit] to [output unit]"
}