private void ConfigSet(object sender, IrcEventArgs e) { string sendto = e.Data.Channel.IsNullOrEmpty() ? e.Data.Nick : e.Data.Channel; if (e.Data.MessageArray.Length < 3) { foreach (var line in bot.GetType().GetProperties().Where(property => property.CanWrite).Select(property => property.Name).ToLines(350)) { bot.SendMessage(SendType.Message, sendto, line); } } else { var propertyInfos = bot.GetType().GetProperties().Where(property => property.CanWrite && property.Name == e.Data.MessageArray[1]).SingleOrDefault(); if (propertyInfos != null) { if (propertyInfos.PropertyType == typeof(int)) { propertyInfos.SetValue(bot, int.Parse(e.Data.MessageArray[2]), null); } if (propertyInfos.PropertyType == typeof(string)) { propertyInfos.SetValue(bot, e.Data.MessageArray[2], null); } bot.SendMessage(SendType.Message, sendto, "Value set (if string or int)"); } else { bot.SendMessage(SendType.Message, sendto, "Dont know that property"); } } }