예제 #1
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            #region Params
            if (Params.Length < 2)
            {
                Session.SendWhisper("Comando inválido, use :fazerchat <nomedochat>", 1);
                return;
            }

            string NewChatName = Convert.ToString(Params[1]);
            #endregion

            #region Conditions

            if (Session.GetRoleplay().BannedFromMakingChat)
            {
                Session.SendWhisper("Você está permanentemente banido de fazer salas de bate-papo!", 1);
                return;
            }
            if (!Session.GetRoleplay().PhoneApps.Contains("whatsapp"))
            {
                Session.SendWhisper("Você precisa do App WhatsApp para fazer isso!", 1);
                return;
            }

            if (WebSocketChatManager.RunningChatRooms.ContainsKey(NewChatName.ToLower()))
            {
                Session.SendWhisper("Esse chat (" + NewChatName.ToLower() + ") já existe! Escolha outro nome!", 1);
                return;
            }

            if ((WebSocketChatManager.RunningChatRooms.Values.Where(Runningchat => Runningchat != null).Where(Runningchat => Runningchat.ChatOwner == Session.GetHabbo().Id).ToList().Count > 0) && Session.GetHabbo().VIPRank < 2)
            {
                Session.SendWhisper("Você só pode criar um bate-papo por vez!", 1);
                return;
            }

            Regex regexItem = new Regex("^[a-zA-Z0-9]*$");
            if (!regexItem.IsMatch(NewChatName))
            {
                Session.SendWhisper("Nome do bate-papo inválido! Remova todos os caracteres especiais!", 1);
                return;
            }
            #endregion

            #region Execute
            WebSocketChatRoom NewChatRoom = new WebSocketChatRoom(NewChatName, Session.GetHabbo().Id, new Dictionary <object, object>()
            {
                { "password", "" }, { "gang", 0 }, { "locked", false }
            }, new List <int>()
            {
            }, false);
            if (NewChatRoom.OnUserJoin(Session))
            {
                NewChatRoom.BeginChatJoin(Session);
                Session.Shout("*Cria um novo bate-papo no WhatsApp com seu " + RoleplayManager.GetPhoneName(Session) + "*", 4);
            }
            #endregion
        }
예제 #2
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            #region Variables
            if (Params.Length < 2)
            {
                Session.SendWhisper("Comando inválido! Use :ctrancar <nomedochat>", 1);
                return;
            }

            string ChatName = Convert.ToString(Params[2]);
            #endregion

            #region Conditions

            if (!WebSocketChatManager.RunningChatRooms.ContainsKey(ChatName.ToLower()))
            {
                Session.SendWhisper("Este chat '" + ChatName.ToLower() + "' não existe!", 1);
                return;
            }

            WebSocketChatRoom Chat = WebSocketChatManager.RunningChatRooms[ChatName.ToLower()];

            if (Chat == null)
            {
                Session.SendWhisper("Ocorreu um erro, este bate-papo não existe!", 1);
                return;
            }

            if (Chat.ChatOwner != Session.GetHabbo().Id&& Session.GetHabbo().VIPRank <= 1)
            {
                Session.SendWhisper("Você deve ser o proprietário desta conversa para fazer isso!", 1);
                return;
            }

            #endregion

            #region Execute

            bool CurrentLocked = Convert.ToBoolean(Chat.ChatValues["locked"]);

            if (CurrentLocked)
            {
                Chat.ChatValues["locked"] = false;
                Session.SendWhisper("Desbloqueado com sucesso o bate-papo '" + Chat.ChatName + "'", 1);
            }
            else
            {
                Chat.ChatValues["locked"] = true;
                Session.SendWhisper("Bloqueou com sucesso o bate-papo '" + Chat.ChatName + "'", 1);
            }

            #endregion
        }
