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.
Users
3
0 in 30 days
Rating
0.0 / 5
unchanged in 30 days
Ratings
0
0 in 30 days
Store rank
#313K
#251K among extensions
Version
1.0.1
updated 13 Aug 2025
Users
monthly, 14 months
Latest, 16 Oct 2026:3 usersMove the mouse over the chart for any month
Ratings count
monthly, 14 months
Latest, 16 Oct 2026:0 ratingsMove the mouse over the chart for any month
The Chrome Web Store rounds user counts down to the leading digit, so the user line moves in steps. The ratings count is exact and is the better signal of real adoption.
About MCAP Alert
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":"twoj@adres.pl"
}
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":"user@example.com","subject":"Rich Alert💲","body":"<treść>","fromName":"Crypto Alert 📈","from":"crypto@dejmnieto.pl"}
Bezpieczeństwo: po stronie klienta nie ma haseł SMTP; backend (…