First build

This commit is contained in:
Lucid Kobold
2025-02-19 11:11:47 -05:00
43 changed files with 4061 additions and 7177 deletions

View File

@@ -1,13 +1,16 @@
import type { Context, SessionData } from '#root/bot/context.js'
import type { Middleware, SessionOptions } from 'grammy'
import { session as createSession } from 'grammy'
import type { Context, SessionData } from "#root/bot/context.js";
import type { Middleware, SessionOptions } from "grammy";
import { session as createSession } from "grammy";
type Options = Pick<SessionOptions<SessionData, Context>, 'getSessionKey' | 'storage'>
type Options = Pick<
SessionOptions<SessionData, Context>,
"getSessionKey" | "storage"
>;
export function session(options: Options): Middleware<Context> {
return createSession({
getSessionKey: options.getSessionKey,
storage: options.storage,
initial: () => ({}),
})
initial: () => ({})
});
}

View File

@@ -1,35 +1,34 @@
import type { Context } from '#root/bot/context.js'
import type { Middleware } from 'grammy'
import { performance } from 'node:perf_hooks'
import { getUpdateInfo } from '#root/bot/helpers/logging.js'
import type { Context } from "#root/bot/context.js";
import type { Middleware } from "grammy";
import { performance } from "node:perf_hooks";
import { getUpdateInfo } from "#root/bot/helpers/logging.js";
export function updateLogger(): Middleware<Context> {
return async (ctx, next) => {
ctx.api.config.use((previous, method, payload, signal) => {
ctx.logger.debug({
msg: 'Bot API call',
msg: "Bot API call",
method,
payload,
})
payload
});
return previous(method, payload, signal)
})
return previous(method, payload, signal);
});
ctx.logger.debug({
msg: 'Update received',
update: getUpdateInfo(ctx),
})
msg: "Update received",
update: getUpdateInfo(ctx)
});
const startTime = performance.now()
const startTime = performance.now();
try {
await next()
}
finally {
const endTime = performance.now()
await next();
} finally {
const endTime = performance.now();
ctx.logger.debug({
msg: 'Update processed',
elapsed: endTime - startTime,
})
msg: "Update processed",
elapsed: endTime - startTime
});
}
}
};
}