Package org.javacord.core.entity.channel
Class ServerThreadChannelImpl
- java.lang.Object
-
- org.javacord.core.entity.channel.ServerChannelImpl
-
- org.javacord.core.entity.channel.ServerThreadChannelImpl
-
- All Implemented Interfaces:
java.util.Formattable
,Channel
,ChannelSpecialization
,ServerChannel
,ServerThreadChannel
,TextChannel
,Deletable
,DiscordEntity
,Mentionable
,Messageable
,Nameable
,Updatable
,UpdatableFromCache
,ChannelAttachableListenerManager
,ServerChannelAttachableListenerManager
,ServerTextChannelAttachableListenerManager
,ServerThreadChannelAttachableListenerManager
,TextChannelAttachableListenerManager
,Specializable<ChannelSpecialization>
,InternalTextChannel
,InternalChannelAttachableListenerManager
,InternalServerThreadChannelAttachableListenerManager
,InternalTextChannelAttachableListenerManager
,InternalServerChannelAttachableListenerManager
,InternalServerTextChannelAttachableListenerManager
,Cleanupable
public class ServerThreadChannelImpl extends ServerChannelImpl implements ServerThreadChannel, Cleanupable, InternalTextChannel, InternalServerTextChannelAttachableListenerManager
The implementation ofServerThreadChannel
.
-
-
Constructor Summary
Constructors Constructor Description ServerThreadChannelImpl(DiscordApiImpl api, ServerImpl server, com.fasterxml.jackson.databind.JsonNode data)
Creates a new server text channel object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.concurrent.CompletableFuture<java.lang.Void>
addThreadMember(long userId)
void
cleanup()
Does any cleanup that would prevent this instance from being eligible for garbage collection like cancelling scheduled repeated tasks or callingcleanup
on "owned" cleanupable objects.long
getLastMessageId()
int
getMemberCount()
java.util.Set<ThreadMember>
getMembers()
java.lang.String
getMentionTag()
MessageCache
getMessageCache()
int
getMessageCount()
ThreadMetadata
getMetadata()
long
getOwnerId()
RegularServerChannel
getParent()
int
getRateLimitPerUser()
int
getTotalNumberOfMessagesSent()
java.util.concurrent.CompletableFuture<java.lang.Void>
leaveThread()
java.util.concurrent.CompletableFuture<java.lang.Void>
removeThreadMember(long userId)
java.util.concurrent.CompletableFuture<ThreadMember>
requestThreadMemberById(long userId)
java.util.concurrent.CompletableFuture<java.util.Set<ThreadMember>>
requestThreadMembers()
void
setLastMessageId(long lastMessageId)
Used to set a new last message id.void
setMemberCount(int memberCount)
Used to set a new member count.void
setMembers(java.util.Set<ThreadMember> members)
Sets the members of this ServerThreadChannel.void
setMessageCount(int messageCount)
Used to set a new message count.void
setRateLimitPerUser(int rateLimitPerUser)
Used to set a new rate limit per user.void
setTotalNumberOfMessagesSent(int totalNumberOfMessagesSent)
Used to set a new total for the number of messages sent.-
Methods inherited from class org.javacord.core.entity.channel.ServerChannelImpl
delete, equals, getApi, getId, getInvites, getName, getServer, getType, hashCode, setName, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.javacord.api.entity.channel.Channel
asCategorizable, asChannelCategory, asPrivateChannel, asRegularServerChannel, asServerChannel, asServerForumChannel, asServerStageVoiceChannel, asServerTextChannel, asServerThreadChannel, asServerVoiceChannel, asTextableRegularServerChannel, asTextChannel, asVoiceChannel, canYouSee, getType
-
Methods inherited from interface org.javacord.api.entity.Deletable
delete, delete, deleteAfter, deleteAfter, deleteAfter, deleteAfter, getApi
-
Methods inherited from interface org.javacord.api.entity.DiscordEntity
getApi, getCreationTimestamp, getId, getIdAsString
-
Methods inherited from interface org.javacord.core.listener.channel.InternalChannelAttachableListenerManager
addChannelAttachableListener, getChannelAttachableListeners, removeChannelAttachableListener, removeListener
-
Methods inherited from interface org.javacord.core.listener.channel.server.InternalServerChannelAttachableListenerManager
addServerChannelAttachableListener, addServerChannelChangeNameListener, addServerChannelChangeOverwrittenPermissionsListener, addServerChannelChangePositionListener, addServerChannelDeleteListener, addVoiceStateUpdateListener, getServerChannelAttachableListeners, getServerChannelChangeNameListeners, getServerChannelChangeOverwrittenPermissionsListeners, getServerChannelChangePositionListeners, getServerChannelDeleteListeners, getVoiceStateUpdateListeners, removeListener, removeServerChannelAttachableListener
-
Methods inherited from interface org.javacord.core.listener.channel.server.text.InternalServerTextChannelAttachableListenerManager
addServerChannelChangeNsfwFlagListener, addServerTextChannelAttachableListener, addServerTextChannelChangeDefaultAutoArchiveDurationListener, addServerTextChannelChangeSlowmodeListener, addServerTextChannelChangeTopicListener, addWebhooksUpdateListener, getApi, getId, getServerChannelChangeNsfwFlagListeners, getServerTextChannelAttachableListeners, getServerTextChannelChangeDefaultAutoArchiveDurationListeners, getServerTextChannelChangeSlowmodeListeners, getServerTextChannelChangeTopicListeners, getWebhooksUpdateListeners, removeListener, removeServerTextChannelAttachableListener
-
Methods inherited from interface org.javacord.core.listener.channel.InternalServerThreadChannelAttachableListenerManager
addServerPrivateThreadJoinListener, addServerThreadChannelAttachableListener, addServerThreadChannelChangeArchivedListener, addServerThreadChannelChangeArchiveTimestampListener, addServerThreadChannelChangeAutoArchiveDurationListener, addServerThreadChannelChangeInvitableListener, addServerThreadChannelChangeLastMessageIdListener, addServerThreadChannelChangeLockedListener, addServerThreadChannelChangeMemberCountListener, addServerThreadChannelChangeMessageCountListener, addServerThreadChannelChangeRateLimitPerUserListener, addServerThreadChannelChangeTotalMessageSentListener, addServerThreadChannelCreateListener, addServerThreadChannelDeleteListener, addServerThreadChannelMembersUpdateListener, addServerThreadChannelUpdateListener, getServerPrivateThreadJoinListeners, getServerThreadChannelAttachableListeners, getServerThreadChannelChangeArchivedListeners, getServerThreadChannelChangeArchiveTimestampListeners, getServerThreadChannelChangeAutoArchiveDurationListeners, getServerThreadChannelChangeInvitableListeners, getServerThreadChannelChangeLastMessageIdListeners, getServerThreadChannelChangeLockedListeners, getServerThreadChannelChangeMemberCountListeners, getServerThreadChannelChangeMessageCountListeners, getServerThreadChannelChangeRateLimitPerUserListeners, getServerThreadChannelChangeTotalMessageSentListeners, getServerThreadChannelCreateListeners, getServerThreadChannelDeleteListeners, getServerThreadChannelMembersUpdateListeners, getServerThreadChannelUpdateListeners, removeListener, removeServerThreadChannelAttachableListener
-
Methods inherited from interface org.javacord.core.entity.channel.InternalTextChannel
bulkDelete, getAllIncomingWebhooks, getIncomingWebhooks, getMessageById, getMessages, getMessagesAfter, getMessagesAfterAsStream, getMessagesAfterUntil, getMessagesAfterWhile, getMessagesAround, getMessagesAroundAsStream, getMessagesAroundUntil, getMessagesAroundWhile, getMessagesAsStream, getMessagesBefore, getMessagesBeforeAsStream, getMessagesBeforeUntil, getMessagesBeforeWhile, getMessagesBetween, getMessagesBetweenAsStream, getMessagesBetweenUntil, getMessagesBetweenWhile, getMessagesUntil, getMessagesWhile, getPins, getWebhooks, type
-
Methods inherited from interface org.javacord.core.listener.channel.InternalTextChannelAttachableListenerManager
addAutocompleteCreateListener, addButtonClickListener, addCachedMessagePinListener, addCachedMessageUnpinListener, addChannelPinsUpdateListener, addInteractionCreateListener, addMessageComponentCreateListener, addMessageContextMenuCommandListener, addMessageCreateListener, addMessageDeleteListener, addMessageEditListener, addMessageReplyListener, addModalSubmitListener, addReactionAddListener, addReactionRemoveAllListener, addReactionRemoveListener, addSelectMenuChooseListener, addSlashCommandCreateListener, addTextChannelAttachableListener, addUserContextMenuCommandListener, addUserStartTypingListener, getAutocompleteCreateListeners, getButtonClickListeners, getCachedMessagePinListeners, getCachedMessageUnpinListeners, getChannelPinsUpdateListeners, getInteractionCreateListeners, getMessageComponentCreateListeners, getMessageContextMenuCommandListeners, getMessageCreateListeners, getMessageDeleteListeners, getMessageEditListeners, getMessageReplyListeners, getModalSubmitListeners, getReactionAddListeners, getReactionRemoveAllListeners, getReactionRemoveListeners, getSelectMenuChooseListeners, getSlashCommandCreateListeners, getTextChannelAttachableListeners, getUserContextMenuCommandListeners, getUserStartTypingListeners, removeListener, removeTextChannelAttachableListener
-
Methods inherited from interface org.javacord.api.entity.message.Messageable
sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage
-
Methods inherited from interface org.javacord.api.entity.channel.ServerChannel
createInviteBuilder, getInvites, getServer, updateName
-
Methods inherited from interface org.javacord.api.entity.channel.ServerThreadChannel
addThreadMember, canAddNewReactions, canAttachFiles, canEmbedLinks, canManageMessages, canMentionEveryone, canReadMessageHistory, canSee, canUseExternalEmojis, canUseTts, canWrite, createUpdater, getCurrentCachedInstance, getLatestInstance, getThreadMembers, isPrivate, isPublic, joinThread, removeThreadMember, requestOwner, requestThreadMemberById
-
Methods inherited from interface org.javacord.api.util.Specializable
as
-
Methods inherited from interface org.javacord.api.entity.channel.TextChannel
bulkDelete, bulkDelete, bulkDelete, canRemoveReactionsOfOthers, canYouAddNewReactions, canYouAttachFiles, canYouEmbedLinks, canYouManageMessages, canYouMentionEveryone, canYouReadMessageHistory, canYouRemoveReactionsOfOthers, canYouUseExternalEmojis, canYouUseTts, canYouWrite, deleteMessages, deleteMessages, deleteMessages, deleteMessages, getCurrentCachedInstance, getLatestInstance, getMessageById, getMessagesAfter, getMessagesAfterAsStream, getMessagesAfterUntil, getMessagesAfterWhile, getMessagesAround, getMessagesAroundAsStream, getMessagesAroundUntil, getMessagesAroundWhile, getMessagesBefore, getMessagesBeforeAsStream, getMessagesBeforeUntil, getMessagesBeforeWhile, getMessagesBetween, getMessagesBetweenAsStream, getMessagesBetweenUntil, getMessagesBetweenWhile, typeContinuously, typeContinuously, typeContinuouslyAfter, typeContinuouslyAfter
-
-
-
-
Constructor Detail
-
ServerThreadChannelImpl
public ServerThreadChannelImpl(DiscordApiImpl api, ServerImpl server, com.fasterxml.jackson.databind.JsonNode data)
Creates a new server text channel object.- Parameters:
api
- The discord api instance.server
- The server of the channel.data
- The json data of the channel.
-
-
Method Detail
-
setMessageCount
public void setMessageCount(int messageCount)
Used to set a new message count.- Parameters:
messageCount
- The new message count.
-
setMemberCount
public void setMemberCount(int memberCount)
Used to set a new member count.- Parameters:
memberCount
- The new member count.
-
setLastMessageId
public void setLastMessageId(long lastMessageId)
Used to set a new last message id.- Parameters:
lastMessageId
- The new last message id.
-
setRateLimitPerUser
public void setRateLimitPerUser(int rateLimitPerUser)
Used to set a new rate limit per user.- Parameters:
rateLimitPerUser
- The new rate limit per user.
-
setTotalNumberOfMessagesSent
public void setTotalNumberOfMessagesSent(int totalNumberOfMessagesSent)
Used to set a new total for the number of messages sent.- Parameters:
totalNumberOfMessagesSent
- The new total for the number of messages sent.
-
getParent
public RegularServerChannel getParent()
- Specified by:
getParent
in interfaceServerThreadChannel
-
getMessageCount
public int getMessageCount()
- Specified by:
getMessageCount
in interfaceServerThreadChannel
-
getMemberCount
public int getMemberCount()
- Specified by:
getMemberCount
in interfaceServerThreadChannel
-
getLastMessageId
public long getLastMessageId()
- Specified by:
getLastMessageId
in interfaceServerThreadChannel
-
getMetadata
public ThreadMetadata getMetadata()
- Specified by:
getMetadata
in interfaceServerThreadChannel
-
getOwnerId
public long getOwnerId()
- Specified by:
getOwnerId
in interfaceServerThreadChannel
-
getMembers
public java.util.Set<ThreadMember> getMembers()
- Specified by:
getMembers
in interfaceServerThreadChannel
-
addThreadMember
public java.util.concurrent.CompletableFuture<java.lang.Void> addThreadMember(long userId)
- Specified by:
addThreadMember
in interfaceServerThreadChannel
-
removeThreadMember
public java.util.concurrent.CompletableFuture<java.lang.Void> removeThreadMember(long userId)
- Specified by:
removeThreadMember
in interfaceServerThreadChannel
-
leaveThread
public java.util.concurrent.CompletableFuture<java.lang.Void> leaveThread()
- Specified by:
leaveThread
in interfaceServerThreadChannel
-
requestThreadMemberById
public java.util.concurrent.CompletableFuture<ThreadMember> requestThreadMemberById(long userId)
- Specified by:
requestThreadMemberById
in interfaceServerThreadChannel
-
requestThreadMembers
public java.util.concurrent.CompletableFuture<java.util.Set<ThreadMember>> requestThreadMembers()
- Specified by:
requestThreadMembers
in interfaceServerThreadChannel
-
getTotalNumberOfMessagesSent
public int getTotalNumberOfMessagesSent()
- Specified by:
getTotalNumberOfMessagesSent
in interfaceServerThreadChannel
-
getRateLimitPerUser
public int getRateLimitPerUser()
- Specified by:
getRateLimitPerUser
in interfaceServerThreadChannel
-
setMembers
public void setMembers(java.util.Set<ThreadMember> members)
Sets the members of this ServerThreadChannel.- Parameters:
members
- The new members.
-
getMessageCache
public MessageCache getMessageCache()
- Specified by:
getMessageCache
in interfaceTextChannel
-
getMentionTag
public java.lang.String getMentionTag()
- Specified by:
getMentionTag
in interfaceMentionable
-
cleanup
public void cleanup()
Description copied from interface:Cleanupable
Does any cleanup that would prevent this instance from being eligible for garbage collection like cancelling scheduled repeated tasks or callingcleanup
on "owned" cleanupable objects. This method has to be thread-safe and idempotent.- Specified by:
cleanup
in interfaceCleanupable
-
-