Versions in this module Expand all Collapse all v1 v1.2.2 Sep 13, 2024 Changes in this version + var ErrUpdateAbort = errors.New("update sequence aborted") + var ErrUpdateStop = errors.New("update stopped") + type HTTPDoExecutor interface + Do func(req *http.Request) (*http.Response, error) + SetRate func(rate *rate.Limiter) + type LastPageDocFunc = func(doc *goquery.Document) (int, error) + type ParseDocFunc = func(doc *goquery.Document) ([]Record, int, error) + type ParseTimeFunc func(s string) (time.Time, error) + type Record struct + CreatedOn time.Time + ExpiresOn time.Time + Name string + Permanent bool + Reason string + SteamID steamid.SteamID + UnbanReason string + Unbanned bool + func (r *Record) Expired() bool + func (r *Record) SetBanLength(value string) + func (r *Record) SetExpiredOn(parseTime ParseTimeFunc, value string) error + func (r *Record) SetInvokedOn(parseTime ParseTimeFunc, value string) error + func (r *Record) SetPlayer(name string) + func (r *Record) SetReason(value string) + func (r *Record) SetSteam(value string) + func (r *Record) SetUnbanReason(value string) + type SaveRecordsFunc = func(ctx context.Context, site domain.Site, records []Record) ([]domain.SbBanRecord, error) + type Scraper struct + MaxCacheAge time.Duration + func NewSiteScraper(cache *client.FilesystemCache, siteContext *SiteContext, save SaveRecordsFunc) Scraper + func (s *Scraper) Scrape(ctx context.Context) (int, int, error) + type SiteContext struct + Client *client.Client + MaxCacheAge time.Duration + Parser SiteParsers + Site domain.Site + StartURL string + func CreateAll(provider client.ProxyProvider) []*SiteContext + func NewAstraManiaScraper(provider client.ProxyProvider) *SiteContext + func NewBierwieseScraper(provider client.ProxyProvider) *SiteContext + func NewBioCraftingScraper(provider client.ProxyProvider) *SiteContext + func NewBlackwonderScraper(provider client.ProxyProvider) *SiteContext + func NewBouncyBallScraper(provider client.ProxyProvider) *SiteContext + func NewCSIServersScraper(provider client.ProxyProvider) *SiteContext + func NewCasualFunScraper(provider client.ProxyProvider) *SiteContext + func NewDarkPyroScraper(provider client.ProxyProvider) *SiteContext + func NewDiscFFScraper(provider client.ProxyProvider) *SiteContext + func NewDixiGameScraper(provider client.ProxyProvider) *SiteContext + func NewDreamFireScraper(provider client.ProxyProvider) *SiteContext + func NewECJScraper(provider client.ProxyProvider) *SiteContext + func NewEOTLGamingScraper(provider client.ProxyProvider) *SiteContext + func NewElectricScraper(provider client.ProxyProvider) *SiteContext + func NewEpicZoneScraper(provider client.ProxyProvider) *SiteContext + func NewFirePoweredScraper(provider client.ProxyProvider) *SiteContext + func NewFluxTFScraper(provider client.ProxyProvider) *SiteContext + func NewFurryPoundScraper(provider client.ProxyProvider) *SiteContext + func NewGameSitesScraper(provider client.ProxyProvider) *SiteContext + func NewGetSomeScraper(provider client.ProxyProvider) *SiteContext + func NewGlobalParadiseScraper(provider client.ProxyProvider) *SiteContext + func NewGunServerScraper(provider client.ProxyProvider) *SiteContext + func NewHarpoonScraper(provider client.ProxyProvider) *SiteContext + func NewJumpAcademyScraper(provider client.ProxyProvider) *SiteContext + func NewLOOSScraper(provider client.ProxyProvider) *SiteContext + func NewLazyNeerScraper(provider client.ProxyProvider) *SiteContext + func NewLazyPurpleScraper(provider client.ProxyProvider) *SiteContext + func NewMaxDBScraper(provider client.ProxyProvider) *SiteContext + func NewMoeVsMachineScraper(provider client.ProxyProvider) *SiteContext + func NewNeonHeightsScraper(provider client.ProxyProvider) *SiteContext + func NewNideScraper(provider client.ProxyProvider) *SiteContext + func NewOpstOnlineScraper(provider client.ProxyProvider) *SiteContext + func NewOreonScraper(provider client.ProxyProvider) *SiteContext + func NewOtakuScraper(provider client.ProxyProvider) *SiteContext + func NewPandaScraper(provider client.ProxyProvider) *SiteContext + func NewPetrolTFScraper(provider client.ProxyProvider) *SiteContext + func NewPrwhScraper(provider client.ProxyProvider) *SiteContext + func NewPubsTFScraper(provider client.ProxyProvider) *SiteContext + func NewRetroServersScraper(provider client.ProxyProvider) *SiteContext + func NewRushyScraper(provider client.ProxyProvider) *SiteContext + func NewSGGamingScraper(provider client.ProxyProvider) *SiteContext + func NewSameTeemScraper(provider client.ProxyProvider) *SiteContext + func NewSavageServidoresScraper(provider client.ProxyProvider) *SiteContext + func NewScrapTFScraper(provider client.ProxyProvider) *SiteContext + func NewSirPleaseScraper(provider client.ProxyProvider) *SiteContext + func NewSkialScraper(provider client.ProxyProvider) *SiteContext + func NewSneaksScraper(provider client.ProxyProvider) *SiteContext + func NewSpaceShipScraper(provider client.ProxyProvider) *SiteContext + func NewSvdosScraper(provider client.ProxyProvider) *SiteContext + func NewSwapShopScraper(provider client.ProxyProvider) *SiteContext + func NewTF2MapsScraper(provider client.ProxyProvider) *SiteContext + func NewTheVilleScraper(provider client.ProxyProvider) *SiteContext + func NewTitanTFScraper(provider client.ProxyProvider) *SiteContext + func NewTriggerHappyScraper(provider client.ProxyProvider) *SiteContext + func NewUGCScraper(provider client.ProxyProvider) *SiteContext + type SiteParsers struct + LastPage LastPageDocFunc + Records ParseDocFunc