Files
keiko/src/events/onMessage.ts
T
naomi ffb07f041d
Node.js CI / Lint and Test (push) Successful in 39s
fix: missed a couple things guess was not quite done
2025-10-09 15:02:23 -07:00

40 lines
1018 B
TypeScript

/**
* @copyright NHCarrigan
* @license Naomi's Public License
* @author Naomi Carrigan
*/
import {
ChannelType,
type Message,
type OmitPartialGroupDMChannel,
} from "discord.js";
import { handleDmMessage } from "./handleDmMessage.js";
import { handleGuildMessage } from "./handleGuildMessage.js";
import { handleThreadMessage } from "./handleThreadMessage.js";
/**
* Handles the message event from Discord.
* @param message -- The message payload from Discord.
*/
export const onMessage = async(
message: OmitPartialGroupDMChannel<Message>,
): Promise<void> => {
if (message.channel.type === ChannelType.DM) {
await handleDmMessage(message);
return;
}
// This should not be true at this point, but we need to narrow this.
if (!message.inGuild()) {
return;
}
if (
message.channel.type === ChannelType.PublicThread
|| message.channel.type === ChannelType.PrivateThread
) {
await handleThreadMessage(message);
return;
}
await handleGuildMessage(message);
};