[LCommand("plugin.command")] //This relates to the localization.lang file in the root of the CLI project public async void Test(IPalBot bot, LangMessage msg, string cmd) { await bot.Reply(msg, "plugin.response"); //This is an example of how to use the parameters localization files. await bot.Reply(msg, "plugin.cant", (await bot.GetUser(msg.UserId)).Nickname, msg.LanguageKey); }
public static void InitComponent() { using (MySqlConnection connection = new MySqlConnection(Data.Database.Connection.GetConnectionString())) { connection.Open(); MySqlCommand command = connection.CreateCommand(); command.CommandText = $"SELECT * FROM {tableName}"; MySqlDataReader reader = command.ExecuteReader(); DataTable schemaTable = reader.GetSchemaTable(); while (reader.HasRows) { while (reader.Read()) { LangMessage newMessage = new LangMessage { Slug = reader.GetString("slug"), Lang = reader.GetString("lang"), Message = reader.GetString("message") }; LangMessages.Add(newMessage); } reader.NextResult(); } } }
public bool IsMatch(IPalBot bot, Message msg, string cmd, ICommand atr, out string capped, out Message nm) { nm = msg; if (msg is LangMessage && !string.IsNullOrEmpty(((LangMessage)msg).LanguageKey)) { return(IsMatchAlready(bot, (LangMessage)msg, cmd, atr, out capped)); } capped = cmd; var localizations = bot.Languages.Storage.Get(atr.Comparitor); if (localizations.Length <= 0) { return(false); } var local = localizations.FirstOrDefault(t => cmd.ToLower().StartsWith(t.Text.ToLower())); if (local == null) { return(false); } nm = new LangMessage(msg, local.LanguageKey); capped = cmd.Remove(0, local.Text.Length); return(true); }
public async Task <Response> Reply(LangMessage msg, string id, params object[] parameters) { var lang = CheckLanguage(msg?.LanguageKey, id); if (parameters == null || parameters.Length == 0) { return(await Reply((Message)msg, lang)); } return(await Reply((Message)msg, string.Format(lang, parameters))); }
public static string getMessage(string slug, string lang) { if (LangMessages.Exists(x => x.Slug == slug && x.Lang == lang)) { LangMessage langMessage = LangMessages.First(x => x.Slug == slug && x.Lang == lang); if (string.IsNullOrEmpty(langMessage.Message)) { return($"No se encontró el mensaje {slug}, reportelo a un administrador."); } return(langMessage.Message); } else { return($"No se encontró el mensaje {slug}, reportelo a un administrador."); } }
private bool IsMatchAlready(IPalBot bot, LangMessage msg, string cmd, ICommand atr, out string capped) { capped = cmd; var local = bot.Languages[msg.LanguageKey, atr.Comparitor]; if (local == null) { return(false); } if (!cmd.ToLower().StartsWith(local.ToLower())) { return(false); } capped = cmd.Remove(0, local.Length); return(true); }