Esempio n. 1
0
        public static void Main(string[] args)
        {
            var options = new Options();
            if(CommandLine.Parser.Default.ParseArgumentsStrict(args, options))
            {
                var groupOptions = new GroupOptions(options.GroupId);
                var store = new CsvFileStore(new[] { "uid", "first_name", "last_name" }, options.OutputDirectory);

                var observerOptions = GroupObserverOptions.New
                    .UseGroupOptions(groupOptions)
                    .UseGroupMemberStore(store)
                    .UseSimpleIntervalSchedule(TimeSpan.FromHours(1))
                    .UseGroupMembersProvider(new VkGroupMembersProvider(new HttpClientHandler()))
                    .SetEventHandlers(
                        OnGroupMembersJoinedHandler,
                        OnGroupMembersLeftHandler,
                        OnGroupObserverStatusChangedHandler,
                        OnErrorOccuredHandler);
                var observer = new GroupObserver(observerOptions);
                observer.Run();
                Console.WriteLine("Enter q and press enter to exit: ");
                while (Console.ReadLine() != "q")
                {
                }
                observer.Stop();
            }
        }
        public GroupObserverOptions UseGroupOptions(GroupOptions groupOptions)
        {
            if (groupOptions == null)
            {
                throw new ArgumentNullException(nameof(groupOptions));
            }
            GroupOptions = groupOptions;

            return this;
        }