summaryrefslogtreecommitdiff
path: root/src/server.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server.ts')
-rw-r--r--src/server.ts24
1 files changed, 6 insertions, 18 deletions
diff --git a/src/server.ts b/src/server.ts
index ce7e8c7..2252ea7 100644
--- a/src/server.ts
+++ b/src/server.ts
@@ -16,7 +16,11 @@ import {
} from "./reddit.ts";
import type { TimePeriod } from "./discord/types.ts";
import type { Environment, DiscordEmbed } from "./discord/interfaces.ts";
-import { createPostEmbed, createComplaintEmbed } from "./discord/embeds.ts";
+import {
+ createPostEmbed,
+ createComplaintEmbed,
+ createRoleDistributionEmbed,
+} from "./discord/embeds.ts";
import { JSONResponse } from "./discord/responses.ts";
import { verifyDiscordRequest } from "./discord/verification.ts";
@@ -432,23 +436,7 @@ router.post("/", async (request: Request, environment: Environment) => {
},
});
- const totalMembers = roleDistribution.reduce(
- (sum, role) => sum + role.count,
- 0,
- );
- const embed: DiscordEmbed = {
- title: "🎨 Colour Role Distribution",
- description: `Total members with colour roles: **${totalMembers}**`,
- color: 0x5865F2,
- fields: roleDistribution.map((role) => ({
- name: role.name,
- value: `${role.count} member${role.count !== 1 ? "s" : ""}`,
- inline: true,
- })),
- footer: {
- text: "Sorted by member count (highest to lowest)",
- },
- };
+ const embed = createRoleDistributionEmbed(roleDistribution);
return new JSONResponse({
type: InteractionResponseType.CHANNEL_MESSAGE_WITH_SOURCE,