woomy/src/commands/colour.js

57 lines
1.3 KiB
JavaScript
Raw Normal View History

2020-01-25 10:02:43 +00:00
const randomColour = require("randomcolor");
exports.run = async (client, message, args, level) => {
2020-03-09 01:11:33 +00:00
var colour;
2020-01-25 10:02:43 +00:00
if(!args[0]) {
2020-03-09 01:11:33 +00:00
colour = randomColour();
} else if(isHex(args.join(" ")) != true) {
colour = stringToHex(args.join(" "));
} else {
colour = args[0]
}
2020-01-25 10:02:43 +00:00
2020-03-09 01:11:33 +00:00
embed = new Discord.MessageEmbed();
embed.setTitle(colour)
2020-01-25 10:02:43 +00:00
embed.setColor(colour);
2020-10-27 04:06:27 +00:00
embed.setImage(`https://fakeimg.pl/256x256/${colour.replace("#", "")}/?text=%20`);
2020-01-25 10:02:43 +00:00
message.channel.send(embed)
};
2020-03-09 01:11:33 +00:00
function isHex(string) {
var str = string;
if(str.charAt(0) == "#") {
str = str.slice(1)
};
return typeof str === 'string'
&& str.length === 6
&& !isNaN(Number('0x' + str))
}
function stringToHex(string) {
var hash = 0;
for (var i = 0; i < string.length; i++) {
hash = string.charCodeAt(i) + ((hash << 5) - hash);
}
var colour = '#';
for (var i = 0; i < 3; i++) {
var value = (hash >> (i * 8)) & 0xFF;
colour += ('00' + value.toString(16)).substr(-2);
}
return colour;
};
2020-01-25 10:02:43 +00:00
exports.conf = {
enabled: true,
guildOnly: false,
aliases: ["color"],
permLevel: "User",
requiredPerms: []
};
exports.help = {
name: "colour",
category: "Utility",
description: "Gives you a random colour",
2020-03-09 01:11:33 +00:00
usage: "colour <hex> **OR** colour <text>"
2020-01-25 10:02:43 +00:00
};