Files
xiao/commands/textedit/binary.js
T
2017-04-20 13:48:12 +00:00

44 lines
1.4 KiB
JavaScript

const { Command } = require('discord.js-commando');
const stringToBinary = (str) => {
const pad = '00000000';
return unescape(encodeURIComponent(str))
.split('').map(str => {
const binary = str.charCodeAt(0).toString(2);
return `${pad.slice(binary.length)}${binary}`;
}).join('');
};
module.exports = class BinaryCommand extends Command {
constructor(client) {
super(client, {
name: 'binary',
group: 'textedit',
memberName: 'binary',
description: 'Converts text to binary. (x;binary This text)',
examples: ['x;binary This text'],
args: [{
key: 'text',
prompt: 'What text would you like to convert to binary?',
type: 'string',
validate: content => {
if (stringToBinary(content).length < 2000) {
return true;
}
return 'Your message content is too long.';
},
parse: text => {
return stringToBinary(text);
}
}]
});
}
run(message, args) {
if (message.channel.type !== 'dm') {
if (!message.channel.permissionsFor(this.client.user).hasPermission(['SEND_MESSAGES', 'READ_MESSAGES'])) return;
}
const { text } = args;
return message.say(text);
}
};