generated from nhcarrigan/template
@@ -22,7 +22,7 @@ import type { MessageParam } from "@anthropic-ai/sdk/resources/index.js";
|
|||||||
* @param message - The message payload from Discord.
|
* @param message - The message payload from Discord.
|
||||||
*/
|
*/
|
||||||
export const handleDmMessage
|
export const handleDmMessage
|
||||||
// eslint-disable-next-line max-lines-per-function -- We're off by one bloody line.
|
// eslint-disable-next-line max-lines-per-function, max-statements -- We're off by one bloody line.
|
||||||
= async(message: OmitPartialGroupDMChannel<Message>): Promise<void> => {
|
= async(message: OmitPartialGroupDMChannel<Message>): Promise<void> => {
|
||||||
try {
|
try {
|
||||||
if (message.author.bot) {
|
if (message.author.bot) {
|
||||||
@@ -74,6 +74,7 @@ export const handleDmMessage
|
|||||||
await message.channel.send(
|
await message.channel.send(
|
||||||
`${response?.text ?? "There was an error. Please try again later."}\n\n${cost}`,
|
`${response?.text ?? "There was an error. Please try again later."}\n\n${cost}`,
|
||||||
);
|
);
|
||||||
|
await logger.metric("dm_message", 1, { cost });
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
await logger.error("message event", error instanceof Error
|
await logger.error("message event", error instanceof Error
|
||||||
? error
|
? error
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import { logger } from "../utils/logger.js";
|
|||||||
*/
|
*/
|
||||||
export const handleThreadMessage
|
export const handleThreadMessage
|
||||||
|
|
||||||
|
// eslint-disable-next-line max-lines-per-function -- We're off by one bloody line.
|
||||||
= async(message: Message<true>): Promise<void> => {
|
= async(message: Message<true>): Promise<void> => {
|
||||||
try {
|
try {
|
||||||
if (message.author.bot) {
|
if (message.author.bot) {
|
||||||
@@ -57,6 +58,7 @@ export const handleThreadMessage
|
|||||||
await message.channel.send(
|
await message.channel.send(
|
||||||
`${response?.text ?? "There was an error. Please try again later."}\n\n${cost}`,
|
`${response?.text ?? "There was an error. Please try again later."}\n\n${cost}`,
|
||||||
);
|
);
|
||||||
|
await logger.metric("guild_message", 1, { cost });
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
await logger.error("message event", error instanceof Error
|
await logger.error("message event", error instanceof Error
|
||||||
? error
|
? error
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ import type { MessageParam } from "@anthropic-ai/sdk/resources/index.js";
|
|||||||
* @param message - The message payload from Discord.
|
* @param message - The message payload from Discord.
|
||||||
*/
|
*/
|
||||||
export const handleThreadMessage
|
export const handleThreadMessage
|
||||||
// eslint-disable-next-line max-lines-per-function, complexity -- We're off by one bloody line.
|
// eslint-disable-next-line max-lines-per-function, complexity, max-statements -- We're off by one bloody line.
|
||||||
= async(message: Message<true>): Promise<void> => {
|
= async(message: Message<true>): Promise<void> => {
|
||||||
try {
|
try {
|
||||||
if (message.author.bot) {
|
if (message.author.bot) {
|
||||||
@@ -67,6 +67,7 @@ export const handleThreadMessage
|
|||||||
await message.channel.send(
|
await message.channel.send(
|
||||||
`${response?.text ?? "There was an error. Please try again later."}\n\n${cost}`,
|
`${response?.text ?? "There was an error. Please try again later."}\n\n${cost}`,
|
||||||
);
|
);
|
||||||
|
await logger.metric("thread_message", 1, { cost });
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
await logger.error("message event", error instanceof Error
|
await logger.error("message event", error instanceof Error
|
||||||
? error
|
? error
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
* @license Naomi's Public License
|
* @license Naomi's Public License
|
||||||
* @author Naomi Carrigan
|
* @author Naomi Carrigan
|
||||||
*/
|
*/
|
||||||
|
import { DiscordAnalytics } from "@nhcarrigan/discord-analytics";
|
||||||
import {
|
import {
|
||||||
Client,
|
Client,
|
||||||
Events,
|
Events,
|
||||||
@@ -39,6 +40,8 @@ const client = new Client({
|
|||||||
partials: [ Partials.Channel ],
|
partials: [ Partials.Channel ],
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const analytics = new DiscordAnalytics(client, logger);
|
||||||
|
|
||||||
client.on(Events.InteractionCreate, (interaction) => {
|
client.on(Events.InteractionCreate, (interaction) => {
|
||||||
if (interaction.isChatInputCommand()) {
|
if (interaction.isChatInputCommand()) {
|
||||||
switch (interaction.commandName) {
|
switch (interaction.commandName) {
|
||||||
@@ -72,6 +75,7 @@ client.on(Events.EntitlementDelete, (entitlement) => {
|
|||||||
|
|
||||||
client.on(Events.ClientReady, () => {
|
client.on(Events.ClientReady, () => {
|
||||||
void logger.log("debug", "Bot is ready.");
|
void logger.log("debug", "Bot is ready.");
|
||||||
|
analytics.startCron();
|
||||||
});
|
});
|
||||||
|
|
||||||
instantiateServer();
|
instantiateServer();
|
||||||
|
|||||||
Reference in New Issue
Block a user