Added .setstatus

This commit is contained in:
Kwoth 2017-01-04 16:53:39 +01:00
parent 1dad858a65
commit c99d2a9bba
5 changed files with 73 additions and 2 deletions

View File

@ -485,7 +485,6 @@ namespace NadekoBot.Modules.Administration
{ {
var sb = new StringBuilder(); var sb = new StringBuilder();
var msgs = new List<IMessage>(cnt); var msgs = new List<IMessage>(cnt);
await Context.Channel.GetMessagesAsync(cnt).ForEachAsync(dled => msgs.AddRange(dled)).ConfigureAwait(false); await Context.Channel.GetMessagesAsync(cnt).ForEachAsync(dled => msgs.AddRange(dled)).ConfigureAwait(false);
var title = $"Chatlog-{Context.Guild.Name}/#{Context.Channel.Name}-{DateTime.Now}.txt"; var title = $"Chatlog-{Context.Guild.Name}/#{Context.Channel.Name}-{DateTime.Now}.txt";

View File

@ -59,7 +59,16 @@ namespace NadekoBot.Modules.Administration
await NadekoBot.Client.CurrentUser().ModifyAsync(u => u.Username = newName).ConfigureAwait(false); await NadekoBot.Client.CurrentUser().ModifyAsync(u => u.Username = newName).ConfigureAwait(false);
await Context.Channel.SendConfirmAsync($" Successfully changed name to **{newName}**").ConfigureAwait(false); await Context.Channel.SendConfirmAsync($"Bot name changed to **{newName}**").ConfigureAwait(false);
}
[NadekoCommand, Usage, Description, Aliases]
[OwnerOnly]
public async Task SetStatus([Remainder] SettableUserStatus status)
{
await NadekoBot.Client.SetStatus(status);
await Context.Channel.SendConfirmAsync($"Bot status changed to **{status}**").ConfigureAwait(false);
} }
[NadekoCommand, Usage, Description, Aliases] [NadekoCommand, Usage, Description, Aliases]

View File

@ -6566,6 +6566,33 @@ namespace NadekoBot.Resources {
} }
} }
/// <summary>
/// Looks up a localized string similar to setstatus.
/// </summary>
public static string setstatus_cmd {
get {
return ResourceManager.GetString("setstatus_cmd", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Sets the bot&apos;s status. (Online/Idle/Invisible).
/// </summary>
public static string setstatus_desc {
get {
return ResourceManager.GetString("setstatus_desc", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to `{0}setstatus Idle`.
/// </summary>
public static string setstatus_usage {
get {
return ResourceManager.GetString("setstatus_usage", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to setstream. /// Looks up a localized string similar to setstream.
/// </summary> /// </summary>

View File

@ -2853,4 +2853,13 @@
<data name="autohentai_usage" xml:space="preserve"> <data name="autohentai_usage" xml:space="preserve">
<value>`{0}autohentai 30 yuri|tail|long_hair` or `{0}autohentai`</value> <value>`{0}autohentai 30 yuri|tail|long_hair` or `{0}autohentai`</value>
</data> </data>
<data name="setstatus_cmd" xml:space="preserve">
<value>setstatus</value>
</data>
<data name="setstatus_desc" xml:space="preserve">
<value>Sets the bot's status. (Online/Idle/Invisible)</value>
</data>
<data name="setstatus_usage" xml:space="preserve">
<value>`{0}setstatus Idle`</value>
</data>
</root> </root>

View File

@ -140,5 +140,32 @@ namespace NadekoBot
public Task SetStream(string name, string url) => Task.WhenAll(Clients.Select(ms => ms.SetGameAsync(name, url, StreamType.NotStreaming))); public Task SetStream(string name, string url) => Task.WhenAll(Clients.Select(ms => ms.SetGameAsync(name, url, StreamType.NotStreaming)));
public Task SetStatus(SettableUserStatus status) => Task.WhenAll(Clients.Select(ms => ms.SetStatusAsync(SettableUserStatusToUserStatus(status))));
private static UserStatus SettableUserStatusToUserStatus(SettableUserStatus sus)
{
switch (sus)
{
case SettableUserStatus.Online:
return UserStatus.Online;
case SettableUserStatus.Invisible:
return UserStatus.Invisible;
case SettableUserStatus.Idle:
return UserStatus.AFK;
}
return UserStatus.Online;
}
}
public enum SettableUserStatus
{
Online = 1,
On = 1,
Invisible = 2,
Invis = 2,
Idle = 3,
Afk = 3
} }
} }