gnuworld/doc/comenzi-underchat.html

993 lines
67 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="ro">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>UnderChat — Comenzi Servicii IRC</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background: #0a0a1a;
color: #e0e0e0;
line-height: 1.6;
}
.header {
background: linear-gradient(135deg, #1a1a3e 0%, #0d0d2b 50%, #1a0a2e 100%);
padding: 40px 20px;
text-align: center;
border-bottom: 3px solid #6c3fb5;
position: relative;
overflow: hidden;
}
.header::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at center, rgba(108, 63, 181, 0.15) 0%, transparent 70%);
}
.header h1 {
font-size: 2.5em;
color: #b388ff;
text-shadow: 0 0 20px rgba(179, 136, 255, 0.5);
position: relative;
}
.header p {
color: #9e9e9e;
font-size: 1.1em;
margin-top: 10px;
position: relative;
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 20px;
}
.nav {
background: #111133;
padding: 15px 20px;
border-radius: 10px;
margin: 20px 0;
display: flex;
flex-wrap: wrap;
gap: 10px;
justify-content: center;
border: 1px solid #2a2a5a;
}
.nav a {
color: #b388ff;
text-decoration: none;
padding: 8px 18px;
border-radius: 6px;
background: #1a1a4a;
transition: all 0.3s;
font-weight: 600;
font-size: 0.95em;
}
.nav a:hover {
background: #6c3fb5;
color: #fff;
transform: translateY(-2px);
box-shadow: 0 4px 15px rgba(108, 63, 181, 0.4);
}
.alert-box {
background: linear-gradient(135deg, #2d1a0a, #1a0a00);
border: 1px solid #ff6f00;
border-left: 4px solid #ff6f00;
border-radius: 8px;
padding: 20px;
margin: 20px 0;
}
.alert-box h3 {
color: #ffab40;
margin-bottom: 10px;
font-size: 1.2em;
}
.alert-box p {
color: #ffcc80;
}
.alert-box code {
background: #3d2000;
padding: 2px 8px;
border-radius: 4px;
color: #ffd180;
font-family: 'Consolas', monospace;
}
.alert-box pre {
background: #1a0a00;
padding: 12px;
border-radius: 6px;
margin-top: 10px;
overflow-x: auto;
color: #ffcc80;
font-family: 'Consolas', monospace;
font-size: 0.9em;
}
.service-section {
margin: 30px 0;
border-radius: 12px;
overflow: hidden;
border: 1px solid #2a2a5a;
}
.service-header {
padding: 20px 25px;
display: flex;
align-items: center;
gap: 15px;
}
.service-header .bot-name {
font-size: 2em;
font-weight: 800;
min-width: 60px;
text-align: center;
}
.service-header .service-info h2 {
font-size: 1.4em;
margin-bottom: 3px;
}
.service-header .service-info p {
font-size: 0.9em;
opacity: 0.8;
}
.service-header .service-usage {
margin-left: auto;
background: rgba(0,0,0,0.3);
padding: 8px 16px;
border-radius: 6px;
font-family: 'Consolas', monospace;
font-size: 0.9em;
}
/* Culori per serviciu */
#cservice .service-header { background: linear-gradient(135deg, #1a3a1a, #0a1a0a); }
#cservice .service-header .bot-name { color: #69f0ae; }
#cservice .service-header h2 { color: #69f0ae; }
#cservice .cmd-category { border-left-color: #69f0ae; }
#cservice .cmd-category h3 { color: #69f0ae; }
#cservice table tr:hover { background: rgba(105, 240, 174, 0.05); }
#dronescan .service-header { background: linear-gradient(135deg, #3a1a1a, #1a0a0a); }
#dronescan .service-header .bot-name { color: #ff8a80; }
#dronescan .service-header h2 { color: #ff8a80; }
#dronescan .cmd-category { border-left-color: #ff8a80; }
#dronescan .cmd-category h3 { color: #ff8a80; }
#dronescan table tr:hover { background: rgba(255, 138, 128, 0.05); }
#openchanfix .service-header { background: linear-gradient(135deg, #1a1a3a, #0a0a1a); }
#openchanfix .service-header .bot-name { color: #82b1ff; }
#openchanfix .service-header h2 { color: #82b1ff; }
#openchanfix .cmd-category { border-left-color: #82b1ff; }
#openchanfix .cmd-category h3 { color: #82b1ff; }
#openchanfix table tr:hover { background: rgba(130, 177, 255, 0.05); }
#stats .service-header { background: linear-gradient(135deg, #3a3a1a, #1a1a0a); }
#stats .service-header .bot-name { color: #fff176; }
#stats .service-header h2 { color: #fff176; }
#stats .cmd-category { border-left-color: #fff176; }
#stats .cmd-category h3 { color: #fff176; }
#stats table tr:hover { background: rgba(255, 241, 118, 0.05); }
#scanner .service-header { background: linear-gradient(135deg, #1a3a3a, #0a1a1a); }
#scanner .service-header .bot-name { color: #80cbc4; }
#scanner .service-header h2 { color: #80cbc4; }
#snoop .service-header { background: linear-gradient(135deg, #3a1a3a, #1a0a1a); }
#snoop .service-header .bot-name { color: #ea80fc; }
#snoop .service-header h2 { color: #ea80fc; }
#snoop .cmd-category { border-left-color: #ea80fc; }
#snoop .cmd-category h3 { color: #ea80fc; }
#snoop table tr:hover { background: rgba(234, 128, 252, 0.05); }
#uworld .service-header { background: linear-gradient(135deg, #2a1a00, #1a0f00); }
#uworld .service-header .bot-name { color: #ffab40; }
#uworld .service-header h2 { color: #ffab40; }
#uworld .cmd-category { border-left-color: #ffab40; }
#uworld .cmd-category h3 { color: #ffab40; }
#uworld table tr:hover { background: rgba(255, 171, 64, 0.05); }
.cmd-category {
margin: 0;
padding: 15px 25px;
border-left: 3px solid;
background: #0d0d22;
}
.cmd-category h3 {
font-size: 1.1em;
margin-bottom: 10px;
text-transform: uppercase;
letter-spacing: 1px;
font-size: 0.9em;
}
table {
width: 100%;
border-collapse: collapse;
}
table th {
text-align: left;
padding: 10px 12px;
background: #0a0a18;
color: #9e9e9e;
font-size: 0.8em;
text-transform: uppercase;
letter-spacing: 1px;
}
table td {
padding: 10px 12px;
border-bottom: 1px solid #1a1a3a;
vertical-align: top;
}
table td:first-child {
font-family: 'Consolas', monospace;
font-weight: 700;
white-space: nowrap;
color: #fff;
font-size: 0.95em;
}
table td:nth-child(2) {
font-family: 'Consolas', monospace;
color: #b0bec5;
font-size: 0.85em;
}
table td:nth-child(3) {
color: #bdbdbd;
font-size: 0.9em;
}
table td:nth-child(4) {
color: #9e9e9e;
font-size: 0.85em;
text-align: center;
white-space: nowrap;
}
.badge {
display: inline-block;
padding: 2px 8px;
border-radius: 4px;
font-size: 0.75em;
font-weight: 700;
text-transform: uppercase;
}
.badge-admin { background: #b71c1c; color: #ffcdd2; }
.badge-oper { background: #e65100; color: #ffe0b2; }
.badge-user { background: #1b5e20; color: #c8e6c9; }
.badge-all { background: #1a237e; color: #c5cae9; }
.badge-owner { background: #4a148c; color: #e1bee7; }
.badge-logged { background: #006064; color: #b2ebf2; }
.note {
background: #111133;
border: 1px solid #2a2a5a;
border-radius: 8px;
padding: 15px 20px;
margin: 15px 25px;
font-size: 0.9em;
}
.note strong { color: #b388ff; }
.note code {
background: #1a1a4a;
padding: 1px 6px;
border-radius: 3px;
font-family: 'Consolas', monospace;
color: #ce93d8;
}
.separator {
height: 1px;
background: #1a1a3a;
}
.footer {
text-align: center;
padding: 30px;
color: #616161;
font-size: 0.85em;
border-top: 1px solid #1a1a3a;
margin-top: 40px;
}
.footer a { color: #b388ff; text-decoration: none; }
@media (max-width: 768px) {
.service-header { flex-direction: column; text-align: center; }
.service-header .service-usage { margin-left: 0; }
table td:nth-child(2) { display: none; }
.nav { flex-direction: column; }
.header h1 { font-size: 1.8em; }
}
</style>
</head>
<body>
<div class="header">
<h1>🌐 UnderChat — Comenzi Servicii IRC</h1>
<p>Documentație completă pentru toate serviciile disponibile pe rețeaua UnderChat</p>
<p style="margin-top:5px; font-size:0.85em; color:#757575;">Generat automat din codul sursă GNUWorld — Versiunea 2.1.6 — Martie 2026</p>
</div>
<div class="container">
<!-- Navigare -->
<div class="nav">
<a href="#cservice">🟢 X — CService</a>
<a href="#uworld">🟠 UWorld — CControl</a>
<a href="#dronescan">🔴 E — DroneScan</a>
<a href="#openchanfix">🔵 C — OpenChanFix</a>
<a href="#stats">🟡 Stats</a>
<a href="#scanner">🟠 Scanner</a>
<a href="#snoop">🟣 Snoop</a>
</div>
<!-- ======================== ALERTA DRONESCAN ======================== -->
<div class="alert-box" id="nota-dronescan">
<h3>⚠️ Notă importantă: DroneScan (E) — „No such user"</h3>
<p>
DroneScan are <strong>propria bază de date</strong> (<code>dronescan</code>), complet separată de CService (<code>cservice</code>).
Dacă primești eroarea <code>No such user Raducu</code>, înseamnă că utilizatorul <strong>nu există în tabela <code>users</code>
din baza de date <code>dronescan</code></strong>. De asemenea, <strong>trebuie să fii IRC Operator</strong> (<code>/oper</code>) ca să poți folosi comenzile lui E.
</p>
<p style="margin-top:10px;"><strong>Soluție — adaugă utilizatorul manual în PostgreSQL:</strong></p>
<pre>psql -h 10.1.100.252 -U gnuworld -d dronescan -c \
"INSERT INTO users (user_name, created, last_seen, last_updated, last_updated_by, flags, access) \
VALUES ('Raducu', extract(epoch from now())::int4, 0, extract(epoch from now())::int4, 'admin', 0, 1000);"</pre>
<p style="margin-top:10px; font-size:0.85em;">
După inserare, așteaptă <code>rcInterval</code> secunde (implicit 300s / 5 minute) sau repornește GNUWorld pentru ca E să reîmprospăteze cache-ul de utilizatori.
</p>
</div>
<!-- ======================== CSERVICE (X) ======================== -->
<div class="service-section" id="cservice">
<div class="service-header">
<div class="bot-name">X</div>
<div class="service-info">
<h2>CService — Serviciul de Canale</h2>
<p>Gestionarea canalelor, utilizatorilor, banurilor, suspendărilor și accesului</p>
</div>
<div class="service-usage">/msg X &lt;comandă&gt;</div>
</div>
<div class="cmd-category">
<h3>📋 Comenzi Generale (nivel 0 — toți utilizatorii)</h3>
<table>
<tr><th>Comandă</th><th>Sintaxă</th><th>Descriere</th><th>Nivel</th></tr>
<tr><td>SHOWCOMMANDS</td><td>[#canal]</td><td>Afișează toate comenzile disponibile (pe un canal dacă este specificat)</td><td><span class="badge badge-all">Toți</span></td></tr>
<tr><td>LOGIN</td><td>&lt;utilizator&gt; &lt;parolă&gt;</td><td>Autentificare la CService cu contul tău</td><td><span class="badge badge-all">Toți</span></td></tr>
<tr><td>ACCESS</td><td>&lt;#canal&gt; &lt;utilizator&gt; [-min n] [-max n] [-op] [-voice] [-none] [-modif]</td><td>Verifică nivelul de acces al unui utilizator pe un canal</td><td><span class="badge badge-all">Toți</span></td></tr>
<tr><td>CHANINFO / INFO</td><td>&lt;#canal&gt; sau &lt;utilizator&gt;</td><td>Afișează informații despre un canal sau utilizator</td><td><span class="badge badge-all">Toți</span></td></tr>
<tr><td>ISREG</td><td>&lt;#canal&gt;</td><td>Verifică dacă un canal este înregistrat</td><td><span class="badge badge-all">Toți</span></td></tr>
<tr><td>VERIFY</td><td>&lt;nick&gt;</td><td>Verifică dacă un utilizator este autentificat și cu ce cont</td><td><span class="badge badge-all">Toți</span></td></tr>
<tr><td>MOTD</td><td>(fără parametri)</td><td>Afișează Mesajul Zilei (Message of the Day)</td><td><span class="badge badge-all">Toți</span></td></tr>
<tr><td>HELP</td><td>[comandă]</td><td>Ajutor despre comenzi; fără parametru — lista completă</td><td><span class="badge badge-all">Toți</span></td></tr>
<tr><td>RANDOM</td><td>(fără parametri)</td><td>Generează o parolă aleatorie</td><td><span class="badge badge-all">Toți</span></td></tr>
<tr><td>SHOWIGNORE</td><td>(fără parametri)</td><td>Afișează lista curentă de ignorări</td><td><span class="badge badge-all">Toți</span></td></tr>
<tr><td>SUPPORT</td><td>&lt;#canal&gt; &lt;YES|NO&gt;</td><td>Susține sau refuză susținerea unei aplicații de canal</td><td><span class="badge badge-all">Toți</span></td></tr>
<tr><td>NOTE / NOTES</td><td>send &lt;utilizator&gt; &lt;mesaj&gt; | read all | erase &lt;all|id&gt;</td><td>Trimite, citește sau șterge note (mesaje private)</td><td><span class="badge badge-all">Toți</span></td></tr>
<tr><td>OBJECT</td><td>&lt;#canal&gt; &lt;obiecție&gt;</td><td>Trimite o obiecție la o aplicație de canal</td><td><span class="badge badge-all">Toți</span></td></tr>
<tr><td>CANCEL</td><td>&lt;#canal&gt; &lt;YES|NO&gt;</td><td>Anulează o aplicație de canal (de către cel care a aplicat)</td><td><span class="badge badge-all">Toți</span></td></tr>
<tr><td>HELLO</td><td>&lt;utilizator&gt; &lt;email&gt; &lt;email&gt; &lt;1-3&gt; &lt;răspuns&gt;</td><td>Înregistrează un cont nou (dacă ALLOW_HELLO este activat la compilare)</td><td><span class="badge badge-all">Toți</span></td></tr>
</table>
</div>
<div class="separator"></div>
<div class="cmd-category">
<h3>🔧 Comenzi de Canal (necesită acces pe canal)</h3>
<table>
<tr><th>Comandă</th><th>Sintaxă</th><th>Descriere</th><th>Nivel</th></tr>
<tr><td>OP</td><td>&lt;#canal&gt; [nick] [nick] ...</td><td>Dă operator (@) unuia sau mai multor utilizatori</td><td><span class="badge badge-user">100+</span></td></tr>
<tr><td>DEOP</td><td>&lt;#canal&gt; [nick] [nick] ...</td><td>Scoate operator (@) de la utilizatori</td><td><span class="badge badge-user">100+</span></td></tr>
<tr><td>HALFOP</td><td>&lt;#canal&gt; [nick] [nick] ...</td><td>Dă half-operator (%) unuia sau mai multor utilizatori</td><td><span class="badge badge-user">50+</span></td></tr>
<tr><td>DEHALFOP</td><td>&lt;#canal&gt; [nick] [nick] ...</td><td>Scoate half-operator (%) de la utilizatori</td><td><span class="badge badge-user">50+</span></td></tr>
<tr><td>VOICE</td><td>&lt;#canal&gt; [nick] [nick] ...</td><td>Dă voice (+v) unuia sau mai multor utilizatori</td><td><span class="badge badge-user">25+</span></td></tr>
<tr><td>DEVOICE</td><td>&lt;#canal&gt; [nick] [nick] ...</td><td>Scoate voice de la utilizatori</td><td><span class="badge badge-user">25+</span></td></tr>
<tr><td>ADDUSER</td><td>&lt;#canal&gt; &lt;utilizator&gt; &lt;acces&gt;</td><td>Adaugă un utilizator pe lista de acces a canalului</td><td><span class="badge badge-user">400+</span></td></tr>
<tr><td>REMUSER</td><td>&lt;#canal&gt; &lt;utilizator&gt;</td><td>Șterge un utilizator de pe lista de acces</td><td><span class="badge badge-user">400+</span></td></tr>
<tr><td>MODINFO</td><td>&lt;#canal&gt; ACCESS &lt;user&gt; &lt;nivel&gt; | AUTOMODE &lt;user&gt; &lt;NONE|OP|VOICE&gt; | INVITE &lt;ON|OFF&gt;</td><td>Modifică acces, automode sau setarea de invite a unui utilizator</td><td><span class="badge badge-user">400+</span></td></tr>
<tr><td>SET</td><td>[#canal] &lt;variabilă&gt; &lt;valoare&gt; | INVISIBLE &lt;ON|OFF&gt; | LANG &lt;limbă&gt; | MAXLOGINS &lt;nr&gt;</td><td>Setează opțiuni de canal (AUTOTOPIC, FLOATLIM, etc.) sau setări personale</td><td><span class="badge badge-user">Variabil</span></td></tr>
<tr><td>INVITE</td><td>&lt;#canal&gt; [#canal] ...</td><td>Botul te invită pe canalul/canalele specificate</td><td><span class="badge badge-user">1+</span></td></tr>
<tr><td>TOPIC</td><td>&lt;#canal&gt; &lt;topic&gt;</td><td>Setează topicul canalului</td><td><span class="badge badge-user">Variabil</span></td></tr>
<tr><td>BANLIST</td><td>&lt;#canal&gt;</td><td>Afișează lista de ban-uri a canalului</td><td><span class="badge badge-user">0+</span></td></tr>
<tr><td>KICK</td><td>&lt;#canal&gt; &lt;nick&gt; [motiv]</td><td>Dă kick unui utilizator de pe canal</td><td><span class="badge badge-user">100+</span></td></tr>
<tr><td>STATUS</td><td>&lt;#canal&gt;</td><td>Afișează starea curentă a canalului (setări, moduri, limite)</td><td><span class="badge badge-user">Variabil</span></td></tr>
<tr><td>SUSPEND</td><td>&lt;#canal&gt; &lt;utilizator&gt; [durată] [nivel] [motiv]</td><td>Suspendă un utilizator pe un canal (îi blochează accesul temporar)</td><td><span class="badge badge-user">100+</span></td></tr>
<tr><td>UNSUSPEND</td><td>&lt;#canal&gt; &lt;utilizator&gt; [motiv]</td><td>Ridică suspensia unui utilizator</td><td><span class="badge badge-user">100+</span></td></tr>
<tr><td>BAN</td><td>&lt;#canal&gt; &lt;nick|*!*user@*.host&gt; [durată] [nivel] [motiv]</td><td>Setează un ban pe canal</td><td><span class="badge badge-user">75+</span></td></tr>
<tr><td>UNBAN</td><td>&lt;#canal&gt; &lt;*!*user@*.host&gt;</td><td>Scoate un ban de pe canal</td><td><span class="badge badge-user">75+</span></td></tr>
<tr><td>LBANLIST</td><td>&lt;#canal&gt; &lt;mască_ban&gt;</td><td>Caută ban-uri care se potrivesc cu masca specificată</td><td><span class="badge badge-user">0+</span></td></tr>
<tr><td>NEWPASS</td><td>&lt;parolă_nouă | utilizator&gt;</td><td>Schimbă parola contului tău (sau resetează parola unui utilizator — admin)</td><td><span class="badge badge-user">Toți</span></td></tr>
<tr><td>JOIN</td><td>&lt;#canal&gt;</td><td>Forțează botul X să intre pe un canal</td><td><span class="badge badge-admin">Admin</span></td></tr>
<tr><td>PART</td><td>&lt;#canal&gt;</td><td>Forțează botul X să iasă de pe un canal</td><td><span class="badge badge-admin">Admin</span></td></tr>
<tr><td>CLEARMODE</td><td>&lt;#canal&gt;</td><td>Șterge toate modurile de pe canal (reset complet)</td><td><span class="badge badge-user">500+</span></td></tr>
<tr><td>SUSPENDME</td><td>&lt;parolă&gt;</td><td>Te auto-suspendezi (util dacă contul a fost compromis)</td><td><span class="badge badge-user">Toți</span></td></tr>
</table>
</div>
<div class="separator"></div>
<div class="cmd-category">
<h3>👮 Comenzi IRC Operator</h3>
<table>
<tr><th>Comandă</th><th>Sintaxă</th><th>Descriere</th><th>Nivel</th></tr>
<tr><td>OPERJOIN</td><td>&lt;#canal&gt;</td><td>Intră pe un canal ca oper (fără a avea acces CService)</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>OPERPART</td><td>&lt;#canal&gt;</td><td>Ieși de pe canal ca oper</td><td><span class="badge badge-oper">Oper</span></td></tr>
</table>
</div>
<div class="separator"></div>
<div class="cmd-category">
<h3>🔒 Comenzi Administrative (nivel înalt — CService Admin)</h3>
<table>
<tr><th>Comandă</th><th>Sintaxă</th><th>Descriere</th><th>Nivel</th></tr>
<tr><td>WHITELIST</td><td>&lt;ADD|REM|VIEW&gt; &lt;IP&gt; [durată] [motiv]</td><td>Gestionează lista albă de IP-uri (exceptate de la flood/gline)</td><td><span class="badge badge-admin">Admin</span></td></tr>
<tr><td>SCAN</td><td>NICK|NICKNAME &lt;nick&gt;</td><td>Caută informații despre un nick (cui este înregistrat)</td><td><span class="badge badge-admin">Admin</span></td></tr>
<tr><td>SCANHOST</td><td>&lt;mască&gt; [-all]</td><td>Caută conturi după hostname/IP</td><td><span class="badge badge-admin">Admin</span></td></tr>
<tr><td>SCANUNAME</td><td>&lt;mască&gt; [-all]</td><td>Caută conturi după numele de utilizator</td><td><span class="badge badge-admin">Admin</span></td></tr>
<tr><td>SCANEMAIL</td><td>&lt;mască&gt; [-all]</td><td>Caută conturi după adresa de email</td><td><span class="badge badge-admin">Admin</span></td></tr>
<tr><td>REGISTER</td><td>&lt;#canal&gt;</td><td>Înregistrează un canal în baza de date</td><td><span class="badge badge-admin">Admin</span></td></tr>
<tr><td>REMOVEALL</td><td>&lt;#canal&gt;</td><td>Șterge toate intrările de acces de pe un canal</td><td><span class="badge badge-admin">Admin</span></td></tr>
<tr><td>PURGE</td><td>&lt;utilizator|#canal&gt; [-noop] &lt;motiv&gt;</td><td>Șterge (purge) un cont de utilizator sau un canal complet</td><td><span class="badge badge-admin">Admin</span></td></tr>
<tr><td>ACCEPT</td><td>&lt;#canal&gt; &lt;decizie&gt;</td><td>Acceptă o aplicație de canal aflată în așteptare</td><td><span class="badge badge-admin">Admin</td></tr>
<tr><td>REJECT</td><td>&lt;#canal&gt; &lt;decizie&gt;</td><td>Respinge o aplicație de canal</td><td><span class="badge badge-admin">Admin</span></td></tr>
<tr><td>RENAME</td><td>&lt;utilizator_vechi&gt; &lt;utilizator_nou&gt;</td><td>Redenumește un cont de utilizator</td><td><span class="badge badge-admin">Admin</span></td></tr>
<tr><td>FORCE</td><td>&lt;#canal&gt;</td><td>Forțează acces pe un canal (bypass protecții)</td><td><span class="badge badge-admin">Admin</span></td></tr>
<tr><td>UNFORCE</td><td>&lt;#canal&gt;</td><td>Scoate modul force de pe canal</td><td><span class="badge badge-admin">Admin</span></td></tr>
<tr><td>REMIGNORE</td><td>&lt;mască&gt;</td><td>Șterge o ignorare setată de bot</td><td><span class="badge badge-admin">Admin</span></td></tr>
<tr><td>SERVNOTICE</td><td>&lt;#canal&gt; &lt;text&gt;</td><td>Trimite o notificare de server pe un canal</td><td><span class="badge badge-admin">Admin</span></td></tr>
<tr><td>SAY / DO</td><td>&lt;#canal&gt; &lt;text&gt;</td><td>Botul X trimite un mesaj (SAY) sau acțiune (DO) pe un canal</td><td><span class="badge badge-admin">Admin</span></td></tr>
<tr><td>QUOTE</td><td>&lt;text&gt;</td><td>Trimite o comandă raw (brută) către server — <strong>FOARTE PERICULOS!</strong></td><td><span class="badge badge-owner">Admin*</span></td></tr>
<tr><td>REHASH</td><td>[translations|help|config|motd]</td><td>Reîncarcă traducerile, ajutorul, configurația sau MOTD-ul din baza de date</td><td><span class="badge badge-admin">Admin</span></td></tr>
<tr><td>STATS</td><td>(fără parametri)</td><td>Afișează statistici interne ale botului</td><td><span class="badge badge-admin">Admin</span></td></tr>
<tr><td>ADDCOMMENT</td><td>&lt;utilizator|#canal&gt; &lt;comentariu&gt;</td><td>Adaugă un comentariu la un cont sau canal</td><td><span class="badge badge-admin">Admin</span></td></tr>
<tr><td>SHUTDOWN</td><td>&lt;motiv&gt;</td><td>Oprește complet GNUWorld</td><td><span class="badge badge-owner">Admin*</span></td></tr>
</table>
</div>
</div>
<!-- ======================== UWORLD / CCONTROL ======================== -->
<div class="service-section" id="uworld">
<div class="service-header">
<div class="bot-name">UW</div>
<div class="service-info">
<h2>UWorld / EUWorld — CControl (Serviciu Operatori)</h2>
<p>Gestionarea rețelei, gline-uri, jupe-uri, scanare, moderare canale — exclusiv pentru IRC Operatori</p>
</div>
<div class="service-usage">/msg UWorld &lt;comandă&gt;</div>
</div>
<div class="note">
<strong>⚠️ Acces:</strong> UWorld (CControl) are <strong>propria bază de date</strong> (<code>ccontrol</code>) cu propriul sistem de utilizatori și comenzi.
Trebuie să fii <strong>IRC Operator</strong> și <strong>autentificat</strong> (<code>/msg UWorld LOGIN user parola</code>).
Fiecare comandă este controlată individual — un admin poate adăuga/șterge comenzi per operator.<br><br>
<strong>Niveluri de acces:</strong>
<code>UHS</code> (de bază) → <code>OPER</code><code>ADMIN</code><code>SMT</code> (Senior Management) → <code>CODER</code> (acces total)
</div>
<div class="cmd-category">
<h3>🔐 Autentificare și Cont</h3>
<table>
<tr><th>Comandă</th><th>Sintaxă</th><th>Descriere</th><th>Nivel</th></tr>
<tr><td>LOGIN</td><td>&lt;utilizator&gt; &lt;parolă&gt;</td><td>Autentificare la UWorld</td><td><span class="badge badge-all">Toți</span></td></tr>
<tr><td>DEAUTH / LOGOUT</td><td>(fără parametri)</td><td>Deautentificare de la UWorld</td><td><span class="badge badge-user">UHS+</span></td></tr>
<tr><td>NEWPASS</td><td>&lt;parolă_nouă&gt;</td><td>Schimbă parola ta pentru UWorld</td><td><span class="badge badge-user">UHS+</span></td></tr>
<tr><td>HELP</td><td>[comandă]</td><td>Afișează ajutor general sau pentru o comandă specifică</td><td><span class="badge badge-all">Toți</span></td></tr>
</table>
</div>
<div class="separator"></div>
<div class="cmd-category">
<h3>📡 Comenzi Canal (Oper)</h3>
<table>
<tr><th>Comandă</th><th>Sintaxă</th><th>Descriere</th><th>Nivel</th></tr>
<tr><td>MODE</td><td>&lt;#canal&gt; &lt;moduri&gt;</td><td>Schimbă modurile unui canal</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>OP</td><td>&lt;#canal&gt; &lt;nick&gt; [nick] ...</td><td>Dă operator unuia sau mai multor utilizatori</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>DEOP</td><td>&lt;#canal&gt; &lt;nick&gt; [nick] ...</td><td>Scoate operator de la utilizatori</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>MODERATE</td><td>&lt;#canal&gt;</td><td>Moderează un canal (setează +m)</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>UNMODERATE</td><td>&lt;#canal&gt;</td><td>Scoate moderarea de pe canal</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>INVITE</td><td>&lt;#canal&gt;</td><td>Te invită pe un canal cu +i (invite only)</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>KICK</td><td>&lt;#canal&gt; &lt;nick&gt; &lt;motiv&gt;</td><td>Dă kick unui utilizator de pe canal</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>CLEARCHAN</td><td>&lt;#canal&gt; [moduri]</td><td>Șterge modurile de pe canal (ALL sau combinație de ilpskmntDob)</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>CHANINFO</td><td>&lt;#canal&gt;</td><td>Afișează informații detaliate despre un canal</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>REOP</td><td>&lt;#canal&gt; &lt;nick&gt;</td><td>Scoate toți operatorii de pe canal și dă op doar nickului specificat</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>NOMODE</td><td>&lt;ADD|REM&gt; &lt;#canal&gt; [motiv]</td><td>Gestionează lista de canale fără moduri (nimeni nu poate schimba modurile)</td><td><span class="badge badge-admin">SMT+</span></td></tr>
</table>
</div>
<div class="separator"></div>
<div class="cmd-category">
<h3>🚫 Gline-uri (Interdicții la nivel de rețea)</h3>
<table>
<tr><th>Comandă</th><th>Sintaxă</th><th>Descriere</th><th>Nivel</th></tr>
<tr><td>GLINE</td><td>&lt;user@host&gt; [durată] &lt;motiv&gt;</td><td>Setează un gline pe o mască user@host (durată: s/m/h/d)</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>REMGLINE</td><td>&lt;user@host&gt;</td><td>Șterge un gline de pe o mască</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>SCANGLINE</td><td>&lt;mască&gt;</td><td>Caută gline-uri care se potrivesc cu masca dată</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>FORCEGLINE</td><td>[-fu] &lt;nick|user@host&gt; &lt;durată&gt; &lt;motiv&gt;</td><td>Gline forțat — permite durată peste 14 zile sau peste 255 utilizatori afectați. -fu doar SMT+</td><td><span class="badge badge-admin">Admin+</span></td></tr>
<tr><td>SGLINE</td><td>&lt;user@host&gt; [durată] &lt;motiv&gt;</td><td>Gline cu restricții relaxate (doar Coder)</td><td><span class="badge badge-owner">Coder</span></td></tr>
<tr><td>REMSGLINE</td><td>&lt;user@host&gt;</td><td>Șterge un SGLINE</td><td><span class="badge badge-owner">Coder</span></td></tr>
<tr><td>SCHANGLINE</td><td>[-u] &lt;#canal&gt; [durată] &lt;motiv&gt;</td><td>Gline pe toți utilizatorii dintr-un canal. -u = doar cei neidentificați</td><td><span class="badge badge-owner">Coder</span></td></tr>
<tr><td>FORCECHANGLINE</td><td>[-u] &lt;#canal&gt; [durată] &lt;motiv&gt;</td><td>Gline forțat pe canal — limitat la 24h, fără canale cu operi sau nomode</td><td><span class="badge badge-admin">Admin+</span></td></tr>
<tr><td>GCHAN</td><td>&lt;#canal&gt; &lt;durată|-per&gt; &lt;motiv&gt;</td><td>Setează un BADCHAN gline (interzice intrarea pe canal). -per = permanent</td><td><span class="badge badge-owner">Coder</span></td></tr>
<tr><td>REMGCHAN</td><td>&lt;#canal&gt;</td><td>Șterge un BADCHAN gline</td><td><span class="badge badge-owner">Coder</span></td></tr>
</table>
</div>
<div class="separator"></div>
<div class="cmd-category">
<h3>🖥️ Gestionare Servere</h3>
<table>
<tr><th>Comandă</th><th>Sintaxă</th><th>Descriere</th><th>Nivel</th></tr>
<tr><td>JUPE</td><td>&lt;server&gt; &lt;motiv&gt;</td><td>Jupează un server (îl blochează de la conectare la rețea)</td><td><span class="badge badge-admin">Admin</span></td></tr>
<tr><td>UNJUPE</td><td>&lt;server&gt;</td><td>Scoate jupe-ul de pe un server</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>ADDSERVER</td><td>&lt;server&gt;</td><td>Adaugă un server nou în baza de date (serverul trebuie să fie conectat)</td><td><span class="badge badge-admin">SMT</span></td></tr>
<tr><td>REMSERVER</td><td>&lt;server&gt;</td><td>Șterge un server din baza de date — <strong>ATENȚIE!</strong></td><td><span class="badge badge-admin">SMT+</span></td></tr>
<tr><td>LEARNNET</td><td>(fără parametri)</td><td>Adaugă automat toate serverele necunoscute conectate la rețea</td><td><span class="badge badge-admin">Admin+</span></td></tr>
<tr><td>CHECKNET</td><td>(fără parametri)</td><td>Listează toate serverele lipsă din rețea</td><td><span class="badge badge-oper">Oper+</span></td></tr>
</table>
</div>
<div class="separator"></div>
<div class="cmd-category">
<h3>🔍 Informații și Scanare Rețea</h3>
<table>
<tr><th>Comandă</th><th>Sintaxă</th><th>Descriere</th><th>Nivel</th></tr>
<tr><td>WHOIS</td><td>&lt;nick&gt;</td><td>Afișează informații despre un utilizator de pe rețea</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>TRANSLATE</td><td>&lt;numeric&gt;</td><td>Traduce un numeric IRC într-un nick</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>SCAN</td><td>-h &lt;user@host&gt; | -fh &lt;user@host&gt; | -n &lt;realname&gt; [-v] [-i]</td><td>Scanează rețeaua după host/IP (CIDR), host mascat sau realname. -v arată primii 15, -i raport ident</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>MAXUSERS</td><td>(fără parametri)</td><td>Afișează vârful maxim de utilizatori online înregistrat vreodată</td><td><span class="badge badge-oper">Oper+</span></td></tr>
<tr><td>STATUS</td><td>(fără parametri)</td><td>Afișează informații de depanare și starea botului/serverului</td><td><span class="badge badge-owner">Coder</span></td></tr>
</table>
</div>
<div class="separator"></div>
<div class="cmd-category">
<h3>👥 Gestionare Operatori UWorld</h3>
<table>
<tr><th>Comandă</th><th>Sintaxă</th><th>Descriere</th><th>Nivel</th></tr>
<tr><td>ADDUSER</td><td>&lt;utilizator&gt; &lt;nivel&gt; [server] &lt;parolă&gt;</td><td>Adaugă un operator nou. Nivel: OPER, ADMIN, SMT, CODER</td><td><span class="badge badge-admin">Admin</span></td></tr>
<tr><td>REMUSER</td><td>&lt;utilizator&gt;</td><td>Șterge un operator din lista de acces</td><td><span class="badge badge-admin">Admin</span></td></tr>
<tr><td>MODUSER</td><td>&lt;utilizator&gt; [opțiuni...]</td><td>Modifică un operator: -ah/-dh host, -s server, -p parolă, -gl on/off, -op on/off, -ua, -uf flags, -e email, -mt m/n</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>ADDCOMMAND</td><td>[-fr] &lt;utilizator&gt; &lt;comandă&gt;</td><td>Adaugă permisiunea pentru o comandă la un operator. -fr forțare (SMT+)</td><td><span class="badge badge-admin">Admin</span></td></tr>
<tr><td>REMCOMMAND</td><td>&lt;utilizator&gt; &lt;comandă&gt;</td><td>Șterge permisiunea unei comenzi de la un operator</td><td><span class="badge badge-admin">Admin</span></td></tr>
<tr><td>SUSPEND</td><td>&lt;utilizator&gt; &lt;durată&gt; [-l nivel] &lt;motiv&gt;</td><td>Suspendă un operator pentru o perioadă</td><td><span class="badge badge-admin">Admin</span></td></tr>
<tr><td>UNSUSPEND</td><td>&lt;utilizator&gt;</td><td>Ridică suspensia unui operator</td><td><span class="badge badge-admin">Admin</span></td></tr>
<tr><td>LISTHOSTS</td><td>&lt;utilizator&gt;</td><td>Listează măștile de gazdă ale unui operator</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>LISTUSERS</td><td>[-l CODER|SMT|ADMIN|OPER|UHS]</td><td>Listează utilizatorii, opțional filtrat pe nivel</td><td><span class="badge badge-oper">Oper+</span></td></tr>
<tr><td>USERINFO</td><td>&lt;mască_server|utilizator&gt; [-cl]</td><td>Informații despre operatori. -cl afișează și comenzile disponibile</td><td><span class="badge badge-oper">Oper+</span></td></tr>
</table>
</div>
<div class="separator"></div>
<div class="cmd-category">
<h3>📋 Liste și Jurnale</h3>
<table>
<tr><th>Comandă</th><th>Sintaxă</th><th>Descriere</th><th>Nivel</th></tr>
<tr><td>LIST</td><td>&lt;glines|servers|badchannels|exceptions|channels|shells&gt;</td><td>Listează diverse elemente interne (gline-uri, servere, canale etc.)</td><td><span class="badge badge-oper">Oper+</span></td></tr>
<tr><td>LIST CHANNELS</td><td>key &lt;cheie&gt; | modes &lt;moduri&gt; | topic &lt;topic&gt; | topicby &lt;mască&gt;</td><td>Caută canale după cheie, moduri, topic sau cine a setat topicul</td><td><span class="badge badge-oper">Oper+</span></td></tr>
<tr><td>LASTCOM / LASTCOMM</td><td>[număr] [zile]</td><td>Afișează ultimele comenzi trimise botului (implicit: 20)</td><td><span class="badge badge-oper">Oper+</span></td></tr>
<tr><td>LISTIGNORES</td><td>(fără parametri)</td><td>Afișează lista curentă de ignorări a botului</td><td><span class="badge badge-oper">Oper+</span></td></tr>
<tr><td>REMIGNORE</td><td>&lt;nick|host&gt;</td><td>Șterge o intrare din lista de ignorări</td><td><span class="badge badge-admin">Admin+</span></td></tr>
</table>
</div>
<div class="separator"></div>
<div class="cmd-category">
<h3>⚙️ Excepții, Configurare și Administrare Avansată</h3>
<table>
<tr><th>Comandă</th><th>Sintaxă</th><th>Descriere</th><th>Nivel</th></tr>
<tr><td>EXCEPTIONS</td><td>&lt;add|del|list&gt; &lt;mască_host&gt; &lt;conexiuni&gt;</td><td>Gestionează excepțiile de la gline-uri (permite mai multe conexiuni de pe un host)</td><td><span class="badge badge-admin">Admin+</span></td></tr>
<tr><td>SHELLS</td><td>&lt;addcompany|addnetblock|delcompany|delnetblock|list|chlimit|chname|clearall&gt; ...</td><td>Gestionează limitele de conexiuni pentru companii de shell hosting</td><td><span class="badge badge-owner">Coder</span></td></tr>
<tr><td>CONFIG</td><td>&lt;opțiune&gt; &lt;valoare&gt;</td><td>Configurare internă: -GTime, -VClones, -Clones, -CClonesCIDR, -CClonesGline, -IClones, -GBCount, -GBInterval, -SGline</td><td><span class="badge badge-owner">Coder</span></td></tr>
<tr><td>COMMANDS</td><td>&lt;-ds|-en|-no|-nl|-na|-ml&gt; &lt;comandă&gt; [valoare]</td><td>Modifică opțiunile comenzilor: -ds dezactivează, -en activează, -no necesită oper, -nl fără log, -na schimbă nume, -ml nivel minim</td><td><span class="badge badge-owner">Coder</span></td></tr>
<tr><td>ANNOUNCE</td><td>[-p] &lt;mesaj&gt;</td><td>Trimite un anunț pe rețea (prin clientul fals AnnounceNick)</td><td><span class="badge badge-oper">Oper+</span></td></tr>
<tr><td>SAY / DO</td><td>&lt;-s|-b&gt; &lt;#canal|nick&gt; &lt;mesaj&gt;</td><td>Botul vorbește: -s prin server, -b prin bot. SAY = mesaj, DO = acțiune (/me)</td><td><span class="badge badge-owner">Coder</span></td></tr>
<tr><td>SHUTDOWN</td><td>&lt;motiv&gt;</td><td>Oprește serviciul complet (SQUIT)</td><td><span class="badge badge-owner">Coder</span></td></tr>
</table>
</div>
</div>
<!-- ======================== DRONESCAN (E) ======================== -->
<div class="service-section" id="dronescan">
<div class="service-header">
<div class="bot-name">E</div>
<div class="service-info">
<h2>DroneScan — Scanner de Drone și Boți</h2>
<p>Detectare automată a drone-lor, flood-urilor la intrare și comportament anormal pe canale</p>
</div>
<div class="service-usage">/msg E &lt;comandă&gt;</div>
</div>
<div class="note">
<strong>⚠️ Cerințe:</strong> Trebuie să fii <strong>IRC Operator</strong> (<code>/oper</code>) ȘI să ai un cont în baza de date <code>dronescan</code>.
Conturile CService (X) <strong>NU</strong> sunt valabile pentru DroneScan. Baza de date este complet separată.
</div>
<div class="cmd-category">
<h3>📋 Comenzi Standard (acces 300+)</h3>
<table>
<tr><th>Comandă</th><th>Sintaxă</th><th>Descriere</th><th>Nivel</th></tr>
<tr><td>ACCESS</td><td>[utilizator]</td><td>Afișează nivelul de acces al tău sau al unui utilizator specificat</td><td><span class="badge badge-user">300+</span></td></tr>
<tr><td>CHECK</td><td>[#canal] [utilizator]</td><td>Verifică un canal sau utilizator pentru activitate suspectă de drone</td><td><span class="badge badge-user">300+</span></td></tr>
<tr><td>FAKE</td><td>[activate]</td><td>Gestionează clienți falși (honeypot) pentru detectarea dronelor</td><td><span class="badge badge-user">300+</span></td></tr>
<tr><td>LIST</td><td>&lt;active|fakeclients|joinflood|users&gt;</td><td>Listează canale active/suspecte, clienți falși, flood-uri la intrare sau utilizatori</td><td><span class="badge badge-user">300+</span></td></tr>
<tr><td>STATUS</td><td>(fără parametri)</td><td>Afișează starea curentă a botului (parametri configurați, statistici)</td><td><span class="badge badge-user">300+</span></td></tr>
</table>
</div>
<div class="separator"></div>
<div class="cmd-category">
<h3>🔑 Comenzi Speciale (fără cerință de acces în tabelă)</h3>
<table>
<tr><th>Comandă</th><th>Sintaxă</th><th>Descriere</th><th>Nivel</th></tr>
<tr><td>INVITE</td><td>(fără parametri)</td><td>Botul te invită pe canalul de consolă (#ds.console)</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>STATS</td><td>(fără parametri)</td><td>Afișează margini, intervale, contoare de flood (CM/NM/CC, jcI/jcC, ncI/ncC)</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>INFO</td><td>&lt;nick&gt;</td><td>Arată dacă un nick este „Normal" sau „Anormal"</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>SET</td><td>&lt;opțiune&gt; &lt;valoare&gt;</td><td>Modifică setări în timp real (margini, cutoff-uri)</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>RESET</td><td>(fără parametri)</td><td>Resetează stările și reverifică toate canalele</td><td><span class="badge badge-oper">Oper</span></td></tr>
</table>
</div>
<div class="separator"></div>
<div class="cmd-category">
<h3>🛠️ Comenzi Administrative (acces 750+)</h3>
<table>
<tr><th>Comandă</th><th>Sintaxă</th><th>Descriere</th><th>Nivel</th></tr>
<tr><td>ADDUSER</td><td>&lt;utilizator&gt; &lt;nivel_acces&gt;</td><td>Adaugă un utilizator nou în baza de date DroneScan</td><td><span class="badge badge-admin">750+</span></td></tr>
<tr><td>MODUSER</td><td>ACCESS &lt;utilizator&gt; &lt;nivel&gt;</td><td>Modifică nivelul de acces al unui utilizator existent</td><td><span class="badge badge-admin">750+</span></td></tr>
<tr><td>REMUSER</td><td>&lt;utilizator&gt;</td><td>Șterge un utilizator din baza de date DroneScan</td><td><span class="badge badge-admin">750+</span></td></tr>
<tr><td>ADDEXCEPTIONALCHANNEL</td><td>&lt;#canal&gt;</td><td>Adaugă un canal la lista de excepții (nu va mai fi scanat/raportat)</td><td><span class="badge badge-admin">750+</span></td></tr>
<tr><td>REMEXCEPTIONALCHANNEL</td><td>&lt;#canal&gt;</td><td>Scoate un canal de pe lista de excepții</td><td><span class="badge badge-admin">750+</span></td></tr>
<tr><td>RELOAD</td><td>(fără parametri)</td><td>Reîncarcă modulul DroneScan complet</td><td><span class="badge badge-admin">750+</span></td></tr>
</table>
</div>
<div class="separator"></div>
<div class="cmd-category">
<h3>🧪 Comenzi Dezvoltatori (acces 1000)</h3>
<table>
<tr><th>Comandă</th><th>Sintaxă</th><th>Descriere</th><th>Nivel</th></tr>
<tr><td>ANALYSE</td><td>&lt;#canal&gt;</td><td>Analizează detaliat un canal pentru drone/boți (entropie, scoruri)</td><td><span class="badge badge-owner">1000</span></td></tr>
<tr><td>QUOTE</td><td>&lt;text&gt;</td><td>Trimite o comandă raw către serverul IRC — <strong>FOARTE PERICULOS!</strong></td><td><span class="badge badge-owner">1000</span></td></tr>
</table>
</div>
</div>
<!-- ======================== OPENCHANFIX (C) ======================== -->
<div class="service-section" id="openchanfix">
<div class="service-header">
<div class="bot-name">C</div>
<div class="service-info">
<h2>OpenChanFix — Reparare Canale</h2>
<p>Reparare automată și manuală a canalelor preluate sau rămase fără operatori</p>
</div>
<div class="service-usage">/msg C &lt;comandă&gt;</div>
</div>
<div class="note">
<strong> Informații:</strong> OpenChanFix are propria bază de date (<code>chanfix</code>).
Monitorizează cine are operator pe canale și poate restaura operatorii legitimi dacă canalul este preluat.
Necesită IRC Oper pentru cele mai multe comenzi.
</div>
<div class="cmd-category">
<h3>👤 Comenzi Utilizator Normal (operatori de top ai canalului)</h3>
<table>
<tr><th>Comandă</th><th>Sintaxă</th><th>Descriere</th><th>Nivel</th></tr>
<tr><td>CANFIX</td><td>&lt;#canal&gt;</td><td>Listează operatorii care pot repara canalul fără ajutor de la un oper IRC</td><td><span class="badge badge-all">Toți</span></td></tr>
<tr><td>REQUESTOP</td><td>&lt;#canal&gt; [CONTACT]</td><td>Solicită repararea canalului; CONTACT notifică top 10 operatori</td><td><span class="badge badge-all">Toți</span></td></tr>
</table>
</div>
<div class="separator"></div>
<div class="cmd-category">
<h3>👮 Comenzi IRC Oper</h3>
<table>
<tr><th>Comandă</th><th>Sintaxă</th><th>Descriere</th><th>Nivel</th></tr>
<tr><td>HELP</td><td>[comandă]</td><td>Afișează ajutor despre comenzi; fără parametru — lista completă</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>HISTORY</td><td>&lt;#canal&gt;</td><td>Arată istoricul reparărilor manuale pentru un canal</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>INFO</td><td>&lt;#canal&gt;</td><td>Afișează notele, alertele și starea de blocare a canalului</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>SCORE</td><td>&lt;#canal&gt; [cont|=nick]</td><td>Afișează scorurile de top; sau scorul unui utilizator specific</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>CSCORE</td><td>&lt;#canal&gt;</td><td>La fel ca SCORE, dar în format compact</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>STATUS</td><td>(fără parametri)</td><td>Arată uptime, prezență rețea, setări de fix/blocare</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>CHECK</td><td>&lt;#canal&gt;</td><td>Afișează numărul de operatori și clienți totali dintr-un canal</td><td><span class="badge badge-logged">Logat</span></td></tr>
</table>
</div>
<div class="separator"></div>
<div class="cmd-category">
<h3>🔧 Comenzi Utilizatori Autentificați ChanFix</h3>
<table>
<tr><th>Comandă</th><th>Sintaxă</th><th>Descriere</th><th>Nivel</th></tr>
<tr><td>LISTHOSTS</td><td>[utilizator]</td><td>Listează măștile de gazdă ale tale sau ale unui utilizator</td><td><span class="badge badge-logged">Logat</span></td></tr>
<tr><td>USERSCORES</td><td>&lt;cont&gt;</td><td>Afișează toate scorurile unui cont pe toate canalele</td><td><span class="badge badge-logged">Logat</span></td></tr>
<tr><td>USET</td><td>&lt;NOTICE|LANG&gt; &lt;valoare&gt;</td><td>Setări cont: NOTICE (notificări vs PRIVMSG), LANG (limbă)</td><td><span class="badge badge-logged">Logat</span></td></tr>
<tr><td>WHOIS</td><td>&lt;utilizator&gt;</td><td>Informații detaliate despre un cont ChanFix</td><td><span class="badge badge-logged">Logat</span></td></tr>
</table>
</div>
<div class="separator"></div>
<div class="cmd-category">
<h3>👥 Gestionare Utilizatori (flag u — User Manager, sau flag a — Server Admin)</h3>
<table>
<tr><th>Comandă</th><th>Sintaxă</th><th>Descriere</th><th>Nivel</th></tr>
<tr><td>ADDUSER</td><td>&lt;utilizator&gt; [gazdă]</td><td>Adaugă un utilizator nou în ChanFix</td><td><span class="badge badge-admin">u/a</span></td></tr>
<tr><td>DELUSER</td><td>&lt;utilizator&gt;</td><td>Șterge un utilizator din ChanFix</td><td><span class="badge badge-admin">u/a</span></td></tr>
<tr><td>ADDFLAG</td><td>&lt;utilizator&gt; &lt;flag&gt;</td><td>Adaugă flag: <strong>a</strong>=admin server, <strong>b</strong>=blocare, <strong>c</strong>=comentarii, <strong>f</strong>=chanfix, <strong>o</strong>=owner, <strong>u</strong>=user manager</td><td><span class="badge badge-admin">u/a</span></td></tr>
<tr><td>DELFLAG</td><td>&lt;utilizator&gt; &lt;flag&gt;</td><td>Șterge un flag de la un utilizator</td><td><span class="badge badge-admin">u/a</span></td></tr>
<tr><td>ADDHOST</td><td>&lt;utilizator&gt; &lt;nick!user@host&gt;</td><td>Adaugă o mască de gazdă pentru un utilizator</td><td><span class="badge badge-admin">u/a</span></td></tr>
<tr><td>DELHOST</td><td>&lt;utilizator&gt; &lt;mască&gt;</td><td>Șterge o mască de gazdă</td><td><span class="badge badge-admin">u/a</span></td></tr>
<tr><td>SETGROUP</td><td>&lt;utilizator&gt; &lt;grup&gt;</td><td>Setează grupul unui utilizator</td><td><span class="badge badge-admin">u/a</span></td></tr>
<tr><td>WHOGROUP</td><td>[grup]</td><td>Listează utilizatorii dintr-un grup; fără parametru — toate grupurile</td><td><span class="badge badge-admin">u/a</span></td></tr>
<tr><td>SUSPEND</td><td>&lt;utilizator&gt;</td><td>Suspendă un utilizator ChanFix</td><td><span class="badge badge-admin">u/a</span></td></tr>
<tr><td>UNSUSPEND</td><td>&lt;utilizator&gt;</td><td>Reactivează un utilizator suspendat</td><td><span class="badge badge-admin">u/a</span></td></tr>
</table>
</div>
<div class="separator"></div>
<div class="cmd-category">
<h3>🚫 Comenzi de Blocare Canale (flag b — Block)</h3>
<table>
<tr><th>Comandă</th><th>Sintaxă</th><th>Descriere</th><th>Nivel</th></tr>
<tr><td>BLOCK</td><td>&lt;#canal&gt; &lt;motiv&gt;</td><td>Blochează permanent un canal de la reparare (automat și manual)</td><td><span class="badge badge-admin">flag b</span></td></tr>
<tr><td>UNBLOCK</td><td>&lt;#canal&gt;</td><td>Deblochează canalul</td><td><span class="badge badge-admin">flag b</span></td></tr>
<tr><td>TEMPBLOCK</td><td>&lt;#canal&gt; &lt;motiv&gt;</td><td>Blocare temporară a canalului</td><td><span class="badge badge-admin">flag b</span></td></tr>
<tr><td>UNTEMPBLOCK</td><td>&lt;#canal&gt;</td><td>Scoate blocarea temporară</td><td><span class="badge badge-admin">flag b</span></td></tr>
<tr><td>LISTBLOCKED</td><td>(fără parametri)</td><td>Listează toate canalele blocate permanent</td><td><span class="badge badge-admin">flag b</span></td></tr>
<tr><td>LISTTEMPBLOCKED</td><td>(fără parametri)</td><td>Listează toate canalele blocate temporar</td><td><span class="badge badge-admin">flag b</span></td></tr>
</table>
</div>
<div class="separator"></div>
<div class="cmd-category">
<h3>📝 Comenzi de Note și Alertă (flag c — Comment)</h3>
<table>
<tr><th>Comandă</th><th>Sintaxă</th><th>Descriere</th><th>Nivel</th></tr>
<tr><td>ADDNOTE</td><td>&lt;#canal&gt; &lt;text&gt;</td><td>Adaugă o notiță la un canal</td><td><span class="badge badge-admin">flag c</span></td></tr>
<tr><td>DELNOTE</td><td>&lt;#canal&gt; &lt;id&gt;</td><td>Șterge o notiță (doar cele adăugate de tine)</td><td><span class="badge badge-admin">flag c</span></td></tr>
<tr><td>ALERT</td><td>&lt;#canal&gt; &lt;motiv&gt;</td><td>Pune canalul în stare de alertă (necesită OVERRIDE pentru reparare)</td><td><span class="badge badge-admin">flag c</span></td></tr>
<tr><td>UNALERT</td><td>&lt;#canal&gt;</td><td>Scoate alerta de pe canal</td><td><span class="badge badge-admin">flag c</span></td></tr>
</table>
</div>
<div class="separator"></div>
<div class="cmd-category">
<h3>🔧 Comenzi ChanFix (Reparare) (flag f — ChanFix)</h3>
<table>
<tr><th>Comandă</th><th>Sintaxă</th><th>Descriere</th><th>Nivel</th></tr>
<tr><td>CHANFIX</td><td>&lt;#canal&gt; [OVERRIDE] [CONTACT]</td><td>Reparare manuală; OVERRIDE forțează; CONTACT notifică top 10</td><td><span class="badge badge-admin">flag f</span></td></tr>
<tr><td>OPLIST</td><td>&lt;#canal&gt; [-all] [-days]</td><td>Top 10 conturi cu scoruri; -all arată toate; -days arată diagrama de 2 săptămâni</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>OPNICKS</td><td>&lt;#canal&gt;</td><td>Arată nickurile care au operator în prezent pe canal</td><td><span class="badge badge-oper">Oper</span></td></tr>
<tr><td>SIMULATE</td><td>&lt;#canal&gt; [AUTO|MANUAL]</td><td>Simulează o reparare fără să o execute efectiv</td><td><span class="badge badge-oper">Oper</span></td></tr>
</table>
</div>
<div class="separator"></div>
<div class="cmd-category">
<h3>👑 Comenzi Owner (flag o — Owner)</h3>
<table>
<tr><th>Comandă</th><th>Sintaxă</th><th>Descriere</th><th>Nivel</th></tr>
<tr><td>SET</td><td>&lt;setare&gt; &lt;valoare&gt;</td><td>Modifică: ENABLE_AUTOFIX, ENABLE_CHANFIX, ENABLE_CHANNEL_BLOCKING, NUM_SERVERS</td><td><span class="badge badge-owner">flag o</span></td></tr>
<tr><td>REHASH</td><td>(fără parametri)</td><td>Reîncarcă traducerile, configurația sau ajutorul din baza de date</td><td><span class="badge badge-owner">flag o</span></td></tr>
<tr><td>RELOAD</td><td>[motiv]</td><td>Repornește complet modulul ChanFix (include reconnectare!)</td><td><span class="badge badge-owner">flag o</span></td></tr>
<tr><td>SHUTDOWN</td><td>[motiv]</td><td>Salvează baza de date și oprește GNUWorld complet</td><td><span class="badge badge-owner">flag o</span></td></tr>
<tr><td>LASTCOM</td><td>[număr] [zile]</td><td>Arată ultimele comenzi primite de bot</td><td><span class="badge badge-owner">flag o</span></td></tr>
<tr><td>INVITE</td><td>(fără parametri)</td><td>Te invită pe canalul de consolă</td><td><span class="badge badge-owner">flag o</span></td></tr>
<tr><td>QUOTE</td><td>&lt;text&gt;</td><td>Trimite comandă raw către server — <strong>EXTREM DE PERICULOS!</strong></td><td><span class="badge badge-owner">flag o</span></td></tr>
<tr><td>SAY</td><td>&lt;#canal&gt; &lt;text&gt;</td><td>Botul C trimite un mesaj pe un canal</td><td><span class="badge badge-owner">flag o</span></td></tr>
</table>
</div>
</div>
<!-- ======================== STATS ======================== -->
<div class="service-section" id="stats">
<div class="service-header">
<div class="bot-name">📊</div>
<div class="service-info">
<h2>Stats — Statistici Rețea</h2>
<p>Colectare și afișare statistici despre rețeaua UnderChat (canale, utilizatori, trafic)</p>
</div>
<div class="service-usage">/msg ubercow &lt;comandă&gt;</div>
</div>
<div class="note">
<strong> Acces:</strong> Necesită fie un cont listat în <code>permit_user</code> din configurare, fie statut de IRC Operator (dacă <code>allow_opers = true</code>).
<strong>Nu are bază de date separată</strong> — scrie statistici în fișiere.
</div>
<div class="cmd-category">
<h3>📋 Toate Comenzile</h3>
<table>
<tr><th>Comandă</th><th>Sintaxă</th><th>Descriere</th><th>Nivel</th></tr>
<tr><td>stats</td><td>(fără parametri)</td><td>Afișează statisticile curente ale rețelei (utilizatori, canale, vârf)</td><td><span class="badge badge-oper">Acces</span></td></tr>
<tr><td>reload</td><td>(fără parametri)</td><td>Reîncarcă complet modulul de statistici</td><td><span class="badge badge-oper">Acces</span></td></tr>
<tr><td>shutdown</td><td>(fără parametri)</td><td>Oprește GNUWorld complet</td><td><span class="badge badge-owner">Acces</span></td></tr>
<tr><td>join</td><td>&lt;#canal&gt;</td><td>Botul intră pe un canal pentru a colecta statistici</td><td><span class="badge badge-oper">Acces</span></td></tr>
<tr><td>part</td><td>&lt;#canal&gt;</td><td>Botul iese de pe un canal</td><td><span class="badge badge-oper">Acces</span></td></tr>
<tr><td>say</td><td>&lt;#canal&gt; &lt;mesaj&gt;</td><td>Botul trimite un mesaj pe un canal pe care se află</td><td><span class="badge badge-oper">Acces</span></td></tr>
</table>
<p style="margin-top:10px; color:#9e9e9e; font-size:0.85em;">
<strong>Notă:</strong> Comenzile sunt case-sensitive (litere mici). Scrie <code>stats</code>, nu <code>STATS</code>.
</p>
</div>
</div>
<!-- ======================== SCANNER ======================== -->
<div class="service-section" id="scanner">
<div class="service-header">
<div class="bot-name">🔍</div>
<div class="service-info">
<h2>Scanner — Scanare Rețea</h2>
<p>Modul pasiv de scanare a rețelei pentru proxy-uri deschise și conexiuni suspecte</p>
</div>
<div class="service-usage">/msg netscan &lt;mesaj&gt;</div>
</div>
<div class="cmd-category">
<h3>📋 Informații</h3>
<table>
<tr><th>Comandă</th><th>Sintaxă</th><th>Descriere</th><th>Nivel</th></tr>
<tr><td>(orice mesaj)</td><td>/msg netscan orice</td><td>Răspunde cu „Howdy :)" — este un modul <strong>pasiv</strong> fără comenzi reale</td><td><span class="badge badge-all">Toți</span></td></tr>
</table>
<p style="margin-top:15px; padding:10px; background:#0a1a1a; border-radius:6px; color:#80cbc4; font-size:0.9em;">
Scanner-ul monitorizează automat conexiunile noi pe rețea (evenimentul EVT_NICK) și poate face conexiuni
de ieșire (<code>max_connects</code>) pentru a verifica dacă un IP are proxy-uri deschise. Este un instrument complet automat
— nu necesită intervenție manuală prin comenzi.
</p>
</div>
</div>
<!-- ======================== SNOOP ======================== -->
<div class="service-section" id="snoop">
<div class="service-header">
<div class="bot-name">👁️</div>
<div class="service-info">
<h2>Snoop — Supraveghere Canale</h2>
<p>Creează clienți falși (invizibili) care intră pe canale suspecte și retransmit conversațiile</p>
</div>
<div class="service-usage">Pe #adminchan: snoopy &lt;comandă&gt;</div>
</div>
<div class="note">
<strong>⚠️ Important:</strong> Snoop funcționează diferit de celelalte servicii!
Comenzile <strong>NU</strong> se dau prin <code>/msg</code>. Se scriu pe <strong>canalul de admin</strong>
(implicit <code>#2010</code>), folosind prefixul <code>snoopy</code> (setat în <code>cmdchar</code> din configurare).
Necesită acces (permit_user) sau statut de IRC Oper.
</div>
<div class="cmd-category">
<h3>🤖 Gestionare Clienți Falși (Clone)</h3>
<table>
<tr><th>Comandă</th><th>Sintaxă</th><th>Descriere</th><th>Nivel</th></tr>
<tr><td>spawnclient</td><td>snoopy spawnclient &lt;nick!user@host&gt; &lt;realname&gt;</td><td>Creează un client fals (clon) pe rețea cu identitatea specificată</td><td><span class="badge badge-oper">Acces</span></td></tr>
<tr><td>join</td><td>snoopy join &lt;nick&gt; &lt;#canal&gt; [cheie]</td><td>Un client fals intră pe un canal pentru supraveghere</td><td><span class="badge badge-oper">Acces</span></td></tr>
<tr><td>joinall</td><td>snoopy joinall &lt;#canal&gt; [cheie]</td><td>Toți clienții falși intră pe un canal</td><td><span class="badge badge-oper">Acces</span></td></tr>
<tr><td>part</td><td>snoopy part &lt;nick&gt; &lt;#canal&gt; [mesaj]</td><td>Un client fals iese de pe un canal</td><td><span class="badge badge-oper">Acces</span></td></tr>
<tr><td>partall</td><td>snoopy partall &lt;#canal&gt; [mesaj]</td><td>Toți clienții falși ies de pe canal</td><td><span class="badge badge-oper">Acces</span></td></tr>
<tr><td>quit</td><td>snoopy quit &lt;nick&gt; [mesaj]</td><td>Un client fals se deconectează de pe rețea</td><td><span class="badge badge-oper">Acces</span></td></tr>
<tr><td>quitall</td><td>snoopy quitall [mesaj]</td><td>Toți clienții falși se deconectează</td><td><span class="badge badge-oper">Acces</span></td></tr>
</table>
</div>
<div class="separator"></div>
<div class="cmd-category">
<h3>💬 Comunicare prin Clone</h3>
<table>
<tr><th>Comandă</th><th>Sintaxă</th><th>Descriere</th><th>Nivel</th></tr>
<tr><td>say / do</td><td>snoopy say &lt;nick&gt; &lt;#canal&gt; &lt;mesaj&gt;</td><td>Un client fals trimite un mesaj sau acțiune pe canal</td><td><span class="badge badge-oper">Acces</span></td></tr>
<tr><td>sayall / doall</td><td>snoopy sayall &lt;#canal&gt; &lt;mesaj&gt;</td><td>Toți clienții falși trimit un mesaj pe canal</td><td><span class="badge badge-oper">Acces</span></td></tr>
</table>
</div>
<div class="separator"></div>
<div class="cmd-category">
<h3>⚙️ Administrare</h3>
<table>
<tr><th>Comandă</th><th>Sintaxă</th><th>Descriere</th><th>Nivel</th></tr>
<tr><td>reload</td><td>&lt;cmdchar&gt; reload</td><td>Reîncarcă complet modulul Snoop</td><td><span class="badge badge-oper">Acces</span></td></tr>
<tr><td>shutdown</td><td>&lt;cmdchar&gt; shutdown</td><td>Oprește GNUWorld complet</td><td><span class="badge badge-owner">Acces</span></td></tr>
</table>
</div>
</div>
<!-- ======================== TABEL REZUMAT ======================== -->
<div class="service-section" style="border-color:#6c3fb5;">
<div class="service-header" style="background: linear-gradient(135deg, #1a1a3e, #0d0d2b);">
<div class="service-info" style="width:100%; text-align:center;">
<h2 style="color:#b388ff;">📊 Tabel Rezumativ — Toate Serviciile</h2>
</div>
</div>
<div class="cmd-category" style="border-left-color:#6c3fb5;">
<table>
<tr>
<th>Serviciu</th>
<th>Bot / Pseudonim</th>
<th>Cum dai comenzi</th>
<th>Nr. comenzi</th>
<th>Bază de date</th>
</tr>
<tr>
<td style="color:#69f0ae;">CService</td>
<td>X</td>
<td style="font-family:Consolas;">/msg X &lt;cmd&gt;</td>
<td>~45</td>
<td>cservice</td>
</tr>
<tr>
<td style="color:#ffab40;">UWorld / CControl</td>
<td>UWorld</td>
<td style="font-family:Consolas;">/msg UWorld &lt;cmd&gt;</td>
<td>~45</td>
<td>ccontrol</td>
</tr>
<tr>
<td style="color:#ff8a80;">DroneScan</td>
<td>E</td>
<td style="font-family:Consolas;">/msg E &lt;cmd&gt;</td>
<td>~17</td>
<td>dronescan</td>
</tr>
<tr>
<td style="color:#82b1ff;">OpenChanFix</td>
<td>C</td>
<td style="font-family:Consolas;">/msg C &lt;cmd&gt;</td>
<td>~40</td>
<td>chanfix</td>
</tr>
<tr>
<td style="color:#fff176;">Stats</td>
<td>ubercow</td>
<td style="font-family:Consolas;">/msg ubercow &lt;cmd&gt;</td>
<td>6</td>
<td></td>
</tr>
<tr>
<td style="color:#80cbc4;">Scanner</td>
<td>netscan</td>
<td>N/A (automat)</td>
<td>0</td>
<td></td>
</tr>
<tr>
<td style="color:#ea80fc;">Snoop</td>
<td>snoopy_</td>
<td style="font-family:Consolas;">snoopy &lt;cmd&gt; pe canal</td>
<td>11</td>
<td></td>
</tr>
</table>
</div>
</div>
<div class="footer">
<p>🌐 <a href="https://gitlab.back.ro/underchat/gnuworld">UnderChat GNUWorld</a> — Versiunea 2.1.6 — Documentație generată din codul sursă</p>
<p style="margin-top:5px;">Rețeaua UnderChat © 2026 — Toate drepturile rezervate</p>
</div>
</div>
</body>
</html>