Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
98 changes: 56 additions & 42 deletions controllers/eventController.js
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
}
Expand Down
22 changes: 11 additions & 11 deletions controllers/keyHolders.js
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand Down
2 changes: 1 addition & 1 deletion controllers/labBot.js
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,7 @@ const postMessageToSlack = async (message) => {
}, {
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${SLACK_TOKEN}`,
'Authorization': `Bearer ${BotToken}`,
},
});
} catch (error) {
Expand Down
2 changes: 2 additions & 0 deletions services/emojiParser.js
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
5 changes: 4 additions & 1 deletion services/timeParser.js
Original file line number Diff line number Diff line change
Expand Up @@ -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();
}