mirror of
https://gitlab.com/Kwoth/nadekobot.git
synced 2025-09-10 17:28:27 -04:00
62 lines
1.8 KiB
C#
62 lines
1.8 KiB
C#
using NadekoBot.Modules.Administration.Services;
|
|
|
|
namespace NadekoBot.Modules.Administration;
|
|
|
|
public partial class Administration
|
|
{
|
|
[Group]
|
|
public class PlayingRotateCommands : NadekoSubmodule<PlayingRotateService>
|
|
{
|
|
[NadekoCommand, Aliases]
|
|
[OwnerOnly]
|
|
public async Task RotatePlaying()
|
|
{
|
|
if (_service.ToggleRotatePlaying())
|
|
await ReplyConfirmLocalizedAsync(strs.ropl_enabled).ConfigureAwait(false);
|
|
else
|
|
await ReplyConfirmLocalizedAsync(strs.ropl_disabled).ConfigureAwait(false);
|
|
}
|
|
|
|
[NadekoCommand, Aliases]
|
|
[OwnerOnly]
|
|
public async Task AddPlaying(ActivityType t, [Leftover] string status)
|
|
{
|
|
await _service.AddPlaying(t, status).ConfigureAwait(false);
|
|
|
|
await ReplyConfirmLocalizedAsync(strs.ropl_added).ConfigureAwait(false);
|
|
}
|
|
|
|
[NadekoCommand, Aliases]
|
|
[OwnerOnly]
|
|
public async Task ListPlaying()
|
|
{
|
|
var statuses = _service.GetRotatingStatuses();
|
|
|
|
if (!statuses.Any())
|
|
{
|
|
await ReplyErrorLocalizedAsync(strs.ropl_not_set).ConfigureAwait(false);
|
|
}
|
|
else
|
|
{
|
|
var i = 1;
|
|
await ReplyConfirmLocalizedAsync(strs.ropl_list(
|
|
string.Join("\n\t", statuses.Select(rs => $"`{i++}.` *{rs.Type}* {rs.Status}"))));
|
|
}
|
|
|
|
}
|
|
|
|
[NadekoCommand, Aliases]
|
|
[OwnerOnly]
|
|
public async Task RemovePlaying(int index)
|
|
{
|
|
index -= 1;
|
|
|
|
var msg = await _service.RemovePlayingAsync(index).ConfigureAwait(false);
|
|
|
|
if (msg is null)
|
|
return;
|
|
|
|
await ReplyConfirmLocalizedAsync(strs.reprm(msg));
|
|
}
|
|
}
|
|
} |