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(); } }
public void IncludeBrowserAsBot() { IsBot.Extend("chrome"); var isBot = IsBot.Matches(browserUserAgent); Assert.True(isBot); }
public void ExcludeBotFromDetection() { IsBot.Exclude("google", "bot", "http"); var isBot = IsBot.Matches(crawlerUserAgent); Assert.False(isBot); }
public void ExcludesBrowserFromDetection() { IsBot.Reset(); var isBot = IsBot.Matches(browserUserAgent); Assert.False(isBot); }
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); }
/// <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); } }
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); } }
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); }
/// <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); } }
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); } }
public void IdentifyABotCorrectly() { var isBot = IsBot.Matches(crawlerUserAgent); Assert.True(isBot); }