public void Run(IMessageReference <IDiscordMessage> r) { foreach (var t in r.Decorators) { t(new MockDiscordMessage(this, r)); } }
private static async Task ProcessDecoratorsAsync( IMessageReference <IDiscordMessage> msgRef, IDiscordMessage msg) { foreach (var x in msgRef.Decorators) { await x(msg); } }
public static IMessageReference <IDiscordMessage> ThenEdit( this IMessageReference <IDiscordMessage> reference, string message = "", DiscordEmbed embed = null) { reference.PushDecorator(x => x.EditAsync(new EditMessageArgs(message, embed))); return(reference); }
public static string GetString(this IMessageReference reference) => $"{reference.GuildId?.ToString() ?? "<no guild ID>"}/{reference.ChannelId}/{reference.MessageId?.ToString() ?? "<no message ID>"}";
/// <inheritdoc /> public void Execute(IMessageReference <IDiscordMessage> args) { QueuedMessages.Enqueue(args); }
public static IMessageReference <T> Then <T>(this IMessageReference <T> reference, Func <T, Task> fn) where T : class { reference.PushDecorator(fn); return(reference); }
public static IMessageReference <IDiscordMessage> ThenDelete(this IMessageReference <IDiscordMessage> reference) { reference.PushDecorator(async(msg) => { await msg.DeleteAsync(); }); return(reference); }
public static IMessageReference <T> ThenWait <T>(this IMessageReference <T> reference, int milliseconds) where T : class { reference.PushDecorator(_ => Task.Delay(milliseconds)); return(reference); }
public MockDiscordMessage( MockMessageWorker worker, IMessageReference <IDiscordMessage> reference) { this.worker = worker; this.reference = reference; }
public void Execute(IMessageReference <IDiscordMessage> @ref) { Run(@ref); }