added avatar command

This commit is contained in:
roflmaoqwerty 2020-01-15 00:41:20 +11:00
parent c4d6556fe4
commit a088476f96

View file

@ -84,6 +84,7 @@ const ConfigSchema = t.type({
can_context: t.boolean,
can_jumbo: t.boolean,
jumbo_size: t.Integer,
can_avatar: t.boolean,
});
type TConfigSchema = t.TypeOf<typeof ConfigSchema>;
@ -149,6 +150,7 @@ export class UtilityPlugin extends ZeppelinPlugin<TConfigSchema> {
can_context: false,
can_jumbo: false,
jumbo_size: 128,
can_avatar: false,
},
overrides: [
{
@ -165,6 +167,7 @@ export class UtilityPlugin extends ZeppelinPlugin<TConfigSchema> {
can_help: true,
can_context: true,
can_jumbo: true,
can_avatar: true,
},
},
{
@ -1528,6 +1531,28 @@ export class UtilityPlugin extends ZeppelinPlugin<TConfigSchema> {
return;
}
@d.command("avatar", "[user:resolvedUserLoose]", {
extra: {
info: <CommandInfo>{
description: "Retrieves a users profile picture",
},
},
})
@d.permission("can_avatar")
async avatarCmd(msg: Message, args: { user?: User | UnknownUser }) {
const user = args.user || msg.author;
if (!(user instanceof UnknownUser)) {
const avatarUrl = user.avatarURL.slice(0, user.avatarURL.lastIndexOf("."));
const embed: EmbedOptions = {
image: { url: avatarUrl + ".png?size=2048" },
};
embed.title = `Avatar of ${user.username}#${user.discriminator}:`;
msg.channel.createMessage({ embed });
} else {
this.sendErrorMessage(msg.channel, "Invalid user ID");
}
}
async resizeBuffer(input: Buffer, width: number, height: number): Promise<Buffer> {
return sharp(input, { density: 800 })
.resize(width, height, {