gaber-elsayed

temperature

Feb 8th, 2021
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.67 KB | None | 0 0
  1. exports.description = 'Converts Celcius to Farenheit and vice-versa.\nSupported temperatures: C, F';
  2. exports.usage = `[amount of degrees] <C | F>\n56 F\n20 C`;
  3. exports.level = 0;
  4. exports.perms = [];
  5. exports.cooldown = 3000;
  6. exports.dmable = true;
  7.  
  8. exports.run = async message => {
  9. if (!message.args.length) throw ['args', 1];
  10. let objcodes = {
  11. "c": "Celsius",
  12. "f": "Fahrenheit"
  13. }
  14. let codes = Object.keys(objcodes);
  15. let {round} = require('../src/utils/formatter');
  16. let num = 1;
  17. message.args[0] = message.args[0].replace(/,/g, '.');
  18. if (!isNaN(message.args[0])){
  19. num = message.args.shift();
  20. //checking if there are any other arguments remaining, if not - return an error
  21. if (!message.args.length) throw ['normal', 'Temperature must be either C or F'];
  22. }
  23. function wanted(){
  24. if (codes.some(x => x == message.args[0].toLowerCase())) return message.args[0].toLowerCase();
  25. return false;
  26. }
  27. if (!wanted()) throw ['normal', 'Temperature must be either C or F'];
  28. let base = message.args[0].toLowerCase() == 'c' ? 'f' : 'c';
  29. message.channel.send({embed:{
  30. color: message.member ? message.member.displayColor : 0x23c482,
  31. timestamp: message.createdAt,
  32. footer: {
  33. text: message.author.tag,
  34. icon_url: message.author.avatarURL({format: 'png', dynamic: true, size: 4096})
  35. },
  36. description: `**${num} ${wanted().toUpperCase()}** = **${round((base == 'c' ? FtoC(num) : CtoF(num)), 2)} ${base.toUpperCase()}**`
  37. }});
  38. }
  39. function FtoC(num){ return ((num - 32) * 5) / 9; }
  40. function CtoF(num){ return (num * 1.8) + 32; }
Advertisement
Add Comment
Please, Sign In to add comment