Query Manager

By G13AoUsTiS on Sep 08, 2007

i know there are a lot of query managers out there but i desided to make my own one! Enjoy:)

;;;;;;;;;;;;;;;;;;;;;;;;;;
;; QueryAcceptor
;; by bunkahumpa
;; bunkahumpa@playcs.com
;;;;;;;;;;;;;;;;;;;;;;;;;;

on *:load:{
  set %queryacceptor on
  echo -a *** QueryAcceptor Loaded Successfully.
  echo -a If you need to temporarily shut it off, select shut off from the popups. 
  echo -a If you want to unload the script, select unload.
  echo -a You can delete saved users by selecting Saved Addresses.
}

alias qa.unload {
  if ($?!="Are you sure you want to unload?") {
    unset %qa.*
    unload -rs queryacceptor.mrc
  }
}

on *:unload:{
  echo -a *** QueryAcceptor has been unloaded.
}

alias qa.accept {
  writeini QueryAcceptorAddresses.ini Saved $gettok($ial($gettok($snicks,1,44)),2,33) accept
  echo -a *** Added $gettok($snicks,1,44) ( $+ $gettok($ial($gettok($snicks,1,44)),2,33) $+ ) to accept saved addresses
}

alias qa.decline {
  writeini QueryAcceptorAddresses.ini Saved $gettok($ial($gettok($snicks,1,44)),2,33) decline
  echo -a *** Added $gettok($snicks,1,44) ( $+ $gettok($ial($gettok($snicks,1,44)),2,33) $+ ) to decline saved addresses
}

menu nicklist {
  -
  QueryAcceptor - Always accept from $1:qa.accept
  QueryAcceptor - Always decline from $1:qa.decline
  -
}

menu status,channel,query,menubar {
  -
  QueryAcceptor
  .Saved Addresses:dialog -m savedaddresses savedaddresses
  .-
  .Turn $iif(%queryacceptor == on, off, on):$iif(%queryacceptor == on, set %queryacceptor off, set %queryacceptor on)
  .Unload:qa.unload
  -
}

dialog queryacceptor {
  title "QueryAcceptor"
  size -1 -1 133 61
  option dbu
  text %qa.nick, 1, 8 10 122 8
  box "QueryAcceptor", 2, 1 0 131 60
  text "is attempting to send you a message.", 3, 8 18 95 8
  button "Accept", 4, 8 28 37 9
  button "Decline", 5, 50 28 37 9
  check "Always", 6, 8 47 28 8
  combo 7, 37 45 38 34, size drop
  text "queries from this user", 8, 78 47 53 8
  box "Options", 9, 1 38 131 22
}

on *:dialog:queryacceptor:init:0:{
  did -a queryacceptor 7 Accept
  did -a queryacceptor 7 Decline
  did -c queryacceptor 7 1
}

on *:dialog:queryacceptor:sclick:4:{
  did -b queryacceptor 5
  if ($did(6).state == 1) {
    if ($did(7) == Accept) {
      writeini QueryAcceptorAddresses.ini Saved %qa.address accept
    }
    if ($did(7) == Decline) {
      writeini QueryAcceptorAddresses.ini Saved %qa.address decline
    }
  }
  window -w %qa.nick
  dialog -x queryacceptor queryacceptor
  window -a %qa.nick
  unset %qa.nick
  unset %qa.address
}

on *:dialog:queryacceptor:sclick:5:{
  did -b queryacceptor 4
  if ($did(6).state == 1) {
    if ($did(7) == Accept) {
      writeini QueryAcceptorAddresses.ini Saved %qa.address accept
    }
    if ($did(7) == Decline) {
      writeini QueryAcceptorAddresses.ini Saved %qa.address decline
    }
  }
  close -m %qa.nick
  dialog -x queryacceptor queryacceptor
  unset %qa.nick
  unset %qa.address
}

on *:open:?:{
  if (%queryacceptor == on) {
    if ($dialog(queryacceptor)) {
      .msg $nick Sorry $nick $+ , but I am busy with another message. Please try again later.
      close -m $nick
    }
    else {
      if ($readini(QueryAcceptorAddresses.ini,Saved,$gettok($ial($nick),2,33))) {
        if ($readini(QueryAcceptorAddresses.ini,Saved,$gettok($ial($nick),2,33)) == decline) {
msg $nick 1(4Deslined1) Please Try To PM me Later

          close -m $nick
        }
      }
      else {
        set %qa.nick $nick
        set %qa.address $gettok($ial($nick),2,33)
        window -h %qa.nick
        dialog -m queryacceptor queryacceptor
msg $nick 1(4Please Wait...1) I Am Checking Your Query To Accept Or Desline It.
      }
    }
  }
}

