import { Message } from 'eris'; import axios from 'axios'; import { Client, Command, RichEmbed } from '../class'; export default class DJS extends Command { constructor(client: Client) { super(client); this.name = 'djs'; this.description = 'Get information about Discord.js.'; this.usage = 'djs '; this.permissions = 0; this.guildOnly = false; this.enabled = true; } public async run(message: Message, args: string[]) { try { if (!args[0]) return this.client.commands.get('help').run(message, [this.name]); let res; try { res = await axios.get(`https://djsdocs.sorta.moe/v2/embed?src=master&q=${args[0]}`); } catch (err) { this.error(message.channel, 'Please try again later, something unexpected happened.'); return this.client.util.handleError(err, message, this); } const { data } = res; if (!data) return this.error(message.channel, 'Could not find information. Try something else.'); const name: string = data.author?.name || ''; const icon_url: string = data.author?.icon_url || ''; const author_url: string = data.author?.url || ''; const description: string = data.description || 'None'; const title: string = data.title || ''; const embed = new RichEmbed(); embed.setAuthor(name, icon_url, author_url); embed.setColor(0x2296f3); embed.setTitle(title); embed.setDescription(description); if (data.fields !== undefined && data.fields.length > 0) { data.fields.forEach((field) => { embed.addField(field.name, field.value); }); } embed.setFooter(this.client.user.username, this.client.user.avatarURL); embed.setTimestamp(); return message.channel.createMessage({ embed }); } catch (err) { return this.client.util.handleError(err, message, this); } } }