API Hejto jest tragicznie udokumentowane. Trzeba się domyślać, jakie parametry i wartości wpisywać (mało tego, wiadomości z API są w języku polskim, ale dokumentacja już jest po angielsku). Gdyby kod API Hejto był otwarty, to by nie było problemu. Właśnie "udało mi się" dostać ratelimita, testując automatyzację nowych publikacji


#nowywlascicielhejto

Komentarze (51)

@kontrabanda Właśnie mi przypomniałeś post sprzed wieków, który krążył po specjalistycznych boardach. xD


...co to jest za usługa %SvStream.DeviceDesc% w pierdolonym win2k, bo wypierdala mi się co godzinę razem z całym w d⁎⁎ę je⁎⁎⁎ym systemem, a jakaś niedorżnięta w d⁎⁎ę parchawa ciota spolszczyła zasrane nazwy usług i procesów, tylko że, k⁎⁎wa, nie starczyło jej je⁎⁎⁎ej konsekwencji, żeby spolszczyć je także w komunikatach o błędach, co dowodzi jednoznacznie, że microsoft to chuje, i to krzywe. anyway, jeśli ktoś ma pomysł, co to gówno robi, jak to wy⁎⁎⁎⁎⁎olić w pizdu albo uzdatnić do je⁎⁎⁎ej współpracy, to bardzo proszę o pomoc, zanim mnie ciężka ku⁎⁎⁎ca trafi i wy⁎⁎⁎⁎dolę całe to pudło przez pierdolone okno.

z góry dziękuję

@zed123 : przepiszmy to na "dzisiejsze standardy":


...co to jest za API w pierdolonym Hejto, bo wypierdala mi się co minutę razem z całymi w d⁎⁎ę je⁎⁎⁎ymi workflowami, a jakaś niedorżnięta w d⁎⁎ę parchawa ciota spolszczyła zasrane odpowiedzi z API, tylko że, k⁎⁎wa, nie starczyło jej je⁎⁎⁎ej konsekwencji, żeby spolszczyć je także w dokumentacji, co dowodzi jednoznacznie, że [...] to chuje, i to krzywe. anyway, jeżeli ktoś ma pomysł, co to gówno robi, jak to wy⁎⁎⁎⁎⁎olić w pizdu albo uzdatnić do je⁎⁎⁎ej współpracy, to bardzo proszę o pomoc, zanim mnie ciężka ku⁎⁎⁎ca trafi i wy⁎⁎⁎⁎dolę całe to API przez pierdolone okno.

z góry dziękuję

@ataxbras: my akurat używamy n8n do automatyzacji. Mastodona dla porównania dało radę spiąć bez problemu. Wystarczy zarejestrować aplikację na Mastodonie, przekleić dane autoryzacyjne tam gdzie trzeba, a dokumentacja do API Mastodona przynajmniej jest o wiele lepiej i przejrzyściej napisana -- https://docs.joinmastodon.org.


@hejto -- moglibyście wziąć przykład z twórców Mastodona, dokumentując API. Z góry dziękuję.

@kontrabanda Też używam n8n - n8n-nodes-puppeteer. Puppeteer nadaje się do tego, żeby móc wykonywac akcje bez wykorzystania API (jeśli jest skopane/niewygodne).

@ErwinoRommelo ja miałem zero problemów.

No ale to ja, umiem czytać i w ogóle.

Przyznaję jest kilka miejsc gdzie się trzeba domyślać ale nie jest aż tak źle.

Powiedział bym 5-

@koszotorobur no wiadomo ze prowizorka totalna xd no ale co zrobisz, takiego spaghetti codu juz nie odplatasz a od nowa robic znowu? Komu by sie chcialo

@entropy_ - przecież to API to jest śmiech na sali - nie dość, że niektóre parametry nie są udokumentowane a są wymagane i dowiadujesz się o nich z odpowiedzi API (łaskawcy przynajmniej tyle dali) - to jeszcze ma ograniczenia ilości zwracanych podstron (większość endpointów po 50 podstronie zwraca 50 podstronę).

