using SkyBot.Models; using Valour.Sdk.Client; using Valour.Sdk.Models; using Valour.Sdk.Models.Messages.Embeds; using Valour.Shared; namespace SkyBot.Helpers { public static class UserHelper { public static async Task> SendDirectMessageAsync(this User user, ValourClient client, string? content, Embed? embed = null) { var channelResult = await client.PrimaryNode.GetJsonAsync($"api/channels/direct/byUser/{user.Id}"); if (!channelResult.Success) return new TaskResult(false, "Could not open DM channel."); var msg = new Message(client) { Content = content, ChannelId = channelResult.Data.Id, AuthorUserId = client.Me.Id, Fingerprint = Guid.NewGuid().ToString() }; msg.SetEmbed(embed); return await client.MessageService.SendMessage(msg); } } }