public static async Task <IUserMessage> SendMessageAsync(this IMessageChannel channel, BaseUser user, Message message, RequestOptions options = null) { if (message == null) { throw new ArgumentNullException(nameof(message)); } var content = new StringBuilder(); if (user.Notifier.CanNotify) { content.AppendLine(user.Notifier.Notify(2000 - (message.Text?.Length ?? 0))); user.Notifier.LastNotified = DateTime.UtcNow; } if (!string.IsNullOrWhiteSpace(message.Text)) { content.Append(message.Text); } if (!string.IsNullOrWhiteSpace(message.AttachmentUrl)) { return(await channel.SendFileAsync(message.AttachmentUrl, content.ToString(), message.IsTTS, message.Embed, options, message.IsSpoiler)); } return(await channel.SendMessageAsync(content.ToString(), message.IsTTS, message.Embed, options)); }
public override string OnWriteMenu(InfoService service, BaseUser user = null) { bool showTooltips = user?.Config?.Tooltips ?? true; var menu = new StringBuilder(); menu.AppendLine(GetMenuHeader(showTooltips)); menu.Append(GetMenuGuides()); menu.Append(GetMenuCategories(service)); return(menu.ToString()); }
public static async Task <IUserMessage> SendMessageAsync(this IMessageChannel channel, BaseUser user, string text = null, bool isTTS = false, Embed embed = null, RequestOptions options = null, AllowedMentions allowedMentions = null) { var content = new StringBuilder(); if (user.Notifier.CanNotify) { text ??= string.Empty; content.AppendLine(user.Notifier.Notify(2000 - text.Length)); user.Notifier.LastNotified = DateTime.UtcNow; } if (!string.IsNullOrWhiteSpace(text)) { content.Append(text); } return(await channel.SendMessageAsync(content.ToString(), isTTS, embed, options, allowedMentions)); }
public abstract string OnWriteMenu(InfoService service, BaseUser user = null);