dialog savedaddresses {
  title "Saved Addresses"
  size -1 -1 244 131
  option dbu
  box "", 1, 2 0 241 130
  box "", 2, 2 0 61 130
  button "Remove", 3, 33 86 27 8
  button "Add", 7, 5 86 27 8
  text "To add a new address, click on the Add button. To remove an address, select one to the right and click on the Remove button. To change an address, select one on the right and click on the Edit button.", 4, 6 10 53 74
  list 5, 66 7 172 119, size extsel hsbar vsbar
  button "Close", 6, 14 112 37 12, ok
  button "Edit", 8, 19 95 27 8
  box "", 9, 2 103 61 27
}

on *:dialog:savedaddresses:init:0:{
  var %line = 1
  var %ini = 1
  while (%ini <= $ini(QueryAcceptorAddresses.ini,Saved,0)) {
    did -i savedaddresses 5 %line $ini(QueryAcceptorAddresses.ini,Saved,%ini) ( $+ $readini(QueryAcceptorAddresses.ini,Saved,$ini(QueryAcceptorAddresses.ini,Saved,%ini)) $+ )
    inc %line
    inc %ini
  }
}

on *:dialog:savedaddresses:sclick:3:{
  if ($did(savedaddresses,5).seltext != $null) {
    remini QueryAcceptorAddresses.ini Saved $gettok($did(savedaddresses,5).seltext,1,32)
    did -d savedaddresses 5 $did(savedaddresses,5).sel
  }
}

on *:dialog:savedaddresses:sclick:7:{
  dialog -m add_address add_address
}

on *:dialog:savedaddresses:sclick:8:{
  if ($did(savedaddresses,5).seltext != $null) {
    set %qa.editaddress $gettok($did(savedaddresses,5).seltext,1,32)
    dialog -m edit_address edit_address
  }    
}

on *:dialog:savedaddresses:sclick:6:{
  dialog -x savedaddresses savedaddresses
}

dialog add_address {
  title "Add New Address"
  size -1 -1 144 53
  option dbu
  box "New Address", 1, 0 0 144 53
  text "Enter an address and select to always accept or decline messages from that address:", 2, 7 9 118 14
  edit "", 3, 7 25 134 10
  combo 4, 95 37 46 50, size drop
  button "Add Address", 5, 7 37 37 11
  button "Cancel", 6, 48 37 37 11
}

on *:dialog:add_address:init:0:{
  did -a add_address 4 Accept
  did -a add_address 4 Decline
  did -c add_address 4 1
}

on *:dialog:add_address:sclick:5:{
  if ($did(3)) {
    if ($did(3) == You must enter an address here!) {
      halt
    }
    if ($did(4) == Accept) {
      did -a savedaddresses 5 $did(add_address,3) (accept)
      writeini QueryAcceptorAddresses.ini Saved $did(3) accept
    }
    if ($did(4) == Decline) {
      did -a savedaddresses 5 $did(add_address,3) (decline)
      writeini QueryAcceptorAddresses.ini Saved $did(3) decline
    }
    dialog -x add_address add_address
  }
  else {
    did -a add_address 3 You must enter an address here!
  }
}

on *:dialog:add_address:sclick:6:{
  dialog -x add_address add_address
}

dialog edit_address {
  title "Edit Saved Address"
  size -1 -1 134 55
  option dbu
  box "Edit Address", 1, 0 0 134 55
  text "Edit the selected address:", 2, 11 9 64 8
  edit "", 3, 11 18 120 10
  combo 4, 11 29 50 49, size drop
  button "Save", 5, 11 42 37 9
  button "Cancel", 6, 49 42 37 9
}

on *:dialog:edit_address:init:0:{
  did -a edit_address 3 %qa.editaddress
  did -a edit_address 4 Accept
  did -a edit_address 4 Decline
  did -c edit_address 4 1
}

on *:dialog:edit_address:sclick:5:{
  if ($did(3)) {
    if ($did(3) == This cannot be blank! Close and try again.) {
      halt
    }
    if ($did(4) == Accept) {
      did -o savedaddresses 5 $did(savedaddresses,5).sel $did(edit_address,3) (accept)
      remini QueryAcceptorAddresses.ini Saved %qa.editaddress
      writeini QueryAcceptorAddresses.ini Saved $did(3) accept
    }
    if ($did(4) == Decline) {
      did -o savedaddresses 5 $did(savedaddresses,5).sel $did(edit_address,3) (decline)
      remini QueryAcceptorAddresses.ini Saved %qa.editaddress
      writeini QueryAcceptorAddresses.ini Saved $did(3) decline
    }
    dialog -x edit_address edit_address
    unset %qa.editaddress
  }
  else {
    did -a edit_address 3 This cannot be blank! Close and try again.
  }
}

on *:dialog:edit_address:sclick:6:{
  dialog -x edit_address edit_address
  unset %qa.editaddress
}

Comments

Sign in to comment.
AnGeLLuS   -  Sep 08, 2011

decline message doesn't work... !

 Respond  
ALCAPONE   -  Jan 18, 2008

it works great nice script and keep them coming

 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.