public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage message, Yupi.Protocol.IRouter router) { int targetId = message.GetInteger(); int type = message.GetInteger(); Relationship relationship = session.Info.Relationships.FindByUser(targetId); if (relationship == default(Relationship)) { relationship = new Relationship() { Friend = UserRepository.Find(targetId), Type = type }; session.Info.Relationships.Relationships.Add(relationship); } else { relationship.Type = type; } UserRepository.Save(session.Info); MessengerController.UpdateUser(session.Info); }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, ClientMessage message, Yupi.Protocol.IRouter router) { int reportedId = message.GetInteger(); UserInfo reportedUser = DependencyFactory.Resolve <IRepository <UserInfo> >().Find(reportedId); throw new NotImplementedException(); /* * SupportTicket ticket = new SupportTicket() * { * Category = 104, * Type = 9, * ReportedUser = reportedUser * }; * * DependencyFactory.Resolve<ModerationTool>().Tickets.Add(ticket); */ router.GetComposer <BullyReportSentMessageComposer>().Compose(session); /* TODO Implement * router.GetComposer<ModerationToolIssueMessageComposer>() * .Compose(DependencyFactory.Resolve<StaffSender>(), ticket); */ throw new NotImplementedException(); }
public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage message, Yupi.Protocol.IRouter router) { if (!session.Info.HasPermission("send_ambassador_alert")) { return; } int userId = message.GetInteger(); Habbo user = ClientManager.GetByUserId(userId); user.Router.GetComposer <SuperNotificationMessageComposer>() .Compose(user, "${notification.ambassador.alert.warning.title}", "${notification.ambassador.alert.warning.message}"); }
/* * TODO * Also handles the following: UseHabboWheelMessageEvent, TriggerWallItemMessageEvent, EnterOneWayDoorMessageEvent, TriggerDiceRollMessageEvent */ public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage request, Yupi.Protocol.IRouter router) { /* * Yupi.Messages.Rooms room = Yupi.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId); * * if (room == null) * return; * * int num = request.GetInteger(); * * if (num < 0) * return; * * uint pId = Convert.ToUInt32(num); * * RoomItem item = room.GetRoomItemHandler().GetItem(pId); * * if (item == null) * return; * * bool hasRightsOne = room.CheckRights(session, false, true); * bool hasRightsTwo = room.CheckRights(session, true); * * switch (item.GetBaseItem().InteractionType) * { * case Interaction.RoomBg: * { * if (!hasRightsTwo) * return; * * room.TonerData.Enabled = room.TonerData.Enabled == 0 ? 1 : 0; * router.GetComposer<UpdateRoomItemMessageComposer> ().Compose (room, item); * * item.UpdateState(); * * using (IQueryAdapter queryReactor = Yupi.GetDatabaseManager().GetQueryReactor()) * queryReactor.RunFastQuery( * $"UPDATE items_toners SET enabled = '{room.TonerData.Enabled}' LIMIT 1"); * * return; * } * case Interaction.LoveShuffler: * case Interaction.LoveLock: * { * if (!hasRightsOne) * return; * * TriggerLoveLock(router, session, item); * * return; * } * case Interaction.Moplaseed: * case Interaction.RareMoplaSeed: * { * if (!hasRightsOne) * return; * * PlantMonsterplant(router, session, item, room); * * return; * } * } * * item.Interactor.OnTrigger(session, item, request.GetInteger(), hasRightsOne); * item.OnTrigger(room.GetRoomUserManager().GetRoomUserByHabbo(session.GetHabbo().Id)); * * foreach (RoomUser current in room.GetRoomUserManager().UserList.Values.Where(current => current != null)) * room.GetRoomUserManager().UpdateUserStatus(current, true); */ throw new NotImplementedException(); }