示例#1
0
 /// <summary>
 /// Executes this webhook with the given <see cref="DiscordWebhookBuilder"/>.
 /// </summary>
 /// <param name="builder">Webhook builder filled with data to send.</param>
 public Task <DiscordMessage> ExecuteAsync(DiscordWebhookBuilder builder)
 => (this.Discord?.ApiClient ?? this.ApiClient).ExecuteWebhookAsync(this.Id, this.Token, builder.Content,
                                                                    builder.Username.HasValue ? builder.Username.Value : this.Name, builder.AvatarUrl.HasValue ? builder.AvatarUrl.Value : this.AvatarUrl,
                                                                    builder.IsTTS, builder.Embeds, builder.Files, builder.Mentions);
示例#2
0
        /// <summary>
        /// Edits the original interaction response.
        /// </summary>
        /// <param name="builder">The webhook builder.</param>
        /// <param name="attachments">Attached files to keep.</param>
        /// <returns>The <see cref="DiscordMessage"/> edited.</returns>
        public async Task <DiscordMessage> EditOriginalResponseAsync(DiscordWebhookBuilder builder, IEnumerable <DiscordAttachment> attachments = default)
        {
            builder.Validate(isInteractionResponse: true);

            return(await this.Discord.ApiClient.EditOriginalInteractionResponseAsync(this.Discord.CurrentApplication.Id, this.Token, builder, attachments).ConfigureAwait(false));
        }
示例#3
0
        /// <summary>
        /// Edits a follow up message.
        /// </summary>
        /// <param name="messageId">The id of the follow up message.</param>
        /// <param name="builder">The webhook builder.</param>
        /// <param name="attachments">Attached files to keep.</param>
        /// <returns>The <see cref="DiscordMessage"/> edited.</returns>
        public async Task <DiscordMessage> EditFollowupMessageAsync(ulong messageId, DiscordWebhookBuilder builder, IEnumerable <DiscordAttachment> attachments = default)
        {
            builder.Validate(isFollowup: true);

            return(await this.Discord.ApiClient.EditFollowupMessageAsync(this.Discord.CurrentApplication.Id, this.Token, messageId, builder, attachments).ConfigureAwait(false));
        }
示例#4
0
        /// <summary>
        /// Edits a previously-sent webhook message.
        /// </summary>
        /// <param name="messageId">The id of the message to edit.</param>
        /// <param name="builder">The builder of the message to edit.</param>
        /// <returns>The modified <see cref="DiscordMessage"/></returns>
        /// <exception cref="Exceptions.NotFoundException">Thrown when the webhook does not exist.</exception>
        /// <exception cref="Exceptions.BadRequestException">Thrown when an invalid parameter was provided.</exception>
        /// <exception cref="Exceptions.ServerErrorException">Thrown when Discord is unable to process the request.</exception>
        public async Task <DiscordMessage> EditMessageAsync(ulong messageId, DiscordWebhookBuilder builder)
        {
            builder.Validate(true);

            return(await(this.Discord?.ApiClient ?? this.ApiClient).EditWebhookMessageAsync(this.Id, this.Token, messageId, builder).ConfigureAwait(false));
        }
示例#5
0
 /// <summary>
 /// Executes this webhook with the given <see cref="DiscordWebhookBuilder"/>.
 /// </summary>
 /// <param name="builder">Webhook builder filled with data to send.</param>
 /// <exception cref="Exceptions.NotFoundException">Thrown when the webhook does not exist.</exception>
 /// <exception cref="Exceptions.BadRequestException">Thrown when an invalid parameter was provided.</exception>
 /// <exception cref="Exceptions.ServerErrorException">Thrown when Discord is unable to process the request.</exception>
 public Task <DiscordMessage> ExecuteAsync(DiscordWebhookBuilder builder)
 => (this.Discord?.ApiClient ?? this.ApiClient).ExecuteWebhookAsync(this.Id, this.Token, builder);
示例#6
0
        /// <summary>
        /// Edits a previously-sent webhook message.
        /// </summary>
        /// <param name="messageId">The id of the message to edit.</param>
        /// <param name="builder">The builder of the message to edit.</param>
        /// <param name="attachments">Attached files to keep.</param>
        /// <returns>The modified <see cref="DiscordMessage"/></returns>
        /// <exception cref="Exceptions.NotFoundException">Thrown when the webhook does not exist.</exception>
        /// <exception cref="Exceptions.BadRequestException">Thrown when an invalid parameter was provided.</exception>
        /// <exception cref="Exceptions.ServerErrorException">Thrown when Discord is unable to process the request.</exception>
        public async Task <DiscordMessage> EditMessageAsync(ulong messageId, DiscordWebhookBuilder builder, IEnumerable <DiscordAttachment> attachments = default)
        {
            builder.Validate(true);

            return(await(this.Discord?.ApiClient ?? this.ApiClient).EditWebhookMessageAsync(this.Id, this.Token, messageId, builder, attachments).ConfigureAwait(false));
        }
        /// <summary>
        /// Edits a follow up message.
        /// </summary>
        /// <param name="messageId">The id of the follow up message.</param>
        /// <param name="builder">The webhook builder.</param>
        /// <returns>The <see cref="DiscordMessage"/> edited.</returns>
        public async Task <DiscordMessage> EditFollowupMessageAsync(ulong messageId, DiscordWebhookBuilder builder)
        {
            builder.Validate(isFollowup: true);

            return(await this.Discord.ApiClient.EditFollowupMessageAsync(this.Discord.CurrentApplication.Id, this.Token, messageId, builder));
        }
        /// <summary>
        /// Edits the original interaction response.
        /// </summary>
        /// <param name="builder">The webhook builder.</param>
        /// <returns>The <see cref="DiscordMessage"/> edited.</returns>
        public async Task <DiscordMessage> EditOriginalResponseAsync(DiscordWebhookBuilder builder)
        {
            builder.Validate(isInteractionResponse: true);

            return(await this.Discord.ApiClient.EditOriginalInteractionResponseAsync(this.Discord.CurrentApplication.Id, this.Token, builder));
        }