/// <summary> /// Get collection of allowed (supported) message tokens /// </summary> /// <param name="tokenGroups">Collection of token groups; pass null to get all available tokens</param> /// <returns>Collection of allowed message tokens</returns> public override IEnumerable <string> GetListOfAllowedTokens(IEnumerable <string> tokenGroups = null) { var additionTokens = new AdditionTokensAddedEvent(); _eventPublisher.Publish(additionTokens); var allowedTokens = AllowedTokens.Where(x => tokenGroups == null || tokenGroups.Contains(x.Key)) .SelectMany(x => x.Value).ToList(); allowedTokens.AddRange(additionTokens.AdditionTokens); // add our custom token allowedTokens.Add("%Custom.Message.Token.CallForInfo%"); return(allowedTokens.Distinct()); }
/// <summary> /// Zwraca obiekt dozwolonych tokenów - rzeczowniki /// /// Jeśli obiekt nie był wcześniej inicjowany, odczytuje dozwolone ID tokenów z pliku. /// </summary> /// <returns>Obiekt dozwolonych tokenów - rzeczowniki</returns> private AllowedTokens<uint> getAllowedNouns() { if (allowedNouns != null) return allowedNouns; allowedNouns = new AllowedTokens<uint>(); using (BinaryReader reader = new BinaryReader(File.OpenRead(workingDir + @"hal\noun.allowed"))) { while (true) { try { allowedNouns.add(reader.ReadUInt32()); } catch (EndOfStreamException) { break; } } } return allowedNouns; }