Sync broccolini-bot: rename from zammad, docs in docs/, security gitignore, remove zammad deps

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
samkintop
2026-02-12 02:56:00 -06:00
parent 08a16b4a75
commit 29a13768f7
37 changed files with 1093 additions and 3229 deletions

View File

@@ -22,13 +22,6 @@ async function getNextTicketNumber(senderEmail) {
return { local: senderLocal, number: counter.counter };
}
async function saveZammadId(gmailThreadId, zammadId) {
await Ticket.updateOne(
{ gmailThreadId },
{ $set: { zammadTicketId: zammadId } }
);
}
// --- RENAME + NAMING ---
// Discord rate limit: 2 channel renames per 10 minutes per channel (see https://discord.com/developers/docs/topics/rate-limits).
// When limit is reached we skip the rename and post: "Channel renamed too quickly. Try again <t:unlock:R>."
@@ -322,7 +315,7 @@ async function checkAutoClose(client, sendTicketClosedEmail) {
const channel = await guild.channels.fetch(ticket.discordThreadId).catch(() => null);
if (channel) {
await channel.send(CONFIG.AUTO_CLOSE_MESSAGE);
await channel.send(CONFIG.DISCORD_AUTO_CLOSE_MESSAGE);
await Ticket.updateOne(
{ gmailThreadId: ticket.gmailThreadId },
@@ -356,7 +349,12 @@ async function checkReminders(client) {
const channel = await guild.channels.fetch(ticket.discordThreadId).catch(() => null);
if (channel) {
const message = CONFIG.REMINDER_MESSAGE.replace('{hours}', CONFIG.REMINDER_AFTER_HOURS);
const ping = ticket.claimedBy
? `<@${ticket.claimedBy}>`
: (CONFIG.ROLE_ID_TO_PING ? `<@&${CONFIG.ROLE_ID_TO_PING}>` : 'everyone');
const message = CONFIG.REMINDER_MESSAGE
.replace(/\{hours\}/g, String(CONFIG.REMINDER_AFTER_HOURS))
.replace(/\{ping\}/g, ping);
await channel.send(message);
await Ticket.updateOne(
@@ -406,7 +404,6 @@ async function checkAutoUnclaim(client) {
module.exports = {
getNextTicketNumber,
saveZammadId,
pickTicketCategoryId,
createDiscordTicketAsThread,
createEmailTicketAsThread,