/** * Main Banchojs class * @prop {BanchoClient} BanchoClient The BanchoClient class (Client alias is kept for history purposes) * @prop {OutgoingBanchoMessage} OutgoingBanchoMessage The OutgoingMessage class to produce messages * @prop {ConnectStates} ConnectStates An enum containing all the possible ConnectStates of bancho.js * @prop {BanchoLobbyPlayerStates} BanchoLobbyPlayerStates An enum containing the different player states for players in lobbies * @prop {BanchoLobbyTeamModes} BanchoLobbyTeamModes An enum containing the 4 different team modes in Bancho * @prop {BanchoLobbyTeams} BanchoLobbyTeams An enum containing the 2 different teams in a multiplayer lobby * @prop {BanchoLobbyWinConditions} BanchoLobbyWinConditions An enum containing the 4 win conditions on Bancho */ class Banchojs { constructor() { this.Client = this.BanchoClient = require("./lib/BanchoClient"); this.BanchoMessage = require("./lib/BanchoMessage"); this.PrivateMessage = require("./lib/PrivateMessage"); this.ChannelMessage = require("./lib/ChannelMessage"); this.OutgoingBanchoMessage = require("./lib/OutgoingBanchoMessage"); this.ConnectStates = require("./lib/Enums/ConnectStates"); this.BanchoLobbyPlayerStates = require("./lib/Multiplayer/Enums/BanchoLobbyPlayerStates"); this.BanchoLobbyTeamModes = require("./lib/Multiplayer/Enums/BanchoLobbyTeamModes"); this.BanchoLobbyTeams = require("./lib/Multiplayer/Enums/BanchoLobbyTeams"); this.BanchoLobbyWinConditions = require("./lib/Multiplayer/Enums/BanchoLobbyWinConditions"); this.BanchoMods = require("./lib/Multiplayer/Enums/BanchoMods"); this.BanchoUser = require("./lib/BanchoUser"); this.BanchoWhoisReturn = require("./lib/IrcCommands/whois/BanchoWhoisReturn"); this.BanchoBotStatsReturn = require("./lib/StatsCommand/BanchoBotStatsReturn"); this.BanchoChannel = require("./lib/BanchoChannel"); this.BanchoMultiplayerChannel = require("./lib/BanchoMultiplayerChannel"); this.BanchoLobby = require("./lib/Multiplayer/BanchoLobby"); this.BanchoLobbyPlayer = require("./lib/Multiplayer/BanchoLobbyPlayer"); this.BanchoLobbyPlayerScore = require("./lib/Multiplayer/BanchoLobbyPlayerScore"); this.BanchoMod = require("./lib/Multiplayer/BanchoMod"); this.BanchoChannelMemberMode = require("./lib/BanchoChannelMemberMode"); this.BanchoChannelMember = require("./lib/BanchoChannelMember"); } /** * Compares the provided object and return true if the object is an instance of BanchoMod. * * @param {any} mod */ isBanchoMod(mod) { return mod instanceof require("./lib/Multiplayer/BanchoMod"); } /** * Compares the provided object and return true if the object is an instance of BanchoUser. * * @param {any} user */ isBanchoUser(user) { return user instanceof require("./lib/BanchoUser"); } /** * Compares the provided object and return true if the object is an instance of BanchoChannel. * * @param {any} channel */ isBanchoChannel(channel) { return channel instanceof require("./lib/BanchoChannel"); } /** * Compares the provided object and return true if the object is an instance of BanchoMultiplayerChannel. * * @param {any} channel */ isBanchoMultiplayerChannel(channel) { return channel instanceof require("./lib/BanchoMultiplayerChannel"); } /** * Compares the provided object and return true if the object is an instance of BanchoLobby. * * @param {any} lobby */ isBanchoLobby(lobby) { return lobby instanceof require("./lib/Multiplayer/BanchoLobby"); } /** * Compares the provided object and return true if the object is an instance of BanchoChannelMember. * * @param {any} member */ isBanchoChannelMember(member) { return member instanceof require("./lib/BanchoChannelMember"); } /** * Compares the provided object and return true if the object is an instance of BanchoMessage. * * @param {any} message */ isBanchoMessage(message) { return message instanceof require("./lib/BanchoMessage"); } /** * Compares the provided object and return true if the object is an instance of ChannelMessage. * * @param {any} message */ isChannelMessage(message) { return message instanceof require("./lib/ChannelMessage"); } /** * Compares the provided object and return true if the object is an instance of PrivateMessage. * * @param {any} message */ isPrivateMessage(message) { return message instanceof require("./lib/PrivateMessage"); } } module.exports = new Banchojs();