Beispiel #1
0
        static async Task Main(string[] args)
        {
            var file = await File.ReadAllTextAsync("crawler-user-agents.json");

            var crawlers = JsonSerializer.Deserialize <List <Agent> >(file);

            //var isBot = IsBot.Find("Chrome-Lighthouse");
            //IsBot.Exclude("Chrome-Lighthouse");
            //isBot = IsBot.Find("Chrome-Lighthouse");

            // IsBot.Exclude("http", "bot", "google");
            IsBot.Extend("chrome");
            foreach (var crawler in crawlers)
            {
                var counter = 0;
                Console.WriteLine($"{crawler.Pattern} has {crawler.Instances.Count} instances");
                foreach (var instance in crawler.Instances)
                {
                    if (IsBot.Matches(instance))
                    {
                        counter++;
                    }
                }
                Console.WriteLine($"{crawler.Pattern} found {counter} matches");
                Console.WriteLine();
                Console.WriteLine();
            }
        }
Beispiel #2
0
        public void IncludeBrowserAsBot()
        {
            IsBot.Extend("chrome");
            var isBot = IsBot.Matches(browserUserAgent);

            Assert.True(isBot);
        }
Beispiel #3
0
        public void ExcludeBotFromDetection()
        {
            IsBot.Exclude("google", "bot", "http");
            var isBot = IsBot.Matches(crawlerUserAgent);

            Assert.False(isBot);
        }
Beispiel #4
0
        public void ExcludesBrowserFromDetection()
        {
            IsBot.Reset();
            var isBot = IsBot.Matches(browserUserAgent);

            Assert.False(isBot);
        }
Beispiel #5
0
 public override bool Equals(Object obj)
 {
     if (obj is User ob)
     {
         return(Id.Equals(ob.Id) && Name.Equals(ob.Name) && Nick.Equals(ob.Nick) &&
                IsBot.Equals(ob.IsBot));
     }
     return(false);
 }
Beispiel #6
0
 /// <inheritdoc />
 public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = Id;
         hashCode = (hashCode * 397) ^ IsBot.GetHashCode();
         hashCode = (hashCode * 397) ^ (FirstName?.GetHashCode() ?? 0);
         hashCode = (hashCode * 397) ^ (LastName?.GetHashCode() ?? 0);
         hashCode = (hashCode * 397) ^ (Username?.GetHashCode() ?? 0);
         hashCode = (hashCode * 397) ^ (LanguageCode?.GetHashCode() ?? 0);
         return(hashCode);
     }
 }
 /// <inheritdoc />
 public override int GetHashCode()
 {
     unchecked
     {
         // ReSharper disable NonReadonlyMemberInGetHashCode
         var hashCode = Id;
         hashCode = (hashCode * 397) ^ IsBot.GetHashCode();
         hashCode = (hashCode * 397) ^ (FirstName?.GetHashCode() ?? 0);
         hashCode = (hashCode * 397) ^ (LastName?.GetHashCode() ?? 0);
         hashCode = (hashCode * 397) ^ (Username?.GetHashCode() ?? 0);
         hashCode = (hashCode * 397) ^ (LanguageCode?.GetHashCode() ?? 0);
         // ReSharper restore NonReadonlyMemberInGetHashCode
         return(hashCode);
     }
 }
Beispiel #8
0
 public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = Id.GetHashCode();
         hashCode = (hashCode * 397) ^ (AvatarId != null ? AvatarId.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (Mention != null ? Mention.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (Username != null ? Username.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (Discriminator != null ? Discriminator.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ CreatedAt.GetHashCode();
         hashCode = (hashCode * 397) ^ IsBot.GetHashCode();
         hashCode = (hashCode * 397) ^ (Presence != null ? Presence.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (DirectMessageChannel != null ? DirectMessageChannel.GetHashCode() : 0);
         return(hashCode);
     }
 }
Beispiel #9
0
        public override int GetHashCode()
        {
            var hashCode = 1624733837;

            hashCode = hashCode * -1521134295 + Id.GetHashCode();
            hashCode = hashCode * -1521134295 + IsBot.GetHashCode();
            hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(FirstName);

            hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(LastName);

            hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(Username);

            hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(LanguageCode);

            return(hashCode);
        }
Beispiel #10
0
 /// <inheritdoc />
 public override int GetHashCode()
 {
     unchecked
     {
         // ReSharper disable NonReadonlyMemberInGetHashCode
         var hashCode = Id;
         hashCode = (hashCode * 397) ^ IsBot.GetHashCode();
         hashCode = (hashCode * 397) ^ (FirstName?.GetHashCode() ?? 0);
         hashCode = (hashCode * 397) ^ (LastName?.GetHashCode() ?? 0);
         hashCode = (hashCode * 397) ^ (Username?.GetHashCode() ?? 0);
         hashCode = (hashCode * 397) ^ (LanguageCode?.GetHashCode() ?? 0);
         hashCode = (hashCode * 397) ^ (CanJoinGroups?.GetHashCode() ?? 0);
         hashCode = (hashCode * 397) ^ (CanReadAllGroupMessages?.GetHashCode() ?? 0);
         hashCode = (hashCode * 397) ^ (SupportsInlineQueries?.GetHashCode() ?? 0);
         // ReSharper restore NonReadonlyMemberInGetHashCode
         return(hashCode);
     }
 }
Beispiel #11
0
        public override int GetHashCode()
        {
            int hashCode = 1040595173;

            hashCode = hashCode * -1521134295 + Id.GetHashCode();
            hashCode = hashCode * -1521134295 + IsBot.GetHashCode();
            hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(FirstName);

            hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(LastName);

            hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(Username);

            hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(LanguageCode);

            hashCode = hashCode * -1521134295 + CanJoinGroups.GetHashCode();
            hashCode = hashCode * -1521134295 + CanReadAllGroupMessages.GetHashCode();
            hashCode = hashCode * -1521134295 + SupportsInlineQueries.GetHashCode();
            return(hashCode);
        }
 public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = Id?.GetHashCode() ?? 0;
         hashCode = (hashCode * 397) ^ (RoomId?.GetHashCode() ?? 0);
         hashCode = (hashCode * 397) ^ (Message?.GetHashCode() ?? 0);
         hashCode = (hashCode * 397) ^ IsBot.GetHashCode();
         hashCode = (hashCode * 397) ^ (CreatedBy?.GetHashCode() ?? 0);
         hashCode = (hashCode * 397) ^ CreatedOn.GetHashCode();
         hashCode = (hashCode * 397) ^ (EditedBy?.GetHashCode() ?? 0);
         hashCode = (hashCode * 397) ^ EditedOn.GetHashCode();
         hashCode = (hashCode * 397) ^ IsBotMentioned.GetHashCode();
         hashCode = (hashCode * 397) ^ IsFromMyself.GetHashCode();
         hashCode = (hashCode * 397) ^ (Type?.GetHashCode() ?? 0);
         hashCode = (hashCode * 397) ^ Mentions.GetHashCode();
         hashCode = (hashCode * 397) ^ Starred.GetHashCode();
         return(hashCode);
     }
 }
Beispiel #13
0
        public void IdentifyABotCorrectly()
        {
            var isBot = IsBot.Matches(crawlerUserAgent);

            Assert.True(isBot);
        }