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:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user