Hejto.pl
Dodaj post

Wpisz coś do wyszukania (minimum 2 znaki)

Wpis użytkownika kontrabanda w Dyskusje

Osobistość

w Dyskusje

7piorunów

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 :grinning:

Komentarze (51)

GURU0piorunów

U mnie chyba działa???

Osobistość0piorunów

@entropy_: ustawione, już się nie pruje że coś jest nie tak -- serdecznie dziękuję

Gruba ryba1piorunów

> Trzeba się domyślać, jakie parametry i wartości wpisywa
Kto j⁎⁎ał offshore ten się w cyrku nie śmieje.

GURU3piorunów

First time? @entropy_ juz takie cuda widzial nurkujac w tym szambie ze sie w cyrku nie smieje

GURU1piorunów

@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:
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

Fanatyk2piorunów

@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).

GURU1piorunów

@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

Fanatyk2piorunów

@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 :facepunch:

GURU0piorunów

@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

GURU0piorunów

@kontrabanda wszystko (chyba) masz w zakładce "other" której nie kliknąłeś

Osobistość0piorunów

@entropy_: 201 jak dobrze pamiętam to "Created", więc prędzej bym się tego spodziewał jeżeli się pojawia nowy post.

GURU1piorunów

@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

Osobistość1piorunów

@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.

GURU0piorunów

@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

Osobistość0piorunów

@entropy_: Invalid JSON in response body at jsonParse. Tylko tyle. W razie czego załączam też to:

GURU0piorunów

@kontrabanda a co tam jest w other?
Też używam n8n i zgaduję że dostałeś odpowiedź z kodem innym niż 200

Osobistość0piorunów

@entropy_: ale i tak dzięki za chęć pomocy

Osobistość1piorunów

W ogóle to też jest ciekawe odnotowania, gdyż n8n niby pisze, że jest błędny JSON, ale post się pojawia na Hejto.

GURU1piorunów

@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

Osobistość1piorunów

@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).

GURU0piorunów

@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

Fanatyk1piorunów

@entropy_ - ale OP prosi dokładnie o to samo - przykłady używania API by móc dodawać posty - a nie całą Twoją bibliotekę :sweat:

GURU0piorunów

@kontrabanda community to musi być slug tej komunity. To co w url

GURU0piorunów

@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

Osobistość0piorunów

@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.

Fanatyk2piorunów

@entropy_- a co on taki hitry - sam odemnie dostał przykłady jak używać Hejto API a teraz się nie podzieli?

GURU0piorunów

@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

Osobistość1piorunów

@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 :stuck_out_tongue_winking_eye:

GURU0piorunów

@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żę.

Osobistość0piorunów

@entropy_: masz gdzieś kod publicznie dostępny? Jeżeli tak, pomoc by była bezcenna.

GURU1piorunów

@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

Fanatyk2piorunów

@ErwinoRommelo - albo to albo jeszcze Tomeczek @entropy_ tego API do niczego bardziej skomplikowanego nie próbował wykorzystać :stuck_out_tongue_winking_eye:

GURU1piorunów

@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

GURU5piorunów

@entropy_ jesli ebe stoi za toba z bronia palna to mrugnij 3 razy

GURU1piorunów

@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.

Osobistość3piorunów

@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

Fanatyk4piorunów

@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ą :face_exhaling:

GURU0piorunów

@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

GURU1piorunów

@ErwinoRommelo a ratelimit udało mi się wbić raz tylko i to na serwerze testowym

GURU0piorunów

@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-

Fanatyk6piorunów
GURU4piorunów

@kontrabanda Puppeteer i po problemie :grinning:

GURU4piorunów

@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).

Osobistość1piorunów

@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ę.

Mastodon documentationWelcome to the Mastodon documentation!Joinmastodon
Osobistość0piorunów

@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ę
Osobistość3piorunów

@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ę