Files
maybe-coffee-bot/src/bot.ts

19 lines
629 B
TypeScript

import type { FeedbackStore } from './stores/feedback';
import type { SessionStore } from './stores/session';
import { Telegraf } from 'telegraf';
import { onMessage, onStart } from './telegram/handlers';
export function createBot(token: string, rootDir: string, sessions: SessionStore, feedback: FeedbackStore, signal: AbortSignal): Telegraf {
const bot = new Telegraf(token, { handlerTimeout: 10_000 });
bot.start(onStart(rootDir));
bot.on('text', onMessage(rootDir, sessions, feedback));
// Graceful shutdown
signal.addEventListener('abort', () => {
bot.stop('AbortController: abort');
});
return bot;
}