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);
        }
Example #2
0
        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}");
        }
Example #4
0
 /*
  * 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();
 }