195 894 wyświetleń w dwa tygodnie. Bez ani jednej ręcznej publikacji. Tak wygląda wynik bota, który sam wystawia jedno ogłoszenie na dziesiątkach lokalnych grup na Facebooku.
Ten tekst to pełny rozkład tego systemu: jak jest napisany, na czym się wyłożyłem, jakie ma zabezpieczenia i co konkretnie z niego wyszło. Bez teorii. Wszystkie liczby pochodzą z działającego wdrożenia.
Skąd ten bot w ogóle się wziął
Punkt wyjścia był banalny. Hala 525 m² do wynajęcia pod Gorzowem i dziesiątki grup ogłoszeniowych w okolicy. Ręczne wystawianie to godziny klikania tygodniowo, a przy większej skali prosta droga do blokady konta.
Napisałem więc bota, który robi to za mnie. Playwright wchodzi po kolei do grup, pisze tekst znak po znaku, czeka aż wgrają się zdjęcia i film, klika "Opublikuj". Człowiek nie wystawi 37 postów dziennie przez dwa tygodnie. Automat tak.
Trzy rzeczy, które okazały się najtrudniejsze
1. Lista grup na FB jest wirtualizowana. DOM kłamie
Checkboxy znikają przy scrollu, elementy istnieją w drzewie, ale nie na ekranie. Klasyczne selektory się sypią. Skończyło się na klikaniu po współrzędnych myszy i czytaniu nazwy grupy przez elementFromPoint. Mniej elegancko, bardziej niezawodnie.
2. Passkey 2FA blokował Playwright
Świeży profil przeglądarki nie przejdzie logowania kluczem sprzętowym. Bot podpina się więc po CDP do prawdziwego Chrome, w którym loguję się raz, ręcznie. Każde konto ma własny profil i własny fingerprint. Sesja żyje tygodniami.
3. Anty-ban od pierwszego dnia, nie po pierwszej blokadzie
Limity były w systemie zanim wyszedł pierwszy post: na starcie 3-5 postów dziennie, przerwy między publikacjami początkowo 8-18 minut (po okresie rozbiegowym zszedłem do 8-13), losowy jitter, maksymalnie 2 grupy z jednego miasta pod rząd, okno publikacji 7:00-23:00 i 48 godzin przerwy na tę samą grupę. Do tego kill-switch: jeśli FB pokaże checkpoint, cały system staje natychmiast, wszystkie konta.
"Wystawione" to nie to samo co "wystawione poprawnie"
Najważniejsza lekcja z całego projektu. Złapałem przypadek, w którym post poszedł ucięty i bez wideo, a system raportował sukces, bo Facebook zwrócił poprawną odpowiedź.
Dlatego bot ma read-back: po publikacji crawler wraca do grupy i sprawdza, czy post NAPRAWDĘ wisi i czy treść się zgadza. Każda publikacja przechodzi przez statusy: zaplanowana, wysłana, potwierdzona albo nieobecna. "Wysłana" znaczy tylko tyle, że kliknęliśmy Opublikuj. Dopiero crawler zmienia status na potwierdzony. Treść ucięta albo brak medium? Status failed, nie published.
Jeśli budujecie podobne automaty: nie ufajcie "200 OK". Liczcie fakty, nie deklaracje.
Walidator, przez który treść nie może skłamać
Drugi bezpiecznik działa zanim post w ogóle wyjdzie. Każda kampania ma listę dozwolonych liczb (whitelist) i listę zakazanych twierdzeń (blocklist). Szablon z liczbą spoza whitelisty albo cechą z blocklisty jest odrzucany automatycznie. Bot fizycznie nie jest w stanie opublikować "525 m²" tam, gdzie hala ma inną powierzchnię, ani obiecać czegoś, czego oferta nie zawiera.
Z jednego ogłoszenia zrobił się system wielokampaniowy
Hala była kampanią numer jeden. Potem doszła druga, zupełnie inna: Stadomat.pl, aplikacja do ewidencji stada dla hodowców bydła. Ten sam silnik, inne treści, inne grupy, osobne konto z własną sesją.
Jak wygląda lejek dla nowej kampanii:
- Szukanie grup: bot odpytuje wyszukiwarkę FB po frazach (dla Stadomatu: tematyka rolnicza, ogólnopolsko). W targetingu jest 330 grup, z czego 307 czeka jako kandydaci.
- Dołączanie: throttlowane, po kilka dziennie, per konto. Obecnie 21 grup dołączonych, zero blokad.
- Ocena AI: każda grupa dostaje ocenę tematyki i dopasowania do klienta, zanim trafi do rotacji.
- Treści: trzy warianty posta (short, medium, long). Publikowane są wyłącznie te, które ręcznie zatwierdzę. Rotacja zatwierdzonych działa jak test A/B.
Wyniki po dwóch tygodniach
Kampania hali, dwa tygodnie pracy automatu:
- 195 894 wyświetleń ogłoszenia,
- +247 867% zasięgu względem publikacji ręcznych,
- 99 grup w 31 miastach,
- do 37 postów dziennie, każdy zweryfikowany przez crawler.
Czy automatem da się zwiększyć zasięgi na Facebooku? Da się. Tylko to nie magia, a konsekwencja. Systematyczność, której człowiek nie utrzyma, plus weryfikacja, której człowiekowi zwykle się nie chce robić.
Cztery lekcje, które zostają
- DOM potrafi kłamać. Przy wirtualizowanych listach klikaj po współrzędnych i czytaj ekran, nie drzewo.
- Nie walcz z 2FA, obejdź je legalnie. CDP do prawdziwej przeglądarki z prawdziwą sesją bije każdą próbę emulacji.
- Limity wprowadza się przed pierwszym postem. Po pierwszej blokadzie jest za późno.
- Raport sukcesu bez weryfikacji jest bezwartościowy. Read-back i twarde bramki failed/published to różnica między systemem a zabawką.
Przegląd tego podejścia od strony biznesowej opisałem wcześniej w artykule o automatyzacji publikacji na grupach Facebooka. O tym, jak wygląda praca z AI przy takich projektach na co dzień, piszę w tekście o 6 miesiącach Claude Code w produkcji.
Potrzebujesz Automatyzacji w Firmie?
Jeśli chcesz wdrożyć automatyzację procesów w swojej firmie, nie musisz robić tego sam. Sprawdź automatyzację AI dla biznesu lub umów bezpłatną rozmowę (20 min), powiem Ci, od czego zacząć i jakich rezultatów się spodziewać.