Class BanUserRequest

  • All Implemented Interfaces:
    sfs2x.client.requests.IRequest

    public class BanUserRequest
    extends BaseRequest
    Banishes a user from the server.

    The current user must have administration or moderation privileges in order to be able to ban another user (see the User.privilegeId property). The user can be banned by name or by IP address (see the BanMode class). Also, the request allows sending a message to the banned user (to make clear the reason of the following disconnection) which is delivered by means of the moderatorMessage event.

    Differently from the user being kicked (see the KickUserRequest request), a banned user won't be able to connect to the SmartFoxServer instance until the banishment expires (after 24 hours for client-side banning) or an administrator removes his name/IP address from the list of banned users by means of the SmartFoxServer 2X Administration Tool.

    Example
    The following example bans the user Jack from the system:

     private void someMethod() {
         User userToBan = sfs.getUserManager().getUserByName("Jack");
         sfs.send(new BanUserRequest(userToBan.getId()));
     }
     
    See Also:
    SFSEvent.MODERATOR_MESSAGE, User.getPrivilegeId(), BanMode, KickUserRequest
    • Field Detail

      • KEY_USER_ID

        public static final java.lang.String KEY_USER_ID
        * API internal usage only *
        See Also:
        Constant Field Values
      • KEY_MESSAGE

        public static final java.lang.String KEY_MESSAGE
        * API internal usage only *
        See Also:
        Constant Field Values
      • KEY_DELAY

        public static final java.lang.String KEY_DELAY
        * API internal usage only *
        See Also:
        Constant Field Values
      • KEY_BAN_MODE

        public static final java.lang.String KEY_BAN_MODE
        * API internal usage only *
        See Also:
        Constant Field Values
      • KEY_BAN_DURATION_HOURS

        public static final java.lang.String KEY_BAN_DURATION_HOURS
        * API internal usage only *
        See Also:
        Constant Field Values
    • Constructor Detail

      • BanUserRequest

        public BanUserRequest​(int userId,
                              java.lang.String message,
                              int banMode,
                              int delaySeconds,
                              int durationHours)
        Creates a new BanUserRequest instance. The instance must be passed to the SmartFox.send() method for the request to be performed.
        Parameters:
        userId - The id of the user to be banned.
        message - A custom message to be delivered to the user before banning him; if null, the default message configured in the SmartFoxServer 2X Administration Tool is used.
        banMode - One of the ban modes defined in the BanMode class.
        delaySeconds - The number of seconds after which the user is banned after receiving the ban message.
        durationHours - The duration of the banishment, expressed in hours.
        See Also:
        SmartFox.send(sfs2x.client.requests.IRequest), BanMode
    • Method Detail

      • validate

        public void validate​(ISmartFox sfs)
                      throws sfs2x.client.exceptions.SFSValidationException
        * API internal usage only *
        Throws:
        sfs2x.client.exceptions.SFSValidationException
      • execute

        public void execute​(ISmartFox sfs)
        * API internal usage only *