forked from adam/discord-bot-shtik
76 lines
2.7 KiB
C#
76 lines
2.7 KiB
C#
using System.Diagnostics;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using vassago.Models;
|
|
using vassago.ProtocolInterfaces.DiscordInterface;
|
|
|
|
namespace vassago.Controllers.api;
|
|
|
|
[Route("api/[controller]")]
|
|
[ApiController]
|
|
public class InternalAPIProtocolController : ControllerBase
|
|
{
|
|
private readonly ILogger<InternalAPIProtocolController> _logger;
|
|
|
|
public InternalAPIProtocolController(ILogger<InternalAPIProtocolController> logger)
|
|
{
|
|
_logger = logger;
|
|
}
|
|
|
|
public class extraSpecialObjectReadGlorifiedTupleFor_PostMessage
|
|
{
|
|
public string messageText;
|
|
public Guid channelId;
|
|
}
|
|
[HttpPost]
|
|
[Route("PostMessage")]
|
|
[Produces("application/json")]
|
|
public IActionResult PostMessage([FromBody] extraSpecialObjectReadGlorifiedTupleFor_PostMessage param)
|
|
{
|
|
return StatusCode(Behaver.Instance.SendMessage(param.channelId, param.messageText).Result);
|
|
}
|
|
public class extraSpecialObjectReadGlorifiedTupleFor_ReplyToMessage
|
|
{
|
|
public string messageText;
|
|
public Guid repliedMessageId;
|
|
}
|
|
[HttpPost]
|
|
[Route("ReplyToMessage")]
|
|
[Produces("application/json")]
|
|
public IActionResult ReplyToMessage([FromBody] extraSpecialObjectReadGlorifiedTupleFor_ReplyToMessage param)
|
|
{
|
|
Console.WriteLine($"ReplyToMessage - {param.repliedMessageId}, {param.messageText}");
|
|
return StatusCode(Behaver.Instance.Reply(param.repliedMessageId, param.messageText).Result);
|
|
}
|
|
|
|
public class extraSpecialObjectReadGlorifiedTupleFor_SendFile
|
|
{
|
|
public Guid channelId;
|
|
public string accompanyingText;
|
|
public string base64dData;
|
|
public string filename;
|
|
}
|
|
[HttpPost]
|
|
[Route("SendFile")]
|
|
[Produces("application/json")]
|
|
public IActionResult SendFile([FromBody] extraSpecialObjectReadGlorifiedTupleFor_SendFile param)
|
|
{
|
|
Console.WriteLine($"SendFile- {param.channelId}, {param.filename} (base64'd, {param.base64dData?.Length} chars), {param.accompanyingText}");
|
|
return StatusCode(Behaver.Instance.SendFile(param.channelId, param.base64dData, param.filename, param.accompanyingText).Result);
|
|
}
|
|
|
|
public class extraSpecialObjectReadGlorifiedTupleFor_ReactToMessage
|
|
{
|
|
public string reactionString;
|
|
public Guid reactedMessageId;
|
|
}
|
|
[HttpPost]
|
|
[Route("ReactToMessage")]
|
|
[Produces("application/json")]
|
|
public IActionResult ReactToMessage([FromBody] extraSpecialObjectReadGlorifiedTupleFor_ReactToMessage param)
|
|
{
|
|
Console.WriteLine($"ReactToMessage- {param.reactedMessageId}, {param.reactionString}");
|
|
return StatusCode(Behaver.Instance.React(param.reactedMessageId, param.reactionString).Result);
|
|
}
|
|
}
|