/// <summary> /// Displays the message and the reactions. /// </summary> /// <returns> /// The <see cref="Task"/>. /// </returns> public async Task DisplayAsync() { var message = await Context.Channel.SendMessageAsync(_data.Text, embed : _data.Embed).ConfigureAwait(false); Message = message; _interactive.AddReactionCallback(message, this); _ = Task.Run(async() => { foreach (var item in _data.Callbacks) { await message.AddReactionAsync(item.Reaction); } if (Timeout.HasValue) { await Task.Delay(Timeout.Value); _interactive.RemoveReactionCallback(message); _data.TimeoutCallback?.Invoke(Context); } }); }