Skip to content

Commit 8d70df6

Browse files
committed
Discord events working locally
1 parent 7376690 commit 8d70df6

File tree

3 files changed

+13
-9
lines changed

3 files changed

+13
-9
lines changed

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"type": "module",
99
"scripts": {
1010
"build": "rm -rf dist/ && tsc",
11-
"dev": "tsx watch src/index.ts",
11+
"dev": "touch .env && tsx watch --env-file=.env src/index.ts",
1212
"build:lambda": "yarn build && cp package.json dist/src/ && yarn lockfile-manage",
1313
"lockfile-manage": "synp --source-file yarn.lock && cp package-lock.json dist/src/ && rm package-lock.json",
1414
"typecheck": "tsc --noEmit",
@@ -69,5 +69,6 @@
6969
"zod": "^3.23.8",
7070
"zod-to-json-schema": "^3.23.2",
7171
"zod-validation-error": "^3.3.1"
72-
}
72+
},
73+
"packageManager": "[email protected]+sha1.ac34549e6aa8e7ead463a7407e1c7390f61a6610"
7374
}

src/routes/discord.ts

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,13 @@ import moment from "moment";
1717

1818
export type IUpdateDiscord = EventPostRequest & { id: string };
1919

20-
const urlRegex =
21-
/https:\/\/[a-f0-9\.-]+\/calendar\?id=([a-f0-9-]+)&date=[\d-]+/;
20+
const urlRegex = /https:\/\/[a-z0-9\.-]+\/calendar\?id=([a-f0-9-]+)/;
2221
export const updateDiscord = async (
2322
event: IUpdateDiscord,
2423
isDelete: boolean = false,
2524
) => {
26-
// If an event isn't featured, don't create it.
27-
// If an event changed from featured to not featured, don't modify it.
28-
if (!isDelete && !event.featured) {
25+
// If an event isn't featured or repeats, don't handle it.
26+
if (!isDelete && (!event.featured || event.repeats !== undefined)) {
2927
return;
3028
}
3129

@@ -92,11 +90,16 @@ export const updateDiscord = async (
9290
await guild.scheduledEvents.edit(existingMetadata.id, editOptions);
9391
}
9492
} else {
95-
await guild.scheduledEvents.create(options);
93+
if (options.scheduledStartTime < new Date()) {
94+
console.log(`Refusing to create past event "${title}"`);
95+
} else {
96+
await guild.scheduledEvents.create(options);
97+
}
9698
}
9799

98100
await client.destroy();
99101
});
100102

103+
console.log("TOKEN", process.env.DISCORD_BOT_TOKEN);
101104
client.login(process.env.DISCORD_BOT_TOKEN);
102105
};

src/routes/events.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ const eventsPlugin: FastifyPluginAsync = async (fastify, _options) => {
101101
Item: marshall(entry),
102102
}),
103103
);
104-
await updateDiscord(entry);
104+
await updateDiscord(entry, false);
105105

106106
reply.send({
107107
id: entryUUID,

0 commit comments

Comments
 (0)