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

@@ -1,18 +1,16 @@
/**
* Discord messageCreate handler forwards staff replies to Gmail and Zammad.
* Discord messageCreate handler forwards staff replies to Gmail.
*/
const { mongoose } = require('../db-connection');
const { CONFIG } = require('../config');
const { ZAMMAD } = require('../config');
const { extractRawEmail } = require('../utils');
const { getGmailClient, sendGmailReply } = require('../services/gmail');
const { addZammadArticle } = require('../services/zammad');
const { updateTicketActivity } = require('../services/tickets');
const Ticket = mongoose.model('Ticket');
/**
* Handle a Discord message in a ticket channel → relay to Gmail (email tickets only) + Zammad.
* Handle a Discord message in a ticket channel → relay to Gmail (email tickets only).
*/
async function handleDiscordReply(m) {
if (m.author.bot || m.interaction) return;
@@ -22,19 +20,11 @@ async function handleDiscordReply(m) {
const discordUser = m.member?.displayName || m.author.username;
// Discord-originated tickets: no Gmail thread; only add reply to Zammad.
if (ticket.gmailThreadId.startsWith('discord-')) {
if (ticket.zammadTicketId && ZAMMAD.URL && ZAMMAD.TOKEN) {
try {
await addZammadArticle(ticket.zammadTicketId, m.content, { from: discordUser });
} catch (zErr) {
console.error('Zammad article (Discord ticket reply) failed:', zErr.response?.data || zErr.message);
}
}
return;
}
// Email tickets: send reply via Gmail and add to Zammad.
// Email tickets: send reply via Gmail.
try {
const gmail = getGmailClient();
const thread = await gmail.users.threads.get({
@@ -78,14 +68,6 @@ async function handleDiscordReply(m) {
);
await updateTicketActivity(ticket.gmailThreadId);
if (ticket.zammadTicketId && ZAMMAD.URL && ZAMMAD.TOKEN) {
try {
await addZammadArticle(ticket.zammadTicketId, m.content, { from: discordUser });
} catch (zErr) {
console.error('Zammad article (Discord reply) failed:', zErr.response?.data || zErr.message);
}
}
} catch (e) {
console.error('REPLY ERROR:', e);
}