Example #1
0
 public static Task <IUserMessage> EmbedAsync(this IMessageChannel channel, EmbedBuilder embedBuilder, IGuild guild, ContextMessageOption options = ContextMessageOption.None, RetryMode retryMode = RetryMode.AlwaysRetry)
 => EmbedAsync(channel, "", embedBuilder, guild, options, retryMode: retryMode);
Example #2
0
        public static Task <IUserMessage> EmbedAsync(this IMessageChannel channel, string message, EmbedBuilder embedBuilder, IGuild guild = null, ContextMessageOption options = ContextMessageOption.None, IUser replyUser = null, RetryMode retryMode = RetryMode.AlwaysRetry)
        {
            if (false == embedBuilder?.Color.HasValue)
            {
                embedBuilder = embedBuilder.WithOkColour(guild);
            }

            var error       = options.Has(ContextMessageOption.Error);
            var replyToUser = options.Has(ContextMessageOption.ReplyUser);

            return(channel.EmbedAsync
                   (
                       embedBuilder ?? new EmbedBuilder()
            {
                Description = string.Format("{0}{1}{2}",
                                            error ? "💢 " : "",
                                            replyToUser ? $"{replyUser?.Mention} " : "",
                                            message
                                            ),
                Color = (error ? Bot.Ditto.Cache.Db.EmbedErrorColour(guild)
                        : Bot.Ditto.Cache.Db.EmbedColour(guild)
                         )
            },
                       embedBuilder == null ? string.Empty : message,
                       new RequestOptions()
            {
                RetryMode = retryMode
            }
                   ));
        }
Example #3
0
 public static Task <IUserMessage> EmbedAsync(this IMessageChannel channel, ContextMessageOption options, IGuild guild, string format, params object[] args)
 => EmbedAsync(channel, string.Format(format, args), guild, options);
Example #4
0
 public static Task <IUserMessage> EmbedAsync(this IMessageChannel channel, string message, IGuild guild = null, ContextMessageOption options = ContextMessageOption.None, RetryMode retryMode = RetryMode.AlwaysRetry)
 => EmbedAsync(channel, message, null, guild, options, retryMode: retryMode);
Example #5
0
 public Task <IUserMessage> EmbedAsync(EmbedBuilder embedBuilder, ContextMessageOption options = ContextMessageOption.None, RetryMode retryMode = RetryMode.AlwaysRetry)
 => EmbedAsync("", embedBuilder, options, retryMode: retryMode);
Example #6
0
 public Task <IUserMessage> EmbedAsync(ContextMessageOption options, string format, params object[] args)
 => EmbedAsync(string.Format(format, args), options);
Example #7
0
 public Task <IUserMessage> EmbedAsync(string message, ContextMessageOption options = ContextMessageOption.None, RetryMode retryMode = RetryMode.AlwaysRetry)
 => EmbedAsync(message, null, options, retryMode: retryMode);
Example #8
0
 public Task <IUserMessage> EmbedAsync(string message, EmbedBuilder embedBuilder, ContextMessageOption options = ContextMessageOption.None, RetryMode retryMode = RetryMode.AlwaysRetry)
 => Channel.EmbedAsync(message, embedBuilder, Guild, options, User, retryMode: retryMode);