1
0
Fork 0
mirror of https://github.com/muerwre/vk-tg-bot.git synced 2025-04-24 22:46:41 +07:00
vk-tg-bot/src/service/vk/handlers/index.ts
2021-05-13 10:26:37 +07:00

30 lines
986 B
TypeScript

import { ConfigGroup, GroupChannel, GroupInstance, VkEvent } from "../types";
import { VkEventHandler } from "./VkEventHandler";
import { MessageNewHandler } from "./MessageNewHandler";
import { StubHandler } from "./StubHandler";
import { VkService } from "../index";
import { TelegramService } from "../../telegram";
import { Template } from "../../template";
import { PostNewHandler } from "./PostNewHandler";
import { Storage } from "../../db";
import { JoinLeaveHandler } from "./JoinLeaveHandler";
interface Handler {
new (
type: VkEvent,
group: ConfigGroup,
channel: GroupChannel,
instance: GroupInstance,
vk: VkService,
telegram: TelegramService,
template: Template<any, any>,
db: Storage
): VkEventHandler;
}
export const vkEventToHandler: Record<VkEvent, Handler> = {
[VkEvent.GroupJoin]: JoinLeaveHandler,
[VkEvent.GroupLeave]: JoinLeaveHandler,
[VkEvent.MessageNew]: MessageNewHandler,
[VkEvent.WallPostNew]: PostNewHandler,
};