geekbot/src/Web/Commands/KarmaUserGood.cs

36 lines
No EOL
1.1 KiB
C#

using Geekbot.Commands.Karma;
using Geekbot.Core.Database;
using Geekbot.Interactions;
using Geekbot.Interactions.ApplicationCommand;
using Geekbot.Interactions.Request;
using Geekbot.Interactions.Response;
namespace Geekbot.Web.Commands;
public class KarmaUserGood : InteractionBase
{
private readonly DatabaseContext _database;
public KarmaUserGood(DatabaseContext database)
{
_database = database;
}
public override Command GetCommandInfo() => new ()
{
Name = "Give good karma",
Type = CommandType.User,
};
public override async Task<InteractionResponse> Exec(Interaction interaction)
{
var author = interaction.Member.User;
var targetUserId = interaction.Data.TargetId;
var targetUser = interaction.Data.Resolved.Users[targetUserId];
var karma = new Geekbot.Commands.Karma.Karma(_database, long.Parse(interaction.GuildId));
var res = await karma.ChangeKarma(author, targetUser, KarmaChange.Up);
return SimpleResponse(res);
}
}