public override void respond(Input input) { string[] message = input.message.Split(new char[] { ' ' }, 2); if (message.Length < 2) { addResponse("You are lacking skill, tell me which one you want to check"); return; } string skillName = message[1]; if (!IrcBot.nickDict.ContainsKey(input.speaker)) { addResponse("Add an api key for your username first"); return; } User user = IrcBot.nickDict[input.speaker]; UserApi api = user.apis.ElementAt(0); CharacterSheet character = EveApi.GetCharacterSheet(api.apiUserId, user.defaultChar, api.apiKeyId); if (!IrcBot.skillIds.ContainsKey(skillName.ToLower())) { addResponse(String.Format("I have no mapping for '{0}'", skillName)); return; } int target = IrcBot.skillIds[skillName.ToLower()]; var ids = from skill in character.SkillItemList select skill.TypeId; skillName = IrcBot.getSkillById(target).TypeName; int i = 0; foreach (int id in ids) { if (id == target) { addResponse(String.Format("{0} has trained {1} to level {2}", character.Name, skillName, character.SkillItemList[i].Level)); return; } i += 1; } addResponse(String.Format("{0} has not trained {1}", character.Name, skillName)); return; }