module commands.mozhi; // import api; // import util; // import commands.util; // import api_data; // import asdf; // @Command("Translates text via Mozhi") // auto tr(Arguments argz, EventWithoutRoomID* evt) { // struct RqRsp { // string engine; // string detected; // @serdeKeys("translated-text") string translatedText; // string source_language; // string target_language; // } // MSG msg; // string text; // auto ngn = argz.getArg("E"); // auto instance = argz.getArg("I"); // MSG origin = evt.content.raw.deserialize!MSG; // if (argz.parsed.length == 2) { // auto reply = event(origin.relates.reply.event_id, evt.room).body; // foreach (chr; reply) { // if (chr == ' ') text ~= '+'; // else text ~= chr; // } // } else for (short i = 2; i < argz.parsed.length; ++i) // text ~= argz.parsed[i] ~ '+'; // auto rq = mkrqst ( // "https://" ~ (instance ? instance : "mozhi.gitro.xyz") ~ "/api/translate", "POST", // "engine=" ~ (ngn ? ngn : "google") // ~ "&from=" ~ argz.parsed[0] // ~ "&to=" ~ argz.parsed[1] // ~ "&text=" ~ text, // false // ); // if (rq.status != 200) return MSG(intToStr(rq.status)); // auto content = rq.body.deserialize!RqRsp; // msg = MSG("ЙАЗЫКНЙЭВЫ|БРАН", content.translatedText); // return msg; // } // @Command("Creates audio with text, using Mozhi") // auto tts(Arguments argz, EventWithoutRoomID* evt) { // }