예제 #3
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            #region Params
            if (Params.Length < 2)
            {
                Session.SendWhisper("Comando inválido!", 1);
                return;
            }

            string InputtedChatName = Convert.ToString(Params[1]);

            WebSocketChatRoom NewChatRoom = WebSocketChatManager.GetChatByName(InputtedChatName.ToLower());

            #endregion

            #region Conditions
            if (Session.GetRoleplay().BannedFromChatting)
            {
                Session.SendWhisper("Você está proibido de se juntar a qualquer Grupo do WhatsApp!", 1);
                return;
            }

            if (NewChatRoom == null)
            {
                Session.SendWhisper("O bate-papo não existe!", 1);
                return;
            }

            if (!Session.GetRoleplay().PhoneApps.Contains("whatsapp"))
            {
                Session.SendWhisper("Você precisa do Aplicativo Whatsapp para fazer isso! Digite :baixar whatsapp.", 1);
                return;
            }
            #endregion

            #region Execute

            PlusEnvironment.GetGame().GetWebEventManager().ExecuteWebEvent(Session, "event_chatroom", JsonConvert.SerializeObject(new Dictionary <object, object>()
            {
                { "action", "requestjoin" },
                { "chatname", NewChatRoom.ChatName },
            }));

            #endregion
        }
예제 #4
0
        public void Execute(GameClients.GameClient Session, Rooms.Room Room, string[] Params)
        {
            #region Variables
            if (Params.Length < 2)
            {
                Session.SendWhisper("Comando inválido, use :delchat <nomedochat>", 1);
                return;
            }

            bool BanUserFromMaking   = false;
            bool BanUserFromChatting = false;

            if (Params.Length >= 3)
            {
                if (Convert.ToString(Params[2]).ToLower().StartsWith("sim"))
                {
                    BanUserFromMaking = true;
                }
            }

            if (Params.Length == 4)
            {
                if (Convert.ToString(Params[3]).ToLower().StartsWith("sim"))
                {
                    BanUserFromChatting = true;
                }
            }

            string ChatName = Convert.ToString(Params[1]);

            #endregion

            #region Conditions

            if (!WebSocketChatManager.RunningChatRooms.ContainsKey(ChatName.ToLower()))
            {
                Session.SendWhisper("Este bate-papo '" + ChatName.ToLower() + "' não existe!", 1);
                return;
            }

            WebSocketChatRoom Chat = WebSocketChatManager.RunningChatRooms[ChatName.ToLower()];

            if (Chat == null)
            {
                Session.SendWhisper("Ocorreu um erro, este bate-papo não existe!", 1);
                return;
            }
            #endregion

            #region Execute

            GameClient ChatOwner = null;

            if (Chat.ChatOwner > 0)
            {
                ChatOwner = PlusEnvironment.GetGame().GetClientManager().GetClientByUserID(Chat.ChatOwner);

                using (IQueryAdapter DB = PlusEnvironment.GetDatabaseManager().GetQueryReactor())
                {
                    if (BanUserFromChatting)
                    {
                        if (ChatOwner == null)
                        {
                            DB.RunQuery("UPDATE rp_stats SET wchat_banned = '1' WHERE id = '" + Chat.ChatOwner + "'");
                        }
                        else
                        {
                            ChatOwner.GetRoleplay().BannedFromChatting = true;
                            ChatOwner.SendWhisper("Você foi impedido de poder se juntar a uma sala de bate-papo ");
                        }
                    }

                    if (BanUserFromMaking)
                    {
                        if (ChatOwner == null)
                        {
                            DB.RunQuery("UPDATE rp_stats SET wchat_making_banned = '1' WHERE id = '" + Chat.ChatOwner + "'");
                        }
                        else
                        {
                            ChatOwner.GetRoleplay().BannedFromMakingChat = true;
                            ChatOwner.SendWhisper("Você foi impedido de poder se juntar a uma sala de bate-papo");
                        }
                    }
                }
            }
            else
            {
                if (BanUserFromChatting || BanUserFromMaking)
                {
                    Session.SendWhisper("Não havia nenhum proprietário para este bate-papo, então não tem ninguém para proibir", 1);
                }
            }

            Session.SendWhisper("Excluiu o bate-papo com sucesso '" + Chat.ChatName + "'. O dono foi notificado!");

            if (ChatOwner != null)
            {
                ChatOwner.SendWhisper("Seu chat '" + Chat.ChatName + "' foi excluído por um membro da equipe!");
            }

            WebSocketChatManager.DeleteChat(Chat);

            #endregion
        }