39 lines
1.1 KiB
C#
39 lines
1.1 KiB
C#
using CodexPlugin;
|
|
using Discord.WebSocket;
|
|
|
|
namespace BiblioTech.Commands
|
|
{
|
|
public class DeploymentsCommand : BaseCommand
|
|
{
|
|
private readonly DeploymentsFilesMonitor monitor;
|
|
|
|
public DeploymentsCommand(DeploymentsFilesMonitor monitor)
|
|
{
|
|
this.monitor = monitor;
|
|
}
|
|
|
|
public override string Name => "deployments";
|
|
public override string StartingMessage => "Fetching deployments information...";
|
|
public override string Description => "Lists active TestNet deployments";
|
|
|
|
protected override async Task Invoke(SocketSlashCommand command)
|
|
{
|
|
var deployments = monitor.GetDeployments();
|
|
|
|
if (!deployments.Any())
|
|
{
|
|
await command.FollowupAsync("No deployments available.");
|
|
return;
|
|
}
|
|
|
|
await command.FollowupAsync($"Deployments: {string.Join(", ", deployments.Select(FormatDeployment))}");
|
|
}
|
|
|
|
private string FormatDeployment(CodexDeployment deployment)
|
|
{
|
|
var m = deployment.Metadata;
|
|
return $"{m.Name} ({m.StartUtc.ToString("o")})";
|
|
}
|
|
}
|
|
}
|