Jump to content

Archived

This topic is now archived and is closed to further replies.

chain

QueryBlocker

Recommended Posts

  • Administrators
Ein sehr guter Queryblocker, welcher über ein Dialogfeld konfiguriert werden kann.

Besondere Funktionen:

WhiteList

BlackList

 

 

>[script]n0=#query_block onn1=on 1:OPEN:?:*:{n2=  if ($BlockZeit($nick)) {n3=    close -m $nickn4=    w_LogText $nick $1-n5=    if ($BlockLast($nick) > 3600) { MakeBlockUser $nick }n6=  }n7=  elseif ($QueryUser($nick) == 0) {n8=    close -m $nickn9=    w_LogText $nick $1-n10=    MakeBlockUser $nickn11=  }n12=  else {n13=    msg $nick QUERYBLOCKER: Query zugelassen!n14=    msg $nick Moment bitte ich bin gleich bei dir $nick $+ , sofern ich am PC bin. ;o)n15=    echo -a * QUERYBLOCKER: $timestamp Neuer Queryuser: $nick $+ !n16=    if (($QueryZFS == EIN) && ($active != Status Window)) {n17=      echo -s * QUERYBLOCKER: $timestamp Neuer Queryuser: $nick $+ !n18=      echo -s -n19=    }n20=    if (($QueryZFR == EIN) && ($active != $comchan($nick,1)) && ($comchan($nick,0) >= 1)) {n21=      echo $comchan($nick,1) * QUERYBLOCKER: $timestamp Neuer Queryuser: $nick $+ !n22=    }n23=    if ($QuerySound != Kein_Sound) { splay -w $QuerySound }n24=  }n25=}n26=#query_block endn27=n28=#notice_block onn29=on ^1:NOTICE:*:?:{n30=  if (($BlockZeit($nick)) && ($group(#query_block) == on)) {n31=    haltdefn32=    n_LogText $nick $1-n33=  }n34=}n35=#notice_block endn36=on 1:START:{n37=  if ($StatusAnzeige == EIN) {n38=    if ($group(#query_block) == on) {n39=      echo -s * QUERYBLOCKER: Eingeschaltet!n40=      echo -s -n41=    }n42=    else {n43=      echo -s * QUERYBLOCKER: Nicht Eingeschaltet!n44=      echo -s -n45=    }n46=  }n47=}n48=menu MenuBar {n49=  $iif($dialog(qb),$style(2)) Queryblocker... :{ dialog -ma qb QueryBlocker }n50=}n51=dialog QueryBlocker {n52=  title "Queryblocker"n53=  size -1 -1 400 350n54=  tab "Übersicht",1,5 5 390 310n55=  tab "Erlaubte User",2n56=  tab "Geblockte User",3n57=  tab "Konfiguration",4n58=  box "Blocker",34,25 40 135 100,tab1n59=  check " Query's EIN/AUS",5,40 70 115 15,tab1n60=  check " Notice's EIN/AUS",6,40 100 115 15,tab1n61=  box "Infos",7,180 40 195 100,tab1n62=  text "Erlaubte User",8,200 62 100 15,tab1n63=  list 9,310 60 40 20,tab1n64=  text "Geblockte User",10,200 87 100 15,tab1n65=  list 11,310 85 40 20,tab1n66=  text "Logzeilen gesamt",12,200 112 100 15,tab1n67=  list 13,310 110 40 20,tab1n68=  box "Hilfe zum Blocker",14,25 160 350 130,tab1n69=  text "",15,40 190 300 80,tab1n70=  list 16,20 40 180 270,tab2 sortn71=  button "User hinzufügen",17,230 50 130 25,tab2n72=  button "User bearbeiten",18,230 90 130 25,tab2n73=  button "User löschen",19,230 130 130 25,tab2n74=  box "User Editfeld",20,210 190 170 60,tab2n75=  edit "",21,220 215 150 20,tab2 autohsn76=  button "Editfeld leeren",22,210 260 130 20,tab2n77=  list 23,20 40 180 270,tab3n78=  box "Infos zum User",24,210 35 170 95,tab3n79=  text "Logzeilen Anzahl:",25,227 59 100 15,tab3n80=  list 26,325 57 40 20,tab3n81=  text "Letzte Blockmeldung vor:",27,227 85 140 15,tab3n82=  list 28,225 100 140 20,tab3n83=  button "User löschen",29,220 150 150 25,tab3n84=  button "User erlauben",30,220 185 150 25,tab3n85=  button "Logdatei aufrufen",31,220 220 150 25,tab3n86=  button "Logdatei leeren",32,220 255 150 25,tab3n87=  button "Dialog schliessen",33,100 320 200 25,canceln88=  box "Erlaubte User",35,15 35 180 150,tab4n89=  text "Sound beim Query:",36,32 60 150 15,tab4n90=  button "",37,30 75 150 25,tab4n91=  text "Zusätliche Meldung:",38,32 120 150 15,tab4n92=  check " ...ins status Fenster",39,30 135 150 15,tab4n93=  check " ...in gemeinsamen Raum",40,30 155 150 15,tab4n94=  box "Geblockte User",41,205 35 180 150,tab4n95=  text "Sound beim Block:",42,222 60 150 15,tab4n96=  button "",43,220 75 150 25,tab4n97=  text "Zusätliche Meldung:",44,222 120 150 15,tab4n98=  check " ...ins aktive Fenster",45,220 135 150 15,tab4n99=  check " ...in gemeinsamen Raum",46,220 155 150 15,tab4n100=  box Infos zur Konfiguration,47,15 195 370 80,tab4n101=  text "",48,25 213 350 55,tab4n102=  check "Status des Queryblockers beim Start anzeigen",49,20 285 350 15,tab4n103=}n104=on 1:dialog:qb:INIT:0:{n105=  if ($group(#query_block) == on) { did -c qb 5 }n106=  else { did -b qb 6 }n107=  if ($group(#notice_block) == on) { did -c qb 6 }n108=  ShowLogZeilenn109=  FillQUserListn110=  FillBUserListn111=  did -a qb 15 Ist der Blocker für Query's eingeschaltet, kann optional gewählt $&n112=    werden ob auch Notice's von geblockten Usern mit unterdrückt werden sollen. $&n113=    $crlf $+ Bei ausgeschaltetem blocken von Query's werden Notice's immer $&n114=    durchgelassen und die Checkbox für die Notice's wird deaktiviert.n115=  AktQSButtonn116=  if ($QueryZFS == EIN) { did -c qb 39 }n117=  if ($QueryZFR == EIN) { did -c qb 40 }n118=  AktBSButtonn119=  if ($BlockZFA == EIN) { did -c qb 45 }n120=  if ($BlockZFR == EIN) { did -c qb 46 }n121=  did -a qb 48 Die Sounds können durch klicken der Button gewählt werden (Nur .wav Dateien). $&n122=    Meldungen zum Query werden grundsätzlich im aktiven Fenster angezeigt und$&n123=    die zum Block im status Fenster. Im gemeinsamen Raum wird nur angezeigt wenn $&n124=    das nicht das aktive Fenster ist.n125=  if ($StatusAnzeige == EIN) { did -c qb 49 }n126=}n127=:*************************** TAB 1 ***************************n128=on 1:dialog:qb:SCLICK:5:{n129=  if ($did(qb,5).state == 0) {n130=    .disable #query_blockn131=    did -b qb 6n132=  }n133=  else {n134=    .enable #query_blockn135=    did -e qb 6n136=  }n137=}n138=on 1:dialog:qb:SCLICK:6:{n139=  if ($did(qb,6).state == 0) { .disable #notice_block }n140=  else { .enable #notice_block }n141=}n142=on 1:dialog:qb:SCLICK:9:{ did -u qb 9 }n143=on 1:dialog:qb:SCLICK:11:{ did -u qb 11 }n144=on 1:dialog:qb:SCLICK:13:{ did -u qb 13 }n145=;*************************** TAB 2 *******************************n146=on 1:dialog:qb:SCLICK:2:{ FillQUserList }n147=on 1:dialog:qb:SCLICK:17:{n148=  if ($did(qb,21)) {n149=    if ($BlockZeit($did(qb,21))) {n150=      var %dummy $input(ACHTUNG! $did(qb,21) ist ein geblockter User. Um $did(qb,21) $&n151=        einzutragen gehe auf "Geblockte User" und klicke "User erlauben".,-oi,INFO)n152=    }n153=    else {n154=      w_QueryUser $did(qb,21)n155=      did -r qb 21n156=      FillQUserListn157=    }n158=  }n159=  else { var %dummy $input(Kein Nickname im User Editfeld vorhanden!,-oi,FEHLER) }n160=}n161=on 1:dialog:qb:SCLICK:18:{n162=  if ($did(qb,16).sel) {n163=    did -r qb 21n164=    did -a qb 21 $did(qb,16).seltextn165=    l_Queryuser $did(qb,16).seltextn166=    FillQUserListn167=  }n168=  else { var %dummy $input(Kein Nickname in der Liste markiert!,-oi,FEHLER) }n169=}n170=on 1:dialog:qb:SCLICK:19:{n171=  if ($did(qb,16).sel) {n172=    var %sa_del_qu $input(Soll $did(qb,16).seltext wirklich von der Liste gelöscht werden?,-yq,ACHTUNG!)n173=    if (%sa_del_qu) {n174=      l_Queryuser $did(qb,16).seltextn175=      FillQUserListn176=    }n177=  }n178=  else { var %dummy $input(Kein Nickname in der Liste markiert!,-oi,FEHLER) }n179=}n180=on 1:dialog:qb:SCLICK:22:{n181=  did -r qb 21n182=}n183=;************************** TAB 3 ****************************n184=on 1:dialog:qb:SCLICK:3:{ FillBUserList }n185=on 1:dialog:qb:SCLICK:23:{n186=  var %bu_name $did(qb,23).seltextn187=  if ($LogFile(%bu_name)) {n188=    did -r qb 26n189=    did -a qb 26 $LogLines(%bu_name)n190=  }n191=  did -r qb 28n192=  did -a qb 28 $duration($BlockLast(%bu_name),2)n193=}n194=on 1:dialog:qb:SCLICK:26:{ did -u qb 26 }n195=on 1:dialog:qb:SCLICK:28:{ did -u qb 28 }n196=on 1:dialog:qb:SCLICK:29:{n197=  if ($did(qb,23).sel) {n198=    var %sa_del_bu $input(Soll $did(qb,23).seltext wirklich von der Liste gelöscht werden? $&n199=      $crlf $+ Wenn ja $+ $chr(44) wird auch seine Logdatei gelöscht! $crlf $+ Letzte $&n200=      Blockmeldung vor: $duration($BlockLast($did(qb,23).seltext),2),-yq,ACHTUNG!)n201=    if (%sa_del_bu) {n202=      l_Blockuser $did(qb,23).seltextn203=      l_LogFile $did(qb,23).seltextn204=      FillBUserListn205=    }n206=  }n207=  else { var %dummy $input(Kein Nickname in der Liste markiert!,-oi,FEHLER) }n208=}n209=on 1:dialog:qb:SCLICK:30:{n210=  if ($did(qb,23).sel) {n211=    var %sa_erl_bu $input(Soll es $did(qb,23).seltext künftig erlaubt sein dich $&n212=      anzuflüstern? $crlf $+ Wenn ja $+ $chr(44) werden User und Logdatei gelöscht!,-yq,ACHTUNG!)n213=    if (%sa_erl_bu) {n214=      l_Blockuser $did(qb,23).seltextn215=      l_LogFile $did(qb,23).seltextn216=      w_QueryUser $did(qb,23).seltextn217=      FillBUserListn218=    }n219=  }n220=  else { var %dummy $input(Kein Nickname in der Liste markiert!,-oi,FEHLER) }n221=}n222=on 1:dialog:qb:SCLICK:31:{n223=  if ($did(qb,23).sel) { run notepad.exe $LogName($did(qb,23).seltext) }n224=  else { var %dummy $input(Kein Nickname in der Liste markiert!,-oi,FEHLER) }n225=}n226=on 1:dialog:qb:SCLICK:32:{n227=  if ($did(qb,23).sel) {n228=    LogDelete $did(qb,23).seltextn229=    FillBUserListn230=  }n231=  else { var %dummy $input(Kein Nickname in der Liste markiert!,-oi,FEHLER) }n232=}n233=;************************* TAB 4 ****************************n234=on 1:dialog:qb:SCLICK:37:{n235=  var %querysfile $sfile($mircdir,Query-Sound wählen,Auswählen)n236=  if (%querysfile) {n237=    if ($right(%querysfile,4) != .wav) {n238=      var %dummy $input(Es dürfen nur .wav Dateien als Sound gewählt werden!,-oi,FEHLER)n239=    }n240=    else { w_QuerySound %querysfile }n241=  }n242=  else { w_QuerySound Kein_Sound }n243=  AktQSButtonn244=}n245=on 1:dialog:qb:SCLICK:39:{n246=  if ($did(qb,39).state == 0) { w_QueryZFS AUS }n247=  else { w_QueryZFS EIN }n248=}n249=on 1:dialog:qb:SCLICK:40:{n250=  if ($did(qb,40).state == 0) { w_QueryZFR AUS }n251=  else { w_QueryZFR EIN }n252=}n253=on 1:dialog:qb:SCLICK:43:{n254=  var %blocksfile $sfile($mircdir,Block-Sound wählen,Auswählen)n255=  if (%blocksfile) {n256=    if ($right(%blocksfile,4) != .wav) {n257=      var %dummy $input(Es dürfen nur .wav Dateien als Sound gewählt werden!,-oi,FEHLER)n258=    }n259=    else { w_BlockSound %blocksfile }n260=  }n261=  else { w_BlockSound Kein_Sound }n262=  AktBSButtonn263=}n264=on 1:dialog:qb:SCLICK:45:{n265=  if ($did(qb,45).state == 0) { w_BlockZFA AUS }n266=  else { w_BlockZFA EIN }n267=}n268=on 1:dialog:qb:SCLICK:46:{n269=  if ($did(qb,46).state == 0) { w_BlockZFR AUS }n270=  else { w_BlockZFR EIN }n271=}n272=on 1:dialog:qb:SCLICK:49:{n273=  if ($did(qb,49).state == 0) { w_StatusAnzeige AUS }n274=  else { w_StatusAnzeige EIN }n275=}n276=;************************** ALIASES *************************n277=Alias MakeBlockUser {n278=  w_BlockUser $1n279=  BlockMessage $1n280=  echo -s * QUERYBLOCKER: $timestamp $1 geblockt!n281=  echo -s -n282=  if (($BlockZFA == EIN) && ($active != Status Window)) {n283=    echo -a * QUERYBLOCKER: $timestamp $1 geblockt!n284=  }n285=  if (($BlockZFR == EIN) && ($active != $comchan($1,1)) && ($comchan($1,0) >= 1)) {n286=    echo $comchan($1,1) * QUERYBLOCKER: $timestamp $1 geblockt!n287=  }n288=  if ($BlockSound != Kein_Sound) { splay -w $BlockSound }n289=}n290=Alias ShowErlUser {n291=  did -r qb 9n292=  did -a qb 9 $LinesQueryUsern293=}n294=Alias ShowGebUser {n295=  did -r qb 11n296=  did -a qb 11 $BlockLinesn297=}n298=Alias ShowLogZeilen {n299=  did -r qb 13n300=  var %slz_anzahl 0n301=  var %slz_zähler 1n302=  while (%slz_zähler  0) {n304=      inc %slz_anzahl $LogLines($BlockUser(%slz_zähler))n305=    }n306=    inc %slz_zählern307=  }  n308=  did -a qb 13 %slz_anzahln309=}n310=Alias FillQUserList {n311=  did -r qb 16n312=  var %fqul_zähler 1n313=  while (%fqul_zähler  $2- }n361=Alias n_LogText { write -a Query-Daten\ $+ $1 $+ log.txt $timestamp - $+ $1 $+ - $2- }n362=Alias LogFile { return $exists(Query-Daten\ $+ $1 $+ log.txt) }n363=Alias LogLines { return $lines(Query-Daten\ $+ $1 $+ log.txt) }n364=Alias LogName { return Query-Daten\ $+ $1 $+ log.txt }n365=Alias LogDelete { write -c Query-Daten\ $+ $1 $+ log.txt }n366=Alias l_LogFile { .remove Query-Daten\ $+ $1 $+ log.txt }n367=Alias BlockZeit { return $read(Query-Daten\Blockuser.txt,s,$1) }n368=Alias BlockLast { return $calc($ctime - $BlockZeit($1)) }n369=Alias BlockLines { return $lines(Query-Daten\Blockuser.txt) }n370=Alias l_BlockUser { write -ds $1 Query-Daten\Blockuser.txt }n371=Alias w_BlockUser { write -s $1 Query-Daten\Blockuser.txt $1 $ctime }n372=Alias BlockUser {n373=  var %bu_zeile $read(Query-Daten\Blockuser.txt,$1)n374=  var %bu_länge $calc($pos(%bu_zeile,$chr(32),1) - 1)n375=  return $left(%bu_zeile,%bu_länge)n376=}n377=Alias BlockMessage {n378=  var %blockraum_zähler 1n379=  while (%blockraum_zähler QUERYBLOCKER: Query geblockt!n384=  .msg $1 Hallo $1 $+ , du stehst nicht auf meiner Liste mit vertrauten Usern, also kannst du mich nicht anflüstern.n385=  if (%blockraum_zähler == 1) {n386=    .msg $1 Zur Zeit bin ich auch in keinem Raum, so dass du mich nicht erreichen kannst.n387=  }n388=  elseif (%blockraum_zähler == 2) {  n389=    .msg $1 Wenn du mit mir sprechen willst erreichst du mich in folgendem Raum: %akt_block_räumen390=  }n391=  else {n392=    .msg $1 Wenn du mit mir sprechen willst erreichst du mich in folgenden Räumen: %akt_block_räumen393=  }n394=  .msg $1 Diese Meldung wird frühestens in 1 Stunde das nächste mal angezeigt!n395=}n396=n397=;------------ Diese und alle nachfolgenden Zeilen, -------------n398=;----- können nach dem Laden des Scritpes entfernt werden! -----n399=n400=;********************** Installation ***************************n401=on 1:LOAD:{n402=  if (!$exists(Query-Daten)) { .mkdir Query-Daten }n403=  if (!$exists(Query-Daten\Queryuser.txt)) { write -c Query-Daten\Queryuser.txt }n404=  if (!$exists(Query-Daten\Blockuser.txt)) { write -c Query-Daten\Blockuser.txt }n405=  w_StatusAnzeige EINn406=  w_QuerySound Kein_Soundn407=  w_QueryZFS AUSn408=  w_QueryZFR AUSn409=  w_BlockSound Kein_Soundn410=  w_BlockZFA AUSn411=  w_BlockZFR AUSn412=}

Link to comment
Share on other sites



×
×
  • Create New...