show guild avatars

This commit is contained in:
derpystuff 2023-01-13 16:12:19 +01:00
parent c3e8edcd37
commit 028999eef1
2 changed files with 46 additions and 10 deletions

View file

@ -1,6 +1,8 @@
const { createEmbed } = require("../../../labscore/utils/embed");
const { createEmbed, page } = require("../../../labscore/utils/embed");
const { editOrReply } = require("../../../labscore/utils/message");
const { getUser } = require("../../../labscore/utils/users");
const { getMember } = require("../../../labscore/utils/users");
const { paginator } = require('../../../labscore/client');
module.exports = {
name: 'avatar',
@ -15,13 +17,40 @@ module.exports = {
},
run: async (context, args) => {
context.triggerTyping();
let u = {};
if(!args.user) { u.user = context.user } else { u = await getUser(context, args.user) }
if(!u.user) return editOrReply(context, { embeds: [createEmbed("warning", context, "No users found.")] })
return editOrReply(context, { embeds: [createEmbed("default", context, {
image: {
url: u.user.avatarUrl + '?size=4096'
}
})] })
if(!args.user) args.user = context.userId;
let u = await getMember(context, args.user)
if(!u) return editOrReply(context, { embeds: [createEmbed("warning", context, "No users found.")] })
if(u.avatar !== null) {
let pages = []
pages.push(page(createEmbed("default", context, {
image: {
url: u.avatarUrl + '?size=4096'
}
})))
pages.push(page(createEmbed("default", context, {
image: {
url: u.user.avatarUrl + '?size=4096'
}
})))
const paging = await paginator.createPaginator({
context,
pages,
buttons: [{
customId: "next",
emoji: "🖼️",
label: "Switch Avatar",
style: 1
}]
});
} else {
return editOrReply(context, createEmbed("default", context, {
image: {
url: u.user.avatarUrl + '?size=4096'
}
}))
}
},
};

View file

@ -130,3 +130,10 @@ module.exports.formatPaginationEmbeds = function(embeds){
}
return formatted;
}
// Creates a page for our paginator. simple helper so we dont have to do {embeds:[]} every time
module.exports.page = function(embed){
return {
embeds: [embed]
}
}