Files
SkyBot/SkyBot/Helpers/UserHelper.cs
2026-05-05 16:16:07 +01:00

30 lines
986 B
C#

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<TaskResult<Message>> SendDirectMessageAsync(this User user, ValourClient client, string? content, Embed? embed = null)
{
var channelResult = await client.PrimaryNode.GetJsonAsync<Channel>($"api/channels/direct/byUser/{user.Id}");
if (!channelResult.Success)
return new TaskResult<Message>(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);
}
}
}