({ claimedBy = null } = {})
| 20 | const TICKET_DELETE_DELAY_SECONDS = Math.floor(TICKET_DELETE_DELAY_MS / 1000); |
| 21 | |
| 22 | function buildTicketControlRow({ claimedBy = null } = {}) { |
| 23 | return new ActionRowBuilder().addComponents( |
| 24 | new ButtonBuilder() |
| 25 | .setCustomId('ticket_claim') |
| 26 | .setLabel(claimedBy ? 'Claimed' : 'Claim') |
| 27 | .setStyle(claimedBy ? ButtonStyle.Secondary : ButtonStyle.Primary) |
| 28 | .setEmoji('🙋') |
| 29 | .setDisabled(!!claimedBy), |
| 30 | new ButtonBuilder() |
| 31 | .setCustomId('ticket_pin') |
| 32 | .setLabel('Pin') |
| 33 | .setStyle(ButtonStyle.Secondary) |
| 34 | .setEmoji('📌'), |
| 35 | new ButtonBuilder() |
| 36 | .setCustomId('ticket_close') |
| 37 | .setLabel('Close') |
| 38 | .setStyle(ButtonStyle.Danger) |
| 39 | .setEmoji('🔒'), |
| 40 | ); |
| 41 | } |
| 42 | |
| 43 | export async function getUserTicketCount(guildId, userId) { |
| 44 | try { |
no outgoing calls
no test coverage detected