Nawet mi się nie chce innych idiotyzmów przypominać bo mnie tylko nerwy szarpią

@entropy_: z racji tego, że jestem frontendowcem, nie jest to moje pierwsze zetknięcie się z konceptem API. Tyle że w innych przypadkach albo dostaję instrukcję, co gdzie trzeba przesłać, albo dostaję dokumentację, która jest napisana na tyle dobrze, że nie będę musiał się domyślać, co trzeba zrobić, żeby stało się to, co chcę.


Na Hejto z kolei np. endpoint do publikacji postów jest dla mnie niejasno wytłumaczony. Okej, jest zmienna `content`, to tam oczywiste, że trzeba wrzucić zawartość postu. Ale potem zacząłem dostawać w trakcie testowania błędy typu "zdefiniuj społeczność" czy "zdefiniuj typ postu". Patrzę w dokumentację, a tam... nie ma żadnej informacji o tym, jak mam zdefiniować dodatkowe parametry. Wpisuję w wyszukiwarkę "type", "post", "link" -- wyszukiwarka nic nie zwraca.


Dla porównania dokumentacja Mastodona, gdzie też jesteśmy, jest przejrzyście napisana -- i tam nie miałem żadnego problemu ze zdefiniowaniem odpowiedniego zapytania. /OJ

@ErwinoRommelo @koszotorobur neee nie jest tak

źle.

Też robiłem podsumowanie, ale poszedłem z innej chyba strony bo raz pobrałem i robiłem wstępne obliczenie niektórych rzeczy

Wszystko co było żle wynikało z mojego chujowego kodu.

@kontrabanda type post link i article to pamiętam jak implementowałem w swoim kliencie. Jak się przyzwyczaisz jak uploadować obrazki to w zasadzie działają tak samo

@ErwinoRommelo ja serio takich problemów nie miałem.

Testowałem bota i raz wbiłem rate limit ale cały kod pokazałem adminom. Musisz ze 6 postów na minutę wrzucić żeby to dostać więc kolega robił bruteforce

@kontrabanda oczywiście że nie żeby botów do publikacji i piorunowania nie robić. Pokazalem jednemu adminowi i jak chce to niech udostępni, ja do tego ręki nie przyłożę.

@entropy_: zawsze też możesz pokazać część kodu na DMach, o ile Hejto ma taką funkcjonalność. Abstrahując, security by obscurity to zły pomysł na zabezpieczenie aplikacji

@kontrabanda ale to jest tylko wrapper do pythona na to api.

Dosłownie najebany to pisałem pół na pół z qwen2.

Powiedz z czym masz taki problem to może coś poradzimy tutaj publicznie

@entropy_: mam workflow w n8n, który pozwala mi na zautomatyzowanie publikacji. Po otrzymaniu pomocy od @koszotorobura mam teraz coś takiego. Docelowo jednak chcę, żeby to występowało jako znalezisko.

fcecef6b-f157-4232-a97b-254067dadd6e

@koszotorobur tak, dałeś mi przykład jak wygenerować token i zrobić post. Uwazam, że ta moja biblioteka idzie za daleko w tym kierunku i związana jest z Twoją (poza generowaniem tokena) tylko tym samym endpointem w api

@kontrabanda community ustaw to co na czerwono. Ma być slug

Nsfw nie trzeba ustawiać. Mało tego czasami samo się ustawi jak użyjesz śliskich tagów

b4e3c67c-47d5-49e0-9a21-32c56a76d6fd

@entropy_: dobra, póki co udało mi się ogarnąć posty jako `discussion`. Szału nie ma, ale lepsze to niż nic. RSSy wordpressowe nie dają zdjęć tytułowych (no i ich definiowanie w n8n, żeby API Hejto było zadowolone, nie jest na moje nerwy).

@kontrabanda moim sposobem i tak musiał byś mieć lokalnie pobrać na przynajmniej kilka milisekund obrazek plus musiał byś zmusić n8n do użycia mojej upośledzonej biblioteki pythona xD

Szybciej jest tak jak jest bez implementacji tego w n8n xD

@kontrabanda aaaa rozumiem.

Dostałeś 201 albo 203 co znaczy po prostu ok.

To nie hejto jest złe tylko n8n zjebany.

A wiem że jest zjebany bo sam używam

@entropy_: dobra, "oszukałem" system. Dodałem blok-widmo który nic nie robi, ale ustawienia są takie, żeby przy Hejto kontynuowało wykonywanie workflowa. No i n8n widzi to jako "sukces" w ostatecznym rozrachunku.

cad33973-06ea-4122-ba2e-34094465463f

@kontrabanda słuchaj, n8n jest niedojebane jak lato z radiem i piszę to jako osoba która używa tego w chuj.

Hejto zwraca 201(albo 203 nie chce mi się teraz sprawdzać a nie pamiętam) co znaczy po prostu: ok, zrobione

To że jakiś niedojebany (według mojej prywatnej opinii jako osoby która używa tego od przeszlo 2 lat) soft czegoś nie umie zrobić to nie wina dokumentacji. To wina niedojebanego softu.

Jakbyś to napisał pijany w pythonie z półmózgiem typu qwen2 jak ja to by działało od strzała.

Tldr

N8n nie ogarnia kodów odpowiedzi bo to nie jest python

@kontrabanda gdyby ktoś przeczytał dokumentację to by się dowiedział że json nie jest w tym api odpowiedzią na stworzenie postu.

@koszotorobur ale to chyba trzeba bardziej zaawansowane rzeczy z api robić jak ja

A wszystkiego mozna bylo uniknąć klikając "other info" i przeczytać dlaczego sie wysypało

12e1675d-2124-4a46-9583-a50ff4c365cc

@entropy_ - nawet jak wszystko jest wyjaśnione to zdarzają się problem bo człowiek nie znajdzie sam lub nie doczyta lub źle zinterpretuje

Ja tam pomagam wszystkim bo wiem, że nie wszytko dla każdego jest oczywiste - pomimo, że z mojej perspektywy się takim zdaje.

A OP Twoją pomoc też docenił i miło, że sobie pomagamy tu na Hejto

@koszotorobur akurat tutaj to nie jest nasza interpretacja tylko twórców n8n, którzy uznali że odpowiedzi "ok, dodane" nie da się wysłać kodem 201 tylko MUSISZ jsonem xD

Jakąś połowę swoich automatyzacji przepisałem na pythona bo to gówno jest ledwo używalne xD

Najśmieszniej jest jak potrzebujesz jednego z argumentów który jest na wejściu użyć na wyjściu a w środku masz pętlę.

Ogólnie to rozwiązanie tego problemu w n8n to machajacypapiez.jpg xDDD

@entropy_ - używanie języka programowania ma zdecydowanie swoje plusy - zwłaszcza nad różnymi graficznymi narzędziami do automatyzacji, które jak widać mają swoje głupie funkcjonalności (lub ich brak).

@koszotorobur Akurat w n8n najbardziej co mnie denerwuje to że nie ma "stanu globalnego" nie wiem jak to fachowo nazwać

jak masz komórkę która robi

def foo():

return a=5 b=13 c="banan"


Potem komórkę z pętlą while

bar(a,b,c)

while x:

#do something on a,b,c

return d


i trzecią komórkę w której potrzebujesz abc oraz zależnego od nich d to odzyskanie a,b,c zależy od kontekstu i nawet wtedy udaje się czasami. ale d z poprzedniej komórki dostaniesz zawsze.

Jezus Maria jak mnie to wkurwia

@kontrabanda Tak ustaw kolego jak u mnie na obrazkach, żadnych błędów nie ma i nie trzeba nic rzeźbić

Koment wyżej wstawiłem z n8n i workflow się nie zatrzymał.

6583ef6b-7646-40c8-9cd1-88671ef69b72
eb1f2afe-1be1-4e0e-9195-a84be95fd075
7eba687c-b2bd-4d3b-bb7e-f1b44bbee9fd

Zaloguj się aby komentować