private async Task RunPromptAsync([NotNull] Message message) { var key = PromptDataMessage.ToKey(message); var result = await Client.Cache.Prompts.GetAsync(key); if (result is null) { return; } var state = (result.Data as PromptDataMessage) !; // ReSharper disable once PossibleNullReferenceException var delay = await state.RunAsync(message, state); if (delay is null) { await Client.Cache.Prompts.DeleteAsync(key); } else { await Client.Cache.Prompts.SetAsync(result, (TimeSpan)delay); } }
private Task RunAsync(PromptDataMessage data, Message message) { return(Task.CompletedTask); }