diff --git a/controllers/eventController.js b/controllers/eventController.js index 0811ce8..4235bcc 100644 --- a/controllers/eventController.js +++ b/controllers/eventController.js @@ -75,57 +75,71 @@ const postMessageToSlack = async (message, channelId) => { } export const handleReactionAdded = async (event) => { - console.log('Processing reaction_added event'); - const { user, reaction, item } = event; - - const savedEvent = await getEventByTimestamp(item.ts); - // console.log(reaction); - // console.log(item); - // console.log(savedEvent); - - const savedEmojiArr = savedEvent.emoji.split(':'); - const savedEmoji = savedEmojiArr[1]; - - - - if (reaction == savedEmoji) { - const params = { - event_id: savedEvent.id, - user_id: user, - reaction: reaction, + try{ + + console.log('Processing reaction_added event'); + const { user, reaction, item } = event; + + const savedEvent = await getEventByTimestamp(item.ts); + // console.log(reaction); + // console.log(item); + // console.log(savedEvent); + + const savedEmojiArr = savedEvent.emoji.split(':'); + const savedEmoji = savedEmojiArr[1]; + + + + if (reaction == savedEmoji) { + const params = { + event_id: savedEvent.id, + user_id: user, + reaction: reaction, + } + await addReaction(params); + return; + } else { + console.log("Emoji does not match required emoji"); + return; } - await addReaction(params); - return; - } else { - console.log("Emoji does not match required emoji"); + } catch(err) + { + console.error(err); return; } } export const handleReactionRemoved = async (event) => { console.log('👍 Processing reaction_added event'); - const { user, reaction, item } = event; - const savedEvent = await getEventByTimestamp(item.ts); - // console.log(reaction); - // console.log(item); - // console.log(savedEvent); - - const savedEmojiArr = savedEvent.emoji.split(':'); - const savedEmoji = savedEmojiArr[1]; - - - - if (reaction == savedEmoji) { - const params = { - event_id: savedEvent.id, - user_id: user, - reaction: reaction, + try{ + const { user, reaction, item } = event; + + const savedEvent = await getEventByTimestamp(item.ts); + // console.log(reaction); + // console.log(item); + // console.log(savedEvent); + + const savedEmojiArr = savedEvent.emoji.split(':'); + const savedEmoji = savedEmojiArr[1]; + + + + if (reaction == savedEmoji) { + const params = { + event_id: savedEvent.id, + user_id: user, + reaction: reaction, + } + await removeReaction(params); + return; + } else { + console.log("Emoji does not match required emoji"); + return; } - await removeReaction(params); - return; - } else { - console.log("Emoji does not match required emoji"); + }catch (err) + { + console.error(err); return; } } diff --git a/controllers/keyHolders.js b/controllers/keyHolders.js index f83a9ff..23b7589 100644 --- a/controllers/keyHolders.js +++ b/controllers/keyHolders.js @@ -9,17 +9,17 @@ export const addHolder = async (req, res) => { const yearPrefix = enroll_num_str.substring(0, 2); try { - const doesExist = await pool.query( - 'SELECT * FROM keyHolders WHERE CAST(enrollment_num AS TEXT) ~ $1', - [`^${yearPrefix}`] - ); - - if (doesExist && doesExist.rowCount > 0) { - await pool.query( - 'DELETE FROM keyHolders WHERE CAST(enrollment_num AS TEXT) ~ $1', - [`^${yearPrefix}`] - ); - } + // const doesExist = await pool.query( + // 'SELECT * FROM keyHolders WHERE CAST(enrollment_num AS TEXT) ~ $1', + // [`^${yearPrefix}`] + // ); + + // if (doesExist && doesExist.rowCount > 0) { + // await pool.query( + // 'DELETE FROM keyHolders WHERE CAST(enrollment_num AS TEXT) ~ $1', + // [`^${yearPrefix}`] + // ); + // } const memberDetails = await pool.query( 'SELECT slack_name, enrollment_num, bhawan FROM members_info WHERE enrollment_num = $1', [enroll_num] diff --git a/controllers/labBot.js b/controllers/labBot.js index 1f28c43..e925671 100644 --- a/controllers/labBot.js +++ b/controllers/labBot.js @@ -228,7 +228,7 @@ const postMessageToSlack = async (message) => { }, { headers: { 'Content-Type': 'application/json', - 'Authorization': `Bearer ${SLACK_TOKEN}`, + 'Authorization': `Bearer ${BotToken}`, }, }); } catch (error) { diff --git a/services/emojiParser.js b/services/emojiParser.js index 907955a..b2b9db9 100644 --- a/services/emojiParser.js +++ b/services/emojiParser.js @@ -6,6 +6,8 @@ export default function parseEmoji(message) { const lines = message.split('\n'); const emojiLine = lines.find(line => line.toLowerCase().startsWith('react with ')); + if (!emojiLine) return null; + const emojiStr = emojiLine.split('react with ')[1]?.trim(); // const match = message.match(/react with\s*:(\w+):/i); diff --git a/services/timeParser.js b/services/timeParser.js index 7dc2f21..0f1fd4e 100644 --- a/services/timeParser.js +++ b/services/timeParser.js @@ -30,6 +30,9 @@ export default function parseEventTime(message) { const dateObj = new Date(Date.UTC(year, month, day, hour, minute)); // console.log('Parsed date object:', dateObj); - return dateObj.toISOString(); + + const utcTime = new Date(dateObj.getTime() - (5.5 * 60 * 60 * 1000)); + + return utcTime.toISOString(); }