public FormConferention(string _roomJid, string _roomName, bool _savingHistory, bool _persistRoom, string _roomDesc = "", List<string> users = null ) { InitializeComponent(); roomJid = new Jid(_roomJid); roomName = _roomName; this.Text = _roomName; roomDesc = _roomDesc; mainJid = Settings.jid; nickname = Settings.nickname; xmpp = Settings.xmpp; muc = new MucManager(xmpp); savingHistory = _savingHistory ? "1" : "0"; persistRoom = _persistRoom ? "1" : "0"; //muc.AcceptDefaultConfiguration(roomJid, new IqCB(OnGetFieldsResult)); muc.CreateReservedRoom(roomJid); muc.GrantOwnershipPrivileges(roomJid, new Jid(mainJid)); muc.JoinRoom(roomJid, nickname); initMucConfig(); xmpp.MesagageGrabber.Add(roomJid, new BareJidComparer(), new MessageCB(MessageCallback), null); xmpp.PresenceGrabber.Add(roomJid, new BareJidComparer(), new PresenceCB(PresenceCallback), null); muc.Invite(users.ConvertAll<Jid>( delegate(string jid) { return new Jid(jid); } ).ToArray(), roomJid, "Вы приглашены в конференцию Конф."); }
public FormConferention(string _roomJid) { InitializeComponent(); roomJid = new Jid(_roomJid); xmpp = Settings.xmpp; mainJid = Settings.jid; nickname = Settings.nickname; muc = new MucManager(xmpp); muc.JoinRoom(roomJid, nickname); xmpp.MesagageGrabber.Add(roomJid, new BareJidComparer(), new MessageCB(MessageCallback), null); xmpp.PresenceGrabber.Add(roomJid, new BareJidComparer(), new PresenceCB(PresenceCallback), null); }
private void OnLogin(object sender) { var mucManager = new MucManager(_client); var rooms = _robot.Settings.Get("HipChatRooms").Split(','); var roomJids = rooms.Select(room => new Jid(room + "@" + _robot.Settings.Get("HipChatConferenceServer"))); foreach (var jid in roomJids) { mucManager.JoinRoom(jid, _robot.Settings.Get("HipChatRoomNick")); JoinedRoomJids.Add(jid); } }
public EndOfGamePage(EndOfGameStats statistics) { InitializeComponent(); RenderStats(statistics); Client.SwitchPage(Client.MainPage); Client.runonce = false; Client.ChampId = -1; RoomJid = Client.GetChatroomJid(statistics.RoomName, statistics.RoomPassword, false); newRoom = new MucManager(Client.XmppConnection); Client.XmppConnection.OnMessage += XmppConnection_OnMessage; Client.XmppConnection.OnPresence += XmppConnection_OnPresence; Client.RiotConnection.MessageReceived += RiotConnection_MessageReceived; newRoom.AcceptDefaultConfiguration(new Jid(RoomJid)); newRoom.JoinRoom(new Jid(RoomJid), Client.LoginPacket.AllSummonerData.Summoner.Name); }
public GroupChatItem(string id, string title) { InitializeComponent(); ChatId = id; PlayerLabelName.Content = title; GroupTitle = title; if (ChatId == null) return; try { newRoom = new MucManager(Client.XmppConnection); } catch { return; } Client.XmppConnection.OnPresence += XmppConnection_OnPresence; Client.XmppConnection.OnMessage += XmppConnection_OnMessage; newRoom.AcceptDefaultConfiguration(new Jid(ChatId)); roomName = ChatId; newRoom.JoinRoom(new Jid(ChatId), Client.LoginPacket.AllSummonerData.Summoner.Name); }
private void OnClientLogin(object sender) { var mucManager = new MucManager(_client); var rooms = _api.GetAllRooms(); foreach (var room in rooms.Items) { var roomInfo = _api.GetRoom(room.Id); var jid = new Jid(roomInfo.XmppJid); mucManager.JoinRoom(jid, _botUser.Name); Rooms.Add(room.Name); LogRooms.Add(room.Name); Logger.Info(string.Format("Joined Room '{0}'", room.Name)); } }
public override Task Run() { _loginTcs = new TaskCompletionSource<bool>(); Task<bool> connect = _loginTcs.Task; if (_xmppConnection != null) { _xmppConnection.Close(); _xmppConnection = null; } _xmppConnection = new XmppClientConnection { Server = _host, ConnectServer = _connectHost, AutoResolveConnectServer = true, Username = _username, Password = _password }; if (_port > 0) _xmppConnection.Port = _port; _xmppConnection.KeepAlive = true; _xmppConnection.OnLogin += OnLogin; _xmppConnection.OnError += OnError; _xmppConnection.OnMessage += OnMessage; _xmppConnection.OnPresence += XmppConnectionOnOnPresence; _xmppConnection.OnRosterItem += OnClientRosterItem; _xmppConnection.OnXmppConnectionStateChanged += OnXmppConnectionStateChanged; Task.Factory.StartNew(() => { _xmppConnection.Open(); Thread.Sleep(CONNECT_TIMEOUT); _loginTcs.TrySetResult(false); }); if (!connect.Result) throw new TimeoutException("XMPP adapter timed out while trying to login"); else { MucManager muc = new MucManager(_xmppConnection); foreach (var room in _rooms) { try { muc.JoinRoom(string.Format("{0}@{1}", room, _confServer), _username, _password, true); Logger.Info(string.Format("Successfully joined room {0}", room)); Rooms.Add(string.Format("{0}@{1}", room, _confServer)); } catch (Exception ex) { Logger.Error("Failed to join room - " + ex.Message); } } foreach (var logroom in _logRooms) { try { muc.JoinRoom(string.Format("{0}@{1}", logroom, _confServer), _username, _password, true); Logger.Info(string.Format("Successfully joined room {0}", logroom)); LogRooms.Add(string.Format("{0}@{1}", logroom, _confServer)); } catch (Exception ex) { Logger.Error("Failed to join room - " + ex.Message); } } } return _loginTcs.Task; }
void xmpp_OnLogin(object sender) { MucManager mucManager = new MucManager(_client); string[] rooms = _config.Rooms.Split(','); foreach (string room in rooms) { Jid jid = new Jid(room + "@" + _config.ConferenceServer); mucManager.JoinRoom(jid, _config.RoomNick); } }
private void Lobby_OnMessageReceived(object sender, object message) { if (message.GetType() != typeof(GameDTO)) return; var dto = message as GameDTO; Dispatcher.BeginInvoke(DispatcherPriority.Input, new ThreadStart(async () => { if (!HasConnectedToChat) { //Run once BaseMap map = BaseMap.GetMap(dto.MapId); MapLabel.Content = map.DisplayName; ModeLabel.Content = Client.TitleCaseString(dto.GameMode); GameTypeConfigDTO configType = Client.LoginPacket.GameTypeConfigs.Find(x => x.Id == dto.GameTypeConfigId); TypeLabel.Content = GetGameMode(configType.Id); SizeLabel.Content = dto.MaxNumPlayers / 2 + "v" + dto.MaxNumPlayers / 2; HasConnectedToChat = true; string obfuscatedName = Client.GetObfuscatedChatroomName(dto.Name.ToLower() + Convert.ToInt32(dto.Id), ChatPrefixes.Arranging_Practice); string Jid = Client.GetChatroomJid(obfuscatedName, dto.RoomPassword, false); newRoom = new MucManager(Client.XmppConnection); Client.XmppConnection.OnMessage += XmppConnection_OnMessage; Client.XmppConnection.OnPresence += XmppConnection_OnPresence; jid = new Jid(dto.RoomName); newRoom.AcceptDefaultConfiguration(jid); newRoom.JoinRoom(jid, Client.LoginPacket.AllSummonerData.Summoner.Name, dto.RoomPassword); } switch (dto.GameState) { case "TEAM_SELECT": { OptomisticLock = dto.OptimisticLock; LaunchedTeamSelect = false; BlueTeamListView.Items.Clear(); PurpleTeamListView.Items.Clear(); var allParticipants = new List<Participant>(dto.TeamOne.ToArray()); allParticipants.AddRange(dto.TeamTwo); int i = 0; bool purpleSide = false; foreach (Participant playerTeam in allParticipants) { i++; var lobbyPlayer = new CustomLobbyPlayer(); //var botPlayer = new BotControl(); if (playerTeam is PlayerParticipant) { var player = playerTeam as PlayerParticipant; lobbyPlayer = RenderPlayer(player, dto.OwnerSummary.SummonerId == player.SummonerId); ///BotParticipant botParticipant = playerTeam as BotParticipant; //botPlayer = RenderBot(botParticipant); IsOwner = dto.OwnerSummary.SummonerId == Client.LoginPacket.AllSummonerData.Summoner.SumId; StartGameButton.IsEnabled = IsOwner; if (Client.Whitelist.Count > 0) if (!Client.Whitelist.Contains(player.SummonerName.ToLower())) await RiotCalls.BanUserFromGame(Client.GameID, player.AccountId); } if (i > dto.TeamOne.Count) { i = 0; purpleSide = true; } if (!purpleSide) BlueTeamListView.Items.Add(lobbyPlayer); else PurpleTeamListView.Items.Add(lobbyPlayer); } } break; case "PRE_CHAMP_SELECT": case "CHAMP_SELECT": if (!LaunchedTeamSelect) { Client.ChampSelectDTO = dto; Client.LastPageContent = Client.Container.Content; Client.SwitchPage(new ChampSelectPage(dto.RoomName, dto.RoomPassword).Load(this)); LaunchedTeamSelect = true; } break; } })); }
/// <summary> /// This method will parse incoming messages and call specific handlers. /// </summary> /// <param name="sender">The sender of the message</param> /// <param name="message">The messsage that was received</param> private void receivedMessageDispatcher(Object sender, Message message) { //check whether the message is an invitation to join a chatroom and invoke the strategy if (message.HasTag("invite", true)) { chatroom = message.From; MucManager manager = new MucManager(connection); //Wait for 3 seconds System.Threading.Thread.Sleep(3000); manager.JoinRoom(chatroom, nickname, false); decisionStrategy.OnJoiningGame(chatroom.ToString()); } else { if (message.Body != null) { decisionStrategy.OnMessageReceived(message); } } }
public HeadlessConn(string name) : base(Window1.SERVER) { this.name = name; log(name); ME = new Jid(name + "@conference." +Window1.SERVER); AutoAgents = false; OnAuthError += (_sender, error) => { if (error.TagName == "failure") { RegisterAccount = true; Open(name, "examplePassword"); } else { throw new AuthenticationException(error.ToString()); } }; OnLogin += (o) => { var manager = new MucManager(this); manager.JoinRoom(MUC, name); manager.JoinRoom(ME, name); log(name + " logged in"); }; OnPresence += (_sender, presence) => { //log(presence.ToString()); }; OnMessage += (_sender, msg) => { increment(ref shoutsReceived); }; OnRegistered += (registration) => { }; OnRegisterError += (_sender, error) => { throw new Exception(error.ToString()); }; OnError += (_sender, error) => { throw error; }; OnReadXml += (_sender, xml) => { //log("In size:"+xml.ToString().Length); }; OnWriteXml += (_sender, xml) => { //log("Out size:"+xml.ToString().Length); }; Open(name, "examplePassword"); }
private void XmppOnOnLogin(object sender) { MucManager = new MucManager(Xmpp); Jid room = new Jid("*****@*****.**"); MucManager.AcceptDefaultConfiguration(room); MucManager.JoinRoom(room,Username,Password,false); Me = new NewUser(Xmpp.MyJID); if(OnLoginComplete != null) OnLoginComplete.Invoke(this,LoginResults.Success); }
private void ConnectionOnLogin(object sender) { // Set up the room message callback var roomJid = new Jid(RoomJidString.ToLower()); _connection.MessageGrabber.Add(roomJid, new BareJidComparer(), OnGroupChatMessage, XMPPRoom); _man = new MucManager(_connection); _man.JoinRoom(GitBotJidString, XMPPUser, XMPPRoomPassword, true); /*Presence pres = new Presence(); Jid to = new Jid(RoomJidString); to.Resource = XMPPUser; pres.To = to; _connection.Send(pres);*/ }
static void xmpp_OnLogin(object sender) { MucManager mucManager = new MucManager(_client); string[] rooms = ConfigurationManager.AppSettings["Rooms"].Split(','); foreach (string room in rooms) { Jid jid = new Jid(room + "@" + ConfigurationManager.AppSettings["ConferenceServer"]); mucManager.JoinRoom(jid, ConfigurationManager.AppSettings["RoomNick"]); } }
private void OnLoginEvent(object sender) { Logger.Info("Connected to {0}!", Connection.Server); Connection.SendMyPresence(); MucManager mucManager = new MucManager(Connection); Room = new Jid(Config["conference"] as String); mucManager.AcceptDefaultConfiguration(Room); mucManager.JoinRoom(Room, Config["nickname"] as String); Presence p = new Presence(ShowType.chat, "Online"); p.Type = PresenceType.available; Connection.Send(p); Task.Factory.StartNew(() => { Thread.Sleep(1000); Logger.Info("Start accepting messages..."); Connection.OnMessage += new MessageHandler(OnMessage); }); }
private void XmppOnOnMessage(object sender , Message msg) { switch (msg.Type) { case MessageType.normal: if (msg.From.Server == "conference." + Skylabs.Lobby.Client.Host) { var rname = msg.From.User; MucManager m = new MucManager(_xmpp); m.JoinRoom(msg.From , msg.From.User); var theRoom = GetRoom(new NewUser(msg.From) , true); _xmpp.RosterManager.AddRosterItem(msg.From,msg.From.User); if(OnCreateRoom != null) OnCreateRoom.Invoke(this,theRoom); } break; case MessageType.error: { var nc = GetRoom(new NewUser(msg.From.Bare) , true); nc.OnMessage(this , msg); break; } case MessageType.chat: { switch(msg.Chatstate) { case Chatstate.None: //TODO Group chat whispers in the form of {roomname}@conference.server.octgn.info/{username} need to be handled here. var nc = GetRoom(new NewUser(msg.From.Bare)); nc.OnMessage(sender , msg); break; case Chatstate.active: break; case Chatstate.inactive: break; case Chatstate.composing: break; case Chatstate.gone: break; case Chatstate.paused: break; default: throw new ArgumentOutOfRangeException(); } break; } case MessageType.groupchat: { var nc = GetRoom(new NewUser(msg.From.Bare) , true); nc.OnMessage(this , msg); break; } case MessageType.headline: break; default: throw new ArgumentOutOfRangeException(); } }
private static void XmppOnOnLogin(object sender) { Trace.WriteLine("[Bot]Login:"******"*****@*****.**"); muc.AcceptDefaultConfiguration(room); muc.JoinRoom(room, Xmpp.Username, Xmpp.Password, false); }
private void XmppOnOnLogin(object sender) { myPresence.Type = PresenceType.available; MucManager = new MucManager(Xmpp); Jid room = new Jid("lobby@conference." + Host); MucManager.AcceptDefaultConfiguration(room); MucManager.JoinRoom(room,Username,Password,false); Me = new NewUser(Xmpp.MyJID); if(OnLoginComplete != null) OnLoginComplete.Invoke(this,LoginResults.Success); }
public async void LoadStats() { i = 10; PingTimer = new Timer(1000); PingTimer.Elapsed += PingElapsed; PingTimer.Enabled = true; PingElapsed(1, null); InviteButton.IsEnabled = false; StartGameButton.IsEnabled = false; if (CurrentLobby == null) { CurrentLobby = await RiotCalls.AcceptInvite(Invite); } if (CurrentLobby.InvitationID != null) { string ObfuscatedName = Client.GetObfuscatedChatroomName(CurrentLobby.InvitationID.ToLower(), ChatPrefixes.Arranging_Game); string Jid = Client.GetChatroomJid(ObfuscatedName, CurrentLobby.ChatKey, false); newRoom = new MucManager(Client.XmppConnection); jid = new Jid(Jid); Client.XmppConnection.OnMessage += XmppConnection_OnMessage; Client.XmppConnection.OnPresence += XmppConnection_OnPresence; newRoom.AcceptDefaultConfiguration(jid); newRoom.JoinRoom(jid, Client.LoginPacket.AllSummonerData.Summoner.Name, CurrentLobby.ChatKey); RenderLobbyData(); } else { Client.GameStatus = "outOfGame"; Client.SetChatHover(); Client.SwitchPage(Client.MainPage); Client.ClearPage(typeof(TeamQueuePage)); Client.Log("Failed to join room."); } }
private void Lobby_OnMessageReceived(object sender, object message) { if (message == null) return; if (message.GetType() != typeof(GameDTO)) return; var dto = message as GameDTO; Dispatcher.BeginInvoke(DispatcherPriority.Input, new ThreadStart(async () => { if (!HasConnectedToChat) { //Run once BaseMap map = BaseMap.GetMap(dto.MapId); MapLabel.Content = map.DisplayName; ModeLabel.Content = Client.TitleCaseString(dto.GameMode); GameTypeConfigDTO configType = Client.LoginPacket.GameTypeConfigs.Find(x => x.Id == dto.GameTypeConfigId); TypeLabel.Content = GetGameMode(configType.Id); SizeLabel.Content = dto.MaxNumPlayers / 2 + "v" + dto.MaxNumPlayers / 2; HasConnectedToChat = true; string obfuscatedName = Client.GetObfuscatedChatroomName(dto.Name.ToLower() + Convert.ToInt64(dto.Id), ChatPrefixes.Arranging_Practice); string Jid = Client.GetChatroomJid(obfuscatedName, dto.RoomPassword, false); newRoom = new MucManager(Client.XmppConnection); Client.XmppConnection.OnMessage +=XmppConnection_OnMessage; Client.XmppConnection.OnPresence += XmppConnection_OnPresence; roomJid = new Jid(Jid); newRoom.AcceptDefaultConfiguration(roomJid); newRoom.JoinRoom(roomJid, Client.LoginPacket.AllSummonerData.Summoner.Name); } switch (dto.GameState) { case "TEAM_SELECT": { bool isSpectator = false; OptomisticLock = dto.OptimisticLock; LaunchedTeamSelect = false; BlueTeamListView.Items.Clear(); PurpleTeamListView.Items.Clear(); SpectatorListView.Items.Clear(); foreach (Participant playerTeam in dto.TeamOne) { if (playerTeam is PlayerParticipant) { var lobbyPlayer = new CustomLobbyPlayer(); var player = playerTeam as PlayerParticipant; lobbyPlayer = RenderPlayer(player, dto.OwnerSummary.SummonerId == player.SummonerId); Client.isOwnerOfGame = dto.OwnerSummary.SummonerId == Client.LoginPacket.AllSummonerData.Summoner.SumId; StartGameButton.IsEnabled = Client.isOwnerOfGame; AddBotBlueTeam.IsEnabled = Client.isOwnerOfGame; AddBotPurpleTeam.IsEnabled = Client.isOwnerOfGame; BlueTeamListView.Items.Add(lobbyPlayer); if (Client.Whitelist.Count <= 0) continue; if (!Client.Whitelist.Contains(player.SummonerName.ToLower())) await RiotCalls.BanUserFromGame(Client.GameID, player.AccountId); } else if (playerTeam is BotParticipant) { var botParticipant = playerTeam as BotParticipant; var botPlayer = new BotControl(); botPlayer = RenderBot(botParticipant); BlueTeamListView.Items.Add(botPlayer); } } foreach (Participant playerTeam in dto.TeamTwo) { if (playerTeam is PlayerParticipant) { var lobbyPlayer = new CustomLobbyPlayer(); var player = playerTeam as PlayerParticipant; lobbyPlayer = RenderPlayer(player, dto.OwnerSummary.SummonerId == player.SummonerId); Client.isOwnerOfGame = dto.OwnerSummary.SummonerId == Client.LoginPacket.AllSummonerData.Summoner.SumId; StartGameButton.IsEnabled = Client.isOwnerOfGame; AddBotBlueTeam.IsEnabled = Client.isOwnerOfGame; AddBotPurpleTeam.IsEnabled = Client.isOwnerOfGame; PurpleTeamListView.Items.Add(lobbyPlayer); if (Client.Whitelist.Count <= 0) continue; if (!Client.Whitelist.Contains(player.SummonerName.ToLower())) await RiotCalls.BanUserFromGame(Client.GameID, player.AccountId); } else if (playerTeam is BotParticipant) { var botParticipant = playerTeam as BotParticipant; var botPlayer = new BotControl(); botPlayer = RenderBot(botParticipant); PurpleTeamListView.Items.Add(botPlayer); } } foreach (GameObserver observer in dto.Observers) { if (observer.SummonerId == Client.LoginPacket.AllSummonerData.Summoner.SumId) isSpectator = true; var spectatorItem = new CustomLobbyObserver(); spectatorItem = RenderObserver(observer); SpectatorListView.Items.Add(spectatorItem); } if (isSpectator) { AddBotPurpleTeam.Visibility = Visibility.Hidden; AddBotBlueTeam.Visibility = Visibility.Hidden; JoinBlueTeamFromSpectator.Visibility = Visibility.Visible; JoinPurpleTeamFromSpectator.Visibility = Visibility.Visible; } else { AddBotPurpleTeam.Visibility = Visibility.Visible; AddBotBlueTeam.Visibility = Visibility.Visible; JoinBlueTeamFromSpectator.Visibility = Visibility.Hidden; JoinPurpleTeamFromSpectator.Visibility = Visibility.Hidden; } } break; case "PRE_CHAMP_SELECT": case "CHAMP_SELECT": if (!LaunchedTeamSelect) { Client.ChampSelectDTO = dto; Client.LastPageContent = Client.Container.Content; Client.SwitchPage(new ChampSelectPage(dto.RoomName, dto.RoomPassword).Load(this)); Client.GameStatus = "championSelect"; Client.SetChatHover(); LaunchedTeamSelect = true; } break; } })); }
private void XmppOnOnMessage(object sender , Message msg) { switch (msg.Type) { case MessageType.normal: if(msg.From.Server == "conference.skylabsonline.com") { var rname = msg.From.User; MucManager m = new MucManager(_xmpp); m.JoinRoom(msg.From , msg.From.User); var theRoom = GetRoom(new NewUser(msg.From) , true); _xmpp.RosterManager.AddRosterItem(msg.From,msg.From.User); if(OnCreateRoom != null) OnCreateRoom.Invoke(this,theRoom); } break; case MessageType.error: break; case MessageType.chat: switch (msg.Chatstate) { case Chatstate.None: var nc = GetRoom(new NewUser(msg.From.Bare)); nc.OnMessage(sender , msg); break; case Chatstate.active: break; case Chatstate.inactive: break; case Chatstate.composing: break; case Chatstate.gone: break; case Chatstate.paused: break; default: throw new ArgumentOutOfRangeException(); } break; case MessageType.groupchat: { var nc = GetRoom(new NewUser(msg.From.Bare) , true); nc.OnMessage(this , msg); break; } case MessageType.headline: break; default: throw new ArgumentOutOfRangeException(); } }
/// <summary> /// Fires when the XMPP Client receives a message. /// </summary> /// <param name="sender"> /// The Sender /// </param> /// <param name="msg"> /// The Message /// </param> private void XmppOnMessage(object sender, Message msg) { switch (msg.Type) { case MessageType.normal: if (msg.From.Server == "conference." + this.client.Host) { string rname = msg.From.User; var m = new MucManager(this.xmpp); m.JoinRoom(msg.From, msg.From.User); NewChatRoom theRoom = this.GetRoom(new NewUser(msg.From), true); this.xmpp.RosterManager.AddRosterItem(msg.From, msg.From.User); this.FireOnCreateRoom(this, theRoom); } break; case MessageType.error: { NewChatRoom nc = this.GetRoom(new NewUser(msg.From.Bare), true); nc.OnMessage(this, msg); break; } case MessageType.chat: { switch (msg.Chatstate) { case Chatstate.None: // TODO Group chat whispers in the form of {roomname}@conference.server.octgn.info/{username} need to be handled here. NewChatRoom nc = this.GetRoom(new NewUser(msg.From.Bare)); nc.OnMessage(sender, msg); break; } break; } case MessageType.groupchat: { NewChatRoom nc = this.GetRoom(new NewUser(msg.From.Bare), true); nc.OnMessage(this, msg); break; } case MessageType.headline: break; } }
public ChampSelectPage(string RoomName, string RoomPassword) { InitializeComponent(); var Jid = Client.GetChatroomJid(RoomName.Replace("@sec", ""), RoomPassword, false); jid = new Jid(Jid); Chatroom = new MucManager(Client.XmppConnection); Client.XmppConnection.OnMessage += XmppConnection_OnMessage; Client.XmppConnection.OnPresence += XmppConnection_OnPresence; Chatroom.AcceptDefaultConfiguration(jid); Chatroom.JoinRoom(jid, Client.LoginPacket.AllSummonerData.Summoner.Name, RoomPassword); }
private void OnClientLogin(object sender) { var mucManager = new MucManager(_client); foreach (string room in _rooms.Union(_logRooms).Distinct()) { var jid = new Jid(room + "@" + _confhost); mucManager.JoinRoom(jid, _roomNick); Rooms.Add(room); Logger.Info(string.Format("Joined Room '{0}'", room)); } foreach (string logRoom in _logRooms) { LogRooms.Add(logRoom); } }
private void OnClientLogin(object sender) { var mucManager = new MucManager(_client); var rooms = _api.GetAllRooms(); foreach (var room in rooms.Items.Where(r => _roomList.Count == 0 || r.Name != null && _roomList.Contains(r.Name.ToUpper()))) { var roomInfo = _api.GetRoom(room.Id); _roomMap.Add(roomInfo.XmppJid, room.Id); var jid = new Jid(roomInfo.XmppJid); mucManager.JoinRoom(jid, _botUser.Name); Rooms.Add(room.Name); LogRooms.Add(room.Name); Logger.Info(string.Format("Joined Room '{0}'", room.Name)); } }
/// <summary> /// Joins the specified room. /// </summary> /// <param name="room">The room.</param> /// <returns></returns> public bool Join(Room room) { var manager = new MucManager(connection); var jid = new Jid(room.JabberId, "conf.hipchat.com", string.Empty); manager.JoinRoom(jid, current.Name); Out.WriteLine("{1:HH:mm:ss} Joined room: {0}.", room.Name, DateTime.Now); return true; }
/// <summary> /// Use this to connect to chat /// </summary> /// <param name="ChatJid"></param> /// <param name="Pass"></param> private void ConnectToChat(string ChatJid, string Pass) { string Jid = Client.GetChatroomJid(ChatJid, Pass, false); newRoom = new MucManager(Client.XmppConnection); Client.XmppConnection.OnMessage += XmppConnection_OnMessage; Client.XmppConnection.OnPresence += XmppConnection_OnPresence; jid = new Jid(ChatJid); newRoom.AcceptDefaultConfiguration(jid); newRoom.JoinRoom(jid, Client.LoginPacket.AllSummonerData.Summoner.Name, Pass); connectedToChat = true; }