PM Request

By YmmaX on May 05, 2020

With this mIRC script you can manage your query by accepting or decline it. Also in this script you can set some common channel(s) and if user is in that channel/s the PM will be not filtered and it can write without moderation; script makes a exception for channel @ops too.
Because after query acceptation you can't see the text lines before, this script give you posibility to check the logs, but for that, you will need to enable logging system by /log on, in your mIRC.

;###
;# PM Request
;# YM] @ UnderNet
;###

ON *:LOAD: {
.set %pmrowner $decode(WU1d,m)
noop $input(You are now using %pmrowner $+ 's PM Accept/Decline script.,oi,Script was successfully loaded.)
.set %expChans $$?="Except channels (e.g.: #channel1 #channel2)"
.set %igTime $$?="Set the ignore time duration (in minutes) of declined PMs."
}
alias F11 { .set %expChans $$?="Except channels (e.g.: #channel1 #channel2)" }
alias cF11 { .set %igTime $$?="Set the ignore time duration (in minutes) of declined PMs." }

dialog pm {
  title "PM Request"
  size -1 -1 216 221
  option pixels
  edit "", 1, 17 36 180 20
  edit "", 2, 17 72 180 108, read multi vsbar
  text "From:", 3, 17 19 45 15
  text "Message:", 4, 17 56 50 15
  button "Accept", 5, 38 184 59 20,
  button "Decline", 6, 107 184 59 20, ok
  box "", 7, 7 2 201 212
}

on *:OPEN:?:{
  .set %x $comchan($nick,0)
  .set %i 1
  if (%x == 0) { goto pm }
  if (%x > 0) {
    :start
     if (%i > %x) { goto pm }
     if (%i <= %x) {
       if ($comchan($nick,%i) isin %expChans) || ($nick isop $comchan($nick,%i)) { goto stop }
       elseif ($comchan($nick,%i) !isin %expChans) || ($nick !isop $comchan($nick,%i)) && (%i < %x) { inc %i | goto start }
       elseif ($comchan($nick,%i) !isin %expChans) || ($nick !isop $comchan($nick,%i)) && (%i == %x) { goto pm }
     }
    :pm
      .dialog -mod pm pm pm
      .did -a pm 2 $1-
      .did -a pm 1 $nick
      .msg $nick Hi $nick $+ ! Your message has been sent, but need to be 3accepted or 4declined, so please wait patiently.
      .close -m $nick
    :stop
     .timer 1 4 .unset %x
     .timer 1 6 .unset %i
  }
}
on *:dialog:pm:sclick:5:{
  .query $did(pm,1).text
  .msg $did(pm,1).text Your PM request was 3accepted. You can now write your message.
  echo 14 $did(pm,1).text * $me you can check PM logs by pressing CTRL+F12 keys.
  .dialog -x pm
}
on *:dialog:pm:sclick:6:{
  .msg $did(pm,1).text  This PM was 4declined. Also you had been ignored for  $+ %igTime $+  minutes.
  .ignore -u $+ $calc( %igTime * 60 ) $address($did(pm,1).text,2)
  .dialog -x pm pm
}

;Logs
menu query {
  -
  $active logs ( $+ $findfile($mircdirlogs\, $+ $active $+ *.log,0) $+ ):run $findfile($mircdirlogs\, $+ $active $+ *.log,1)
}
alias cF12 { run $findfile($mircdirlogs\, $+ $active $+ *.log,1) }

/load -rs pmrequest.mrc

Comments

Sign in to comment.
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.