Class RestGuild


  • public class RestGuild
    extends Object
    Represents a guild entity in Discord. Guilds in Discord represent an isolated collection of users and channels, and are often referred to as "servers" in the UI.
    • Method Detail

      • create

        public static RestGuild create​(RestClient restClient,
                                       Snowflake id)
        Create a RestGuild for a given ID. This method does not perform any API request.
        Parameters:
        restClient - the client to make API requests
        id - the ID of this entity
        Returns:
        a RestGuild represented by this id.
      • getId

        public Snowflake getId()
        Returns the ID of this guild.
        Returns:
        The ID of this guild
      • getData

        public Mono<discord4j.discordjson.json.GuildUpdateData> getData​(@Nullable
                                                                        Boolean withCounts)
        Retrieve this guild's data upon subscription.
        Parameters:
        withCounts - when true, will return approximate member and presence counts for the guild too. otherwise approximate member and presence counts will be null in GuildUpdateData.
        Returns:
        a Mono where, upon successful completion, emits the GuildUpdateData belonging to this entity. If an error is received, it is emitted through the Mono.
      • getData

        public Mono<discord4j.discordjson.json.GuildUpdateData> getData()
        Retrieve this guild's data upon subscription.
        Returns:
        a Mono where, upon successful completion, emits the GuildUpdateData belonging to this entity. If an error is received, it is emitted through the Mono.
      • emoji

        public RestEmoji emoji​(Snowflake emojiId)
        Return a RestEmoji representation under this guild. This method does not perform any API request.
        Parameters:
        emojiId - the entity ID
        Returns:
        a RestEmoji with the given ID, under this guild
      • member

        public RestMember member​(Snowflake memberId)
        Return a RestMember representation under this guild. This method does not perform any API request.
        Parameters:
        memberId - the entity ID
        Returns:
        a RestMember with the given ID, under this guild
      • role

        public RestRole role​(Snowflake roleId)
        Return a RestRole representation under this guild. This method does not perform any API request.
        Parameters:
        roleId - the entity ID
        Returns:
        a RestRole with the given ID, under this guild
      • modify

        public Mono<discord4j.discordjson.json.GuildUpdateData> modify​(discord4j.discordjson.json.GuildModifyRequest request,
                                                                       @Nullable
                                                                       String reason)
        Modify a guild's settings. Requires the Permission.MANAGE_GUILD permission. Returns the updated guild object on success.
        Parameters:
        request - the modify request body
        reason - an optional reason for the audit log
        Returns:
        a Mono where, upon subscription, emits the updated GuildUpdateData on success. If an error is received, it is emitted through the Mono.
      • delete

        public Mono<Void> delete()
        Delete a guild permanently. Requires the Permission.MANAGE_GUILD permission. Returns empty on success.
        Returns:
        a Mono where, upon subscription, emits a complete signal on success. If an error is received, it is emitted through the Mono.
      • getChannels

        public Flux<discord4j.discordjson.json.ChannelData> getChannels()
        Return a Flux of guild channels.
        Returns:
        a sequence of this guild channels
      • createChannel

        public Mono<discord4j.discordjson.json.ChannelData> createChannel​(discord4j.discordjson.json.ChannelCreateRequest request,
                                                                          @Nullable
                                                                          String reason)
        Create a new channel object for the guild. Requires the Permission.MANAGE_CHANNELS permission. Returns the new channel object on success.
        Parameters:
        request - the request body
        reason - an optional reason for the audit log
        Returns:
        a Mono where, upon subscription, emits the created ChannelData on success. If an error is received, it is emitted through the Mono.
      • modifyChannelPositions

        public Flux<discord4j.discordjson.json.RoleData> modifyChannelPositions​(List<discord4j.discordjson.json.PositionModifyRequest> requests)
      • getMember

        public Mono<discord4j.discordjson.json.MemberData> getMember​(Snowflake userId)
      • getSelfMember

        public Mono<discord4j.discordjson.json.MemberData> getSelfMember()
      • getMembers

        public Flux<discord4j.discordjson.json.MemberData> getMembers()
      • searchMembers

        public Flux<discord4j.discordjson.json.MemberData> searchMembers​(Map<String,​Object> queryParams)
      • addMember

        public Mono<discord4j.discordjson.json.MemberData> addMember​(Snowflake userId,
                                                                     discord4j.discordjson.json.GuildMemberAddRequest request)
      • modifyMember

        public Mono<discord4j.discordjson.json.MemberData> modifyMember​(Snowflake userId,
                                                                        discord4j.discordjson.json.GuildMemberModifyRequest request,
                                                                        @Nullable
                                                                        String reason)
      • modifyOwnNickname

        public Mono<discord4j.discordjson.json.NicknameModifyData> modifyOwnNickname​(discord4j.discordjson.json.NicknameModifyData request)
      • getBans

        public Flux<discord4j.discordjson.json.BanData> getBans()
      • getBan

        public Mono<discord4j.discordjson.json.BanData> getBan​(Snowflake userId)
      • getRoles

        public Flux<discord4j.discordjson.json.RoleData> getRoles()
      • createRole

        public Mono<discord4j.discordjson.json.RoleData> createRole​(discord4j.discordjson.json.RoleCreateRequest request,
                                                                    @Nullable
                                                                    String reason)
      • modifyRolePositions

        public Flux<discord4j.discordjson.json.RoleData> modifyRolePositions​(List<discord4j.discordjson.json.PositionModifyRequest> requests)
      • modifyRole

        public Mono<discord4j.discordjson.json.RoleData> modifyRole​(Snowflake roleId,
                                                                    discord4j.discordjson.json.RoleModifyRequest request,
                                                                    @Nullable
                                                                    String reason)
      • getPruneCount

        public Mono<discord4j.discordjson.json.PruneData> getPruneCount​(@Nullable
                                                                        Integer days)
      • getRegions

        public Flux<discord4j.discordjson.json.RegionData> getRegions()
      • getInvites

        public Flux<discord4j.discordjson.json.InviteData> getInvites()
      • getIntegrations

        public Flux<discord4j.discordjson.json.IntegrationData> getIntegrations()
      • createIntegration

        public Mono<Void> createIntegration​(discord4j.discordjson.json.IntegrationCreateRequest request)
      • modifyIntegration

        public Mono<Void> modifyIntegration​(Snowflake integrationId,
                                            discord4j.discordjson.json.IntegrationModifyRequest request)
      • deleteIntegration

        public Mono<Void> deleteIntegration​(Snowflake integrationId)
      • getWidget

        public Mono<discord4j.discordjson.json.GuildWidgetData> getWidget()
      • modifyWidget

        public Mono<discord4j.discordjson.json.GuildWidgetData> modifyWidget​(discord4j.discordjson.json.GuildWidgetModifyRequest request)
      • getEmojis

        public Flux<discord4j.discordjson.json.EmojiData> getEmojis()
      • createEmoji

        public Mono<discord4j.discordjson.json.EmojiData> createEmoji​(discord4j.discordjson.json.GuildEmojiCreateRequest request,
                                                                      @Nullable
                                                                      String reason)
      • getWebhooks

        public Flux<discord4j.discordjson.json.WebhookData> getWebhooks()
      • getPreview

        public Mono<discord4j.discordjson.json.GuildPreviewData> getPreview()
      • getTemplates

        public Flux<discord4j.discordjson.json.TemplateData> getTemplates()
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object