NadekoBot/NadekoBot/Modules/Translator/TranslateCommand.cs
2016-03-27 05:02:51 +02:00

41 lines
1.3 KiB
C#

using Discord.Commands;
using NadekoBot.Commands;
using NadekoBot.Modules.Translator.Helpers;
using System;
using System.Threading.Tasks;
namespace NadekoBot.Modules.Translator
{
class TranslateCommand : DiscordCommand
{
public TranslateCommand(DiscordModule module) : base(module) { }
internal override void Init(CommandGroupBuilder cgb)
{
cgb.CreateCommand(Module.Prefix + "trans")
.Description("Translates from>to text. From the given language to the destiation language.")
.Parameter("langs", ParameterType.Required)
.Parameter("text", ParameterType.Unparsed)
.Do(TranslateFunc());
}
private GoogleTranslator t = new GoogleTranslator();
private Func<CommandEventArgs, Task> TranslateFunc() => async e =>
{
try
{
await e.Channel.SendIsTyping();
string from = e.GetArg("langs").Split('>')[0];
string to = e.GetArg("langs").Split('>')[1];
string translation = t.Translate(e.GetArg("text"), from, to);
await e.Channel.SendMessage(translation);
}
catch
{
await e.Channel.SendMessage("Bad input format, or sth went wrong...");
}
};
}
}