extension ExtPose

MCAP Alert

CRX id

ehopfahamnhloidpeopoccebjnehglfd-

Description from extension meta

Przycisk MCAP ALERT pod wykresem na trade.padre.gg, alerty głosowe (działają w tle) i e-mail 'Rich Alert💲' z linkiem do coina.

Image from store MCAP Alert
Description from store Jedno kliknięcie, dwie linie konfiguracji, zero zbędnego hałasu. MCAP Alert dokleja do widoku tokenu na trade.padre.gg przycisk MCAP ALERT oraz panel konfiguracyjny dwóch alertów rynkowych. Gdy kapitalizacja (MCAP) danego tokenu przekroczy lub spadnie poniżej ustawionego progu, wtyczka zareaguje w dwóch kanałach: głosowo (TTS) oraz e‑mailem (przez bezpieczny endpoint SMTP proxy). Wszystko działa nawet wtedy, gdy karta nie jest na wierzchu — bez potrzeby trzymania otwartego osobnego „lektora”. 1. Elevator pitch Dla kogo: aktywni traderzy/krypto‑skalp erzy pracujący na wykresach w Padre. Problem: ręczne czatowanie wykresu i przegapianie wybicia/spadku MCAP. Rozwiązanie: lekki content‑script, który: wstrzykuje przycisk MCAP ALERT pod zakładkami Trades / Orders / Holders / …, udostępnia dwa niezależne alerty z akceptacją (żeby nic nie odpaliło się „przypadkiem”), wypowiada nazwę coina + komunikat „Urósł/Spadł”, wysyła e‑mail o tytule Rich Alert💲 z treścią: (<Nazwa coina>) Urósł/Spadł do (<Próg>) i linkiem do strony tokenu. 2. Najważniejsze możliwości (skrót) Przycisk i panel — widoczne tylko na stronach tokenów; panel rozwija się w dół i nie zasłania interfejsu. Dwa alerty — każdy z własnym progiem (0 → 10M), kierunkiem (powyżej/poniżej), cooldownem (s), przełącznikiem On oraz osobnym „Akceptuj” (wymagana świadoma zgoda na start). Brak wartości domyślnych — próg jest pusty (bezpieczne "default‑off"). TTS — mówi: „. Urósł/Spadł.” (bez „se”), z możliwością globalnego włączenia/wyłączenia. E‑mail — pole na adres odbiorcy; wysyłka przez https://www.dejmnieto.pl/crypto/email.php (CORS proxy do prywatnego SMTP). Per‑coin storage — konfiguracja zapisywana w localStorage pod kluczem zbudowanym z pathu strony (każdy coin ma własne progi i ustawienia). Odczyt MCAP i nazwy — bez API zewnętrznych, tylko analiza DOM: największy nagłówek z wartością $…, nazwa coina wyciągana z sekcji token:info (fallback — tytuł strony). Stabilność DOM — automatyczne ponowne montowanie po zmianach w drzewie (MutationObserver) + wyszukiwanie slotu pod tabami. Lekkość — pętla odświeża MCAP co ~1 s (regulowalne), operacje obliczeniowe są marginalne. Bezpieczeństwo — brak przechowywania haseł, wysyłka maili tylko z minimalnym JSON do zaufanego backendu; brak śledzenia użytkownika. 3. Jak to działa — architektura w pigułce 3.1. Content‑script (Manifest V3) Wtyczka to czysty content‑script, dołączany na document_idle na adresach https://trade.padre.gg/*. Nie modyfikuje globalnych obiektów strony poza dodaniem własnych elementów DOM i stylów z prefiksami padre-…. 3.2. Montaż UI Znalezienie kotwicy — skrypt szuka sekcji token:section-orders i wewnątrz niej listy tabów (.MuiTabs-root / [role="tablist"]). Wstawienie wrapa — za tabami doklejany jest #padre-mcap-wrap (wysokość 40 px), w którym centrowany jest przycisk MCAP ALERT. Panel — absolutnie pozycjonowany kontener .padre-mcap-panel otwierany kliknięciem przycisku; domyślnie ukryty (opacity + pointer‑events). 3.3. Pętla i czujniki DOM Loop 1s — co sekundę: odczyt MCAP, uaktualnienie stanu i ewaluacja alertów. MutationObserver — gdy React w Padre przebuduje sekcję, skrypt wykrywa zniknięcie wrapa i montuje UI ponownie. 4. Parsowanie danych z interfejsu 4.1. MCAP Heurystyka: w sekcji token:info/token:stats wybieramy element z największą czcionką, który zawiera znak $ i liczby. Normalizacja: funkcja parseMoney() rozumie zapisy: 145K, 2.3M, 1.2B, polskie 145 tys / 2 mln / 3 mld oraz wartości z separatorem i spacją niełamliwą. 4.2. Nazwa coina Preferencja: z token:info zbieramy liście (teksty bez dzieci), filtrujemy wszystko, co zawiera cyfry lub $, sortujemy malejąco po długości i bierzemy pierwszą pozycję. Fallback: document.title.split('|')[0]. 5. Model danych i zapisywanie stanu Klucz: mcap_alert:<pathname> — różne progi dla różnych tokenów. Struktura: { "alerts": [ {"id":"A","name":"Alert #1","threshold":123000,"direction":"above","cooldownSec":0,"enabled":true,"accepted":true,"dirty":false}, {"id":"B","name":"Alert #2","threshold":98000,"direction":"below","cooldownSec":30,"enabled":true,"accepted":true,"dirty":false} ], "tts":{"enabled":true,"voiceName":null,"rate":1,"pitch":1,"volume":1}, "email":"[email protected]" } Zasada: zmiana progu/kierunku/cooldownu oznacza dirty=true i dezaktywuje alert dopóki użytkownik nie kliknie Akceptuj. 6. UX panelu alertów Brak domyślnych progów — pole Wartość jest puste, a slider nieaktywny, dopóki użytkownik nie wpisze liczby. „Akceptuj” — dopiero po akceptacji slider (i On) są aktywne dla danego alertu. „On” — włącza/wyłącza alert bez utraty ustawień. Nie można włączyć, gdy dirty=true. E‑mail — zapis osobnym przyciskiem, by uniknąć przypadkowych literówek. Głos — globalny przełącznik TTS; zapamiętywany dla danego coina. 7. Ewaluacja alertów (logika crossingów) Określenie strony: cur >= threshold ? 'above' : 'below'. Crossing: przejście następuje, gdy poprzednia strona ≠ aktualna i kierunek zgadza się z ustawieniem alertu. Cooldown: wyzwolenie nastąpi, jeśli od ostatniego odpalenia minęło co najmniej cooldownSec. Akcja: TTS: "<coin>. Urósł." lub "<coin>. Spadł." (bez „se”). E‑mail: temat „Rich Alert💲”, treść (<coin>) Urósł/Spadł do (<wartość>) + link do bieżącej strony. 8. Text‑to‑Speech (TTS) Mechanizm: SpeechSynthesisUtterance z preferencją głosu PL (fallback EN → pierwszy dostępny). Parametry: tempo, ton, głośność — przechowywane w state.cfg.tts; w obecnej iteracji kontrolujemy głównie enabled. Odporność: przed mówieniem wywoływane jest speechSynthesis.cancel() (brak kumulacji kolejek). Prywatność: wszystko lokalnie w przeglądarce, bez wysyłania audio. 9. Powiadomienia e‑mail Endpoint: POST https://www.dejmnieto.pl/crypto/email.php (CORS włączony dla rozszerzenia); payload JSON: {"to":"[email protected]","subject":"Rich Alert💲","body":"<treść>","fromName":"Crypto Alert 📈","from":"[email protected]"} Bezpieczeństwo: po stronie klienta nie ma haseł SMTP; backend (PHP) po Twojej domenie realizuje wysyłkę. Walidacja: wtyczka nie narzuca regexu na e‑mail — intencjonalnie, by nie wycinać egzotycznych aliasów; zapis ręcznie potwierdzany przyciskiem. 10. Styl i osadzenie UI Kompaktowy wrapper (40px) — nie zasłania wykresu; przycisk wyśrodkowany. Panel — absolutnie pozycjonowany, otwiera się w dół, z przejściem (opacity/translateY). Kontrast — żółty rgb(248, 249, 0) dla przycisku; panel ciemny, aby nie rozpraszać. Ikona — z https://www.puzzelsi.pl/images/mcap.svg (można łatwo podmienić na lokalną w paczce). 11. Wydajność i niezawodność Pętla co 1 s — lekka; parsowanie to pojedyncze zapytania do DOM i prosty Number/RegExp. Fallbacki — w razie zniknięcia elementów (zmiana zakładki/reaktywne przebudowanie) obserwator montuje wrap ponownie. Idempotencja — przed montażem usuwamy starsze instancje #padre-mcap-wrap. 12. Instalacja, publikacja, uprawnienia Lokalnie: chrome://extensions → Developer mode → Load unpacked → folder paczki. Web Store: Manifest V3, content_scripts.matches = https://trade.padre.gg/*, host_permissions = https://www.dejmnieto.pl/*. Prywatność: brak śledzenia; cały stan w localStorage użytkownika; w sieć wychodzi tylko fetch() do endpointu e‑mail z minimalnym payloadem. 13. Rozwiązywanie problemów (FAQ) Nie słyszę głosu: sprawdź Głos w panelu; w systemie może być zablokowany TTS dla karty; przestaw na inną kartę/odśwież. Mail nie dochodzi: upewnij się, że adres zapisany (Zapisz) i że backend email.php odpowiada 200; sprawdź SPAM. Przycisk zniknął: Padre czasem przebudowuje sekcję; skrypt powinien go odtworzyć w ciągu chwili; ewentualnie odśwież stronę. Alert nie odpala: czy kliknięto Akceptuj? Czy On jest włączone? Czy cooldown nie blokuje kolejnego wyzwolenia? 14. Roadmapa Wybór konkretnego głosu i parametrów TTS w panelu. Więcej niż 2 alerty (opcjonalnie ukryte pod „Dodaj alert”). Eksport/import konfiguracji per coin. Webhook (np. do Telegrama/Discorda) jako alternatywa dla e‑maili. 15. Uzasadnienia projektowe (dlaczego tak?) Akceptacja alertu — minimalizuje „fałszywe starty”. Brak wartości domyślnych — nigdy nie włączymy czegoś „przypadkiem”. Per‑coin storage — każdy token ma inne zakresy MCAP. Czysty content‑script — zero serwera pośredniego do logiki; mniej miejsc awarii. 16. Struktura kodu (wysoki poziom) Sekcja KONFIG/DEFAULT/state — definicje. Utils: parseMoney, fmtMoney, getCoinName, selektory DOM. I/O: speak, sendEmail. Core: evalAlerts, readMcap. UI: montaż wrapa, przycisku, panelu + render wierszy alertów. Loop + Observer: odświeżanie i odporność na zmiany. 17. Przykładowy przebieg działania Użytkownik klika MCAP ALERT → otwiera się panel. Wpisuje próg, wybiera kierunek, ustawia cooldown → przycisk Akceptuj (status zmienia się na „zatwierdzone”). Włącza przełącznik On (jeśli nieaktywny — próg nadal „brudny”). Opcjonalnie wpisuje e‑mail i klika Zapisz. W tle pętla porównuje bieżący MCAP z progiem i reaguje: głos + mail. 18. Zgodność i ograniczenia Testowane na aktualnym UI Padre (Material‑UI/Tabs). Głębokie zmiany w strukturze DOM mogą wymagać aktualizacji selektorów. TTS zależy od wsparcia przeglądarki i zainstalowanych głosów w systemie. E‑mail wymaga działającego email.php z poprawną konfiguracją SMTP. 19. Licencja, odpowiedzialność, prywatność Wtyczka działa lokalnie, nie zbiera metadanych, nie śledzi zachowań. Autorzy nie odpowiadają za decyzje inwestycyjne podjęte na podstawie alertów; narzędzie ma charakter pomocniczy. 20. Szybkie recepty (cookbook) Chcę tylko TTS, bez maili: zostaw pole e‑mail puste. Chcę, żeby przycisk był po prawej: zamień centrowanie na right:12px w CSS przycisku i panelu (varianta opisana w rozmowie). Chcę inne progi domyślne: można dodać do DEFAULT.alerts, ale rekomendacja: zostawić null i wymuszać akceptację. Ta dokumentacja opisuje stan rozszerzenia przygotowany w ramach naszej sesji: kompaktowy przycisk, panel z akceptacją, TTS z nazwą coina i krótką formułą „Urósł/Spadł”, wysyłka maila przez dejmnieto.pl oraz odporność na zmiany DOM po stronie Padre.

Statistics

Installs
Category
Rating
0.0 (0 votes)
Last update / version
2025-08-13 / 1.0.1
Listing languages
pl

Links