UNPKG

testhjgrkesl

Version:

Un package comune che probabilmente è inutile e non servirà a nessuno.

200 lines (150 loc) 6.79 kB
const Canvas = require("canvas") const Discord = require("discord.js") const { Client, Intents } = require('discord.js'); const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES] }); const { MessageActionRow, MessageButton } = require('discord.js'); const ms = require("ms") async function italy(message) { const avatar1 = await Canvas.loadImage(message.mentions.users.first() ? message.mentions.users.first().displayAvatarURL({format: 'png', size: 256}) :message.author.displayAvatarURL({format: 'png', size: 256})) const canvas = Canvas.createCanvas(500, 400) const ctx = canvas.getContext("2d") const bg = await Canvas.loadImage("https://media.discordapp.net/attachments/856944359655473164/874300817560178748/E6Czv38XIAs5cWR.png") ctx.drawImage(bg, 0, 0, canvas.width, canvas.height) ctx.drawImage(avatar1, 140, 50, 80, 100); const attachment = new Discord.MessageAttachment(canvas.toBuffer(), "chiellini.png") message.channel.send(attachment) } async function invitesCount(message) { let user; if (message.mentions.users.first()) { user = message.mentions.users.first(); } else { user = message.author; } message.guild.fetchInvites().then(invites => { let personalInvites = invites.filter( i => i.inviter.id === user.id ); let inviteCount = personalInvites.reduce((p, v) => v.uses + p, 0); const embed = new Discord.MessageEmbed() .setDescription(`${user.tag} ha \`${inviteCount}\` inviti`) message.channel.send(embed) }) } async function bannerCHIUSOTEST(message){ const fetch = require('node-fetch') const args = message.content.trim().split(/ +/); const user = message.mentions.users.first() || message.author let id = user.id let response = fetch(`https://discord.com/api/v8/users/${id}`, { method: 'GET', headers: { "Authorization": `Bot ${process.env.TOKEN}` } }) let receive = '' let banner = 'https://media.discordapp.net/attachments/867894750714658856/874783630797455390/20210811_003739.jpg' response.then(a => { if (a.status !== 404) { a.json().then(data => { receive = data['banner'] if (receive !== null) { let response2 = fetch(`https://cdn.discordapp.com/banners/${id}/${receive}.gif`, { method: 'GET', headers: { Authorization: `Bot ${process.env.TOKEN}` } }) let statut = '' response2.then(b => { statut = b.status banner = `https://cdn.discordapp.com/banners/${id}/${receive}.gif?size=1024` if (statut === 415) { banner = `https://cdn.discordapp.com/banners/${id}/${receive}.png?size=1024` } }) } }) } }) setTimeout(() => { let embed = new Discord.MessageEmbed() .setImage(banner) message.channel.send(embed) }, 1000) } async function ticket(client, channel, option={title, description, color, buttonName}){ const row = new MessageActionRow() .addComponents( new MessageButton() .setCustomId('ticket_aperto') .setLabel(option.buttonName ||'📩 Apri Ticket') .setStyle('PRIMARY')); let embed = new Discord.MessageEmbed() .setTitle(option.title || "Ticket Support") .setDescription(option.description || "Per avere il supporto di uno staff clicca il bottone qui sotto.") .setColor(option.color) await channel.send({embeds: [embed], components: [row]}) } async function ticketInteraction(interaction, option={ openTitle, openDesc, openCategory, roleView, closeTitle, closeDesc, closeButton, closeTime}){ if(interaction.isButton()) { if(interaction.customId === "ticket_aperto"){ interaction.deferUpdate(); let ticketgiaaperto = interaction.guild.channels.cache.find(canale => canale.name === `ticket-${interaction.user.username}`.toLowerCase()) if(ticketgiaaperto){ } else if(!ticketgiaaperto){ interaction.guild.channels.create(`ticket-${interaction.user.username}`, { type: "text", parent: option.openCategory || null, permissionOverwrites: [ { id: interaction.message.guild.roles.everyone, deny: ['VIEW_CHANNEL', 'SEND_MESSAGES'] }, { id: interaction.user.id, allow: ['VIEW_CHANNEL', 'SEND_MESSAGES'] }, { id: option.roleView || interaction.user.id, allow: ['VIEW_CHANNEL', 'SEND_MESSAGES'] } ], }).then(canale => { canale.setTopic(`Creato da ${interaction.user.tag} (${interaction.user.id})`) let rowch = new MessageActionRow() .addComponents( new MessageButton() .setCustomId("ticket_close") .setStyle("DANGER") .setEmoji("859110774492627004") .setLabel(option.closeButton ||"Chiudi Ticket") ) const embedcreated = new Discord.MessageEmbed() .setColor(option.openColor) .setAuthor(interaction.user.tag, interaction.user.displayAvatarURL()) .setTitle(option.openTitle ||"Ticket Support") .setDescription(option.openDesc ||`Grazie per aver creato un ticket. Aspetta che uno staff claimi il ticket. `) .setThumbnail(interaction.user.displayAvatarURL()) .setTimestamp() canale.send({ content: `${interaction.user},`, embeds: [embedcreated], components: [rowch] }) }) } } else if(interaction.customId === "ticket_close"){ interaction.deferUpdate() const closed = new Discord.MessageEmbed() .setAuthor(interaction.user.tag, interaction.user.displayAvatarURL()) .setColor("#ec3737") .setTitle(option.closeTitle || "Chiusura Ticket") .setDescription(option.closeDesc || "Il ticket verrà eliminato tra \`10s\`.") .setThumbnail(interaction.user.displayAvatarURL()) .setTimestamp() interaction.message.edit({ embeds: [closed], components: [] }) setTimeout(() => { interaction.message.guild.channels.cache.get(interaction.message.channel.id).delete() }, ms(`${option.closeTime}`) || ms("10s")) } } } module.exports = { italy, bannerCHIUSOTEST, ticket, ticketInteraction, invitesCount }