import { Server } from "./Server.js"; import { MatrixUser } from "./MatrixUser.js"; import { IRCUser } from "./IRCUser.js"; import { IRCMessage } from "./Message.js"; export class Channel { public name: string private matrixUsers: Map private ircUsers: Map private nickToMXid: Map private powerLevels: Map private topic: Map; private memberCount: number; private modes: Map private messages: Map; private tsToEventId: Map; constructor(public roomId: string, private server: Server, initialIRCUser: IRCUser) { this.name = roomId; this.matrixUsers = new Map(); this.ircUsers = new Map(); this.ircUsers.set(initialIRCUser.nick, initialIRCUser); this.nickToMXid = new Map(); this.powerLevels = new Map(); this.topic = new Map(); this.memberCount = 0; this.modes = new Map(); this.modes.set('n', ''); this.messages = new Map(); this.tsToEventId = new Map(); } }