Interface GuildMessageChannel
- All Superinterfaces:
Channel,Comparable<GuildChannel>,Formattable,GuildChannel,IMentionable,ISnowflake,MessageChannel
- All Known Subinterfaces:
GuildMessageChannelUnion,NewsChannel,StandardGuildMessageChannel,TextChannel,ThreadChannel,VoiceChannel
StandardGuildMessageChannel, such as ThreadChannel.- See Also:
-
Field Summary
Fields inherited from interface net.dv8tion.jda.api.entities.GuildChannel
JUMP_URL -
Method Summary
Modifier and TypeMethodDescriptiondefault booleancanTalk()Whether the currently logged in user can send messages in this channel or not.booleanWhether the specifiedMembercan send messages in this channel.default RestAction<Void>clearReactionsById(long messageId) Attempts to remove all reactions from a message with the specifiedmessageIdin this TextChannel
This is useful for moderator commands that wish to remove all reactions at once from a specific message.default RestAction<Void>clearReactionsById(long messageId, Emoji emoji) Removes all reactions for the specified emoji.clearReactionsById(String messageId) Attempts to remove all reactions from a message with the specifiedmessageIdin this TextChannel
This is useful for moderator commands that wish to remove all reactions at once from a specific message.clearReactionsById(String messageId, Emoji emoji) Removes all reactions for the specified emoji.default RestAction<Void>deleteMessages(Collection<Message> messages) Bulk deletes a list of messages.deleteMessagesByIds(Collection<String> messageIds) Bulk deletes a list of messages.default RestAction<Void>removeReactionById(long messageId, Emoji emoji, User user) Attempts to remove the reaction from a message represented by the specifiedmessageIdin this MessageChannel.removeReactionById(String messageId, Emoji emoji, User user) Attempts to remove the reaction from a message represented by the specifiedmessageIdin this MessageChannel.sendStickers(Collection<? extends StickerSnowflake> stickers) Send up to 3 stickers in this channel.default MessageCreateActionsendStickers(StickerSnowflake... stickers) Send up to 3 stickers in this channel.Methods inherited from interface net.dv8tion.jda.api.entities.Channel
formatTo, getAsMention, getJDA, getName, getTypeMethods inherited from interface java.lang.Comparable
compareToMethods inherited from interface net.dv8tion.jda.api.entities.GuildChannel
delete, getGuild, getJumpUrl, getManager, getPermissionContainerMethods inherited from interface net.dv8tion.jda.api.entities.ISnowflake
getId, getIdLong, getTimeCreatedMethods inherited from interface net.dv8tion.jda.api.entities.MessageChannel
addReactionById, addReactionById, deleteMessageById, deleteMessageById, editMessageAttachmentsById, editMessageAttachmentsById, editMessageAttachmentsById, editMessageAttachmentsById, editMessageById, editMessageById, editMessageById, editMessageById, editMessageComponentsById, editMessageComponentsById, editMessageComponentsById, editMessageComponentsById, editMessageEmbedsById, editMessageEmbedsById, editMessageEmbedsById, editMessageEmbedsById, editMessageFormatById, editMessageFormatById, getHistory, getHistoryAfter, getHistoryAfter, getHistoryAfter, getHistoryAround, getHistoryAround, getHistoryAround, getHistoryBefore, getHistoryBefore, getHistoryBefore, getHistoryFromBeginning, getIterableHistory, getLatestMessageId, getLatestMessageIdLong, pinMessageById, pinMessageById, purgeMessages, purgeMessages, purgeMessagesById, purgeMessagesById, purgeMessagesById, removeReactionById, removeReactionById, retrieveMessageById, retrieveMessageById, retrievePinnedMessages, retrieveReactionUsersById, retrieveReactionUsersById, sendFiles, sendFiles, sendMessage, sendMessage, sendMessageComponents, sendMessageComponents, sendMessageEmbeds, sendMessageEmbeds, sendMessageFormat, sendTyping, unpinMessageById, unpinMessageById
-
Method Details
-
canTalk
default boolean canTalk()Description copied from interface:MessageChannelWhether the currently logged in user can send messages in this channel or not.
ForGuildMessageChannelthis method checks for bothPermission.VIEW_CHANNELandPermission.MESSAGE_SEND.
ForThreadChannelthis method checks forPermission.MESSAGE_SEND_IN_THREADSinstead ofPermission.MESSAGE_SEND.
ForPrivateChannelthis method checks if the user that this PrivateChannel communicates with is not a bot, but it does not check if the said user blocked the currently logged in user or have their DMs disabled.- Specified by:
canTalkin interfaceMessageChannel- Returns:
- True, if we are able to read and send messages in this channel
-
canTalk
Whether the specifiedMembercan send messages in this channel.
Checks for bothPermission.VIEW_CHANNELandPermission.MESSAGE_SEND.- Parameters:
member- The Member to check- Returns:
- True, if the specified member is able to read and send messages in this channel
-
removeReactionById
@Nonnull @CheckReturnValue RestAction<Void> removeReactionById(@Nonnull String messageId, @Nonnull Emoji emoji, @Nonnull User user) Attempts to remove the reaction from a message represented by the specifiedmessageIdin this MessageChannel.The following
ErrorResponsesare possible:MISSING_ACCESS
The request was attempted after the account lost access to theGuildtypically due to being kicked or removed, or afterPermission.VIEW_CHANNELwas revoked in theTextChannel
Also can happen if the account lost thePermission.MESSAGE_HISTORYMISSING_PERMISSIONS
The request was attempted after the account lostPermission.MESSAGE_ADD_REACTIONin theTextChannel.ErrorResponse.UNKNOWN_EMOJI
The provided unicode character does not refer to a known emoji unicode character.
Proper unicode characters for emojis can be found here: Emoji TableUNKNOWN_MESSAGE
The providedmessageIdis unknown in this MessageChannel, either due to the id being invalid, or the message it referred to has already been deleted.UNKNOWN_CHANNEL
The request was attempted after the channel was deleted.
- Parameters:
messageId- The messageId to remove the reaction fromemoji- The emoji to removeuser- The target user of which to remove from- Returns:
RestAction- Throws:
IllegalArgumentException-- If provided
messageIdisnullor empty. - If provided
emojiisnull.
- If provided
InsufficientPermissionException- If the currently logged in account does not havePermission.MESSAGE_MANAGEin this channel.
-
removeReactionById
@Nonnull @CheckReturnValue default RestAction<Void> removeReactionById(long messageId, @Nonnull Emoji emoji, @Nonnull User user) Attempts to remove the reaction from a message represented by the specifiedmessageIdin this MessageChannel.The following
ErrorResponsesare possible:MISSING_ACCESS
The request was attempted after the account lost access to theGuildtypically due to being kicked or removed, or afterPermission.VIEW_CHANNELwas revoked in theTextChannel
Also can happen if the account lost thePermission.MESSAGE_HISTORYMISSING_PERMISSIONS
The request was attempted after the account lostPermission.MESSAGE_ADD_REACTIONin theTextChannel.ErrorResponse.UNKNOWN_EMOJI
The provided unicode character does not refer to a known emoji unicode character.
Proper unicode characters for emojis can be found here: Emoji TableUNKNOWN_MESSAGE
The providedmessageIdis unknown in this MessageChannel, either due to the id being invalid, or the message it referred to has already been deleted.UNKNOWN_CHANNEL
The request was attempted after the channel was deleted.
- Parameters:
messageId- The messageId to remove the reaction fromemoji- The emoji to removeuser- The target user of which to remove from- Returns:
RestAction- Throws:
IllegalArgumentException-- If provided
messageIdisnullor empty. - If provided
emojiisnull.
- If provided
InsufficientPermissionException- If the currently logged in account does not havePermission.MESSAGE_MANAGEin this channel.
-
deleteMessages
@Nonnull @CheckReturnValue default RestAction<Void> deleteMessages(@Nonnull Collection<Message> messages) Bulk deletes a list of messages. This is not the same as callingMessage.delete()in a loop.
This is much more efficient, but it has a different ratelimit. You may call this once per second per Guild.Must be at least 2 messages and not be more than 100 messages at a time.
If you only have 1 message, use theMessage.delete()method instead.You must have the Permission
MESSAGE_MANAGEin this channel to use this function.This method is best used when using
MessageHistoryto delete a large amount of messages. If you have a large amount of messages but only their message Ids, please usedeleteMessagesByIds(Collection)Possible ErrorResponses include:
UNKNOWN_CHANNEL
if this channel was deletedUNKNOWN_MESSAGE
if any of the provided messages does not existMISSING_ACCESS
if we were removed from the guildMISSING_PERMISSIONS
The send request was attempted after the account lostPermission.MESSAGE_MANAGEin the channel.
- Parameters:
messages- The collection of messages to delete.- Returns:
AuditableRestAction- Throws:
IllegalArgumentException- If the size of the list less than 2 or more than 100 messages.InsufficientPermissionException- If this account does not havePermission.MESSAGE_MANAGE- See Also:
-
deleteMessagesByIds
@Nonnull @CheckReturnValue RestAction<Void> deleteMessagesByIds(@Nonnull Collection<String> messageIds) Bulk deletes a list of messages. This is not the same as callingMessageChannel.deleteMessageById(String)in a loop.
This is much more efficient, but it has a different ratelimit. You may call this once per second per Guild.Must be at least 2 messages and not be more than 100 messages at a time.
If you only have 1 message, use theMessage.delete()method instead.You must have
Permission.MESSAGE_MANAGEin this channel to use this function.This method is best used when you have a large amount of messages but only their message Ids. If you are using
MessageHistoryor haveMessageobjects, it would be easier to usedeleteMessages(java.util.Collection).Possible ErrorResponses include:
UNKNOWN_CHANNEL
if this channel was deletedUNKNOWN_MESSAGE
if any of the provided messages does not existMISSING_ACCESS
if we were removed from the guildMISSING_PERMISSIONS
The send request was attempted after the account lostPermission.MESSAGE_MANAGEin the channel.
- Parameters:
messageIds- The message ids for the messages to delete.- Returns:
AuditableRestAction- Throws:
IllegalArgumentException- If the size of the list less than 2 or more than 100 messages.NumberFormatException- If any of the provided ids cannot be parsed byLong.parseLong(String)InsufficientPermissionException- If this account does not havePermission.MESSAGE_MANAGE- See Also:
-
clearReactionsById
Attempts to remove all reactions from a message with the specifiedmessageIdin this TextChannel
This is useful for moderator commands that wish to remove all reactions at once from a specific message.The following
ErrorResponsesare possible:MISSING_ACCESS
The clear-reactions request was attempted after the account lost access to theTextChanneldue toPermission.VIEW_CHANNELbeing revoked, or the account lost access to theGuildtypically due to being kicked or removed.MISSING_PERMISSIONS
The clear-reactions request was attempted after the account lostPermission.MESSAGE_MANAGEin theTextChannelwhen adding the reaction.UNKNOWN_MESSAGEThe clear-reactions request was attempted after the Message had been deleted.
- Parameters:
messageId- The not-empty valid message id- Returns:
AuditableRestAction- Throws:
InsufficientPermissionException- If the currently logged in account does not havePermission.MESSAGE_MANAGEin this channel.IllegalArgumentException- If the providedidisnullor empty.
-
clearReactionsById
Attempts to remove all reactions from a message with the specifiedmessageIdin this TextChannel
This is useful for moderator commands that wish to remove all reactions at once from a specific message.The following
ErrorResponsesare possible:MISSING_ACCESS
The clear-reactions request was attempted after the account lost access to theTextChanneldue toPermission.VIEW_CHANNELbeing revoked, or the account lost access to theGuildtypically due to being kicked or removed.MISSING_PERMISSIONS
The clear-reactions request was attempted after the account lostPermission.MESSAGE_MANAGEin theTextChannelwhen adding the reaction.UNKNOWN_MESSAGEThe clear-reactions request was attempted after the Message had been deleted.
- Parameters:
messageId- The message id- Returns:
AuditableRestAction- Throws:
InsufficientPermissionException- If the currently logged in account does not havePermission.MESSAGE_MANAGEin this channel.
-
clearReactionsById
@Nonnull @CheckReturnValue RestAction<Void> clearReactionsById(@Nonnull String messageId, @Nonnull Emoji emoji) Removes all reactions for the specified emoji.The following
ErrorResponsesare possible:MISSING_ACCESS
The currently logged in account lost access to the channel by either being removed from the guild or losing theVIEW_CHANNELpermissionUNKNOWN_EMOJI
The providedEmojiwas deleted or doesn't exist.UNKNOWN_MESSAGE
The message was deleted.
- Parameters:
messageId- The id for the target messageemoji- TheEmojito remove reactions for- Returns:
RestAction- Throws:
InsufficientPermissionException- If the currently logged in account does not havePermission.MESSAGE_MANAGEin the channelIllegalArgumentException- If provided with null
-
clearReactionsById
@Nonnull @CheckReturnValue default RestAction<Void> clearReactionsById(long messageId, @Nonnull Emoji emoji) Removes all reactions for the specified emoji.The following
ErrorResponsesare possible:MISSING_ACCESS
The currently logged in account lost access to the channel by either being removed from the guild or losing theVIEW_CHANNELpermissionUNKNOWN_EMOJI
The providedEmojiwas deleted or doesn't exist.UNKNOWN_MESSAGE
The message was deleted.
- Parameters:
messageId- The id for the target messageemoji- TheEmojito remove reactions for- Returns:
RestAction- Throws:
InsufficientPermissionException- If the currently logged in account does not havePermission.MESSAGE_MANAGEin the channelIllegalArgumentException- If provided with null
-
sendStickers
@Nonnull @CheckReturnValue MessageCreateAction sendStickers(@Nonnull Collection<? extends StickerSnowflake> stickers) Send up to 3 stickers in this channel.
Bots can only sendGuildStickersfrom the sameGuild. Bots cannot useStandardStickers.- Parameters:
stickers- Collection of 1-3 stickers to send- Returns:
MessageCreateAction- Throws:
MissingAccessException- If the currently logged in account does not havePermission.VIEW_CHANNELin this channelInsufficientPermissionException-- If this is a
ThreadChanneland the bot does not havePermission.MESSAGE_SEND_IN_THREADS - If this is not a
ThreadChanneland the bot does not havePermission.MESSAGE_SEND
- If this is a
IllegalArgumentException-- If any of the provided stickers is a
GuildSticker, which is eitherunavailableor from a different guild. - If the list is empty or has more than 3 stickers
- If null is provided
- If any of the provided stickers is a
- See Also:
-
sendStickers
@Nonnull @CheckReturnValue default MessageCreateAction sendStickers(@Nonnull StickerSnowflake... stickers) Send up to 3 stickers in this channel.
Bots can only sendGuildStickersfrom the sameGuild. Bots cannot useStandardStickers.- Parameters:
stickers- The 1-3 stickers to send- Returns:
MessageCreateAction- Throws:
MissingAccessException- If the currently logged in account does not havePermission.VIEW_CHANNELin this channelInsufficientPermissionException-- If this is a
ThreadChanneland the bot does not havePermission.MESSAGE_SEND_IN_THREADS - If this is not a
ThreadChanneland the bot does not havePermission.MESSAGE_SEND
- If this is a
IllegalArgumentException-- If any of the provided stickers is a
GuildSticker, which is eitherunavailableor from a different guild. - If the list is empty or has more than 3 stickers
- If null is provided
- If any of the provided stickers is a
- See Also:
-