Coders-IRC
IRC for Coders
![](https://www.coders-irc.net/ecms/uploads/users/user-12/profile/tn_img_91379f8d2f527518286dedc8b56b2a02.jpg)
Beta v7.68.3621
![image](https://www.coders-irc.net/ecms/uploads/sitesettings/posticons/tn_img_e84945e29aba3cf73a3c80fa247b6099.png)
![](https://www.coders-irc.net/ecms/uploads/users/user-12/profile/tn_img_91379f8d2f527518286dedc8b56b2a02.jpg)
Access control in Chat, how to keep an eye on JOIN and PART
![image](https://www.coders-irc.net/ecms/uploads/sitesettings/posticons/tn_img_5167f589c181eee3618b6128ad553d96.png)
Being part of the user support of the ircIRCgate.it network and being simultaneously present in many chan, I often happen to "not" notice when some user enters the support channel #IRChelp, to overcome this inconvenience I used two simple but effective stratagems, the first consists of a script that, when a user joins in the support chan, it says me in echo (so I read it only me, in any channel or pvt I find ..) " IRChelp records a JOIN by TIZIO and the second, if I am not physically in front of the PC, and then there was the possibility that deto message escapes me, brings me back in a separate @ window, all the JOIN on the support channel with a lot of nick time and user address .. (also useful as "access statistics".. but let's come to the code:
on *:JOIN:#irchelp: {
window @irchelp
/echo @irchelp [ 9 $asctime(HH:nn:ss) ] [ 9 #IRChelp ] Register a [ 9 JOIN ] by [ 9 $nick - $address($nick,2) ]
}
on *:P ART:#irchelp: {
window @irchelp
/echo @irchelp [ 9 $asctime(HH:nn:ss) ] [ 4 #IRChelp ] Record a [ 4 PART ] by [ 4 $nick - $address($nick,2) }
on *:JOIN:#IRChelp: {
/echo -a [ 9 $asctime(HH:nn:ss) ] [ 9 #IRChelp ] Register a [ 9 JOIN ] by [ 9 $nick - $address($nick,2) ]
}
on *:P ART:#IRCHelp: {
/echo -a [ 9 $asctime(HH:nn:ss) ] [ 4 #IRChelp ] Records a [ 4 PART ] by [ 4 $nick - $address($nick,2) ]
}
![](https://www.coders-irc.net/ecms/uploads/users/user-12/profile/tn_img_91379f8d2f527518286dedc8b56b2a02.jpg)
Query Manager - Accept or Reject messages in private!
![image](https://www.coders-irc.net/ecms/uploads/sitesettings/posticons/tn_img_5167f589c181eee3618b6128ad553d96.png)
on 1:OPEN:?:*:{
set %query.nick $nick
set %query.address $address($nick,1)
set %query.text $1-
close -m $nick
.msg $nick Query Manager: Wait, I have to decide whether or not to accept your Pvt...
query.decide
}
alias -l query.decide {
dialog -m Query Query
}
dialog Query {
title "Query"
size 300 250 200 50
option dbu
text "Nick:", 2, 5 12 12 10, nowrap
text "Text:", 3, 5 22 12 10, nowrap
edit %query.nick %query.address, 4, 20 10 170 10, read
edit %query.text, 5, 20 20 170 10, read
button "Accept", 6, 25 32 40 15
button "Reject", 7, 75 32 40 15
button "Ignore", 8, 125 32 40 15
}
on 1:dialog:Query:*:* {
if ($devent == sclick) {
if ($did == 6) {
dialog -x Query Query
query %query.nick
echo -t %query.nick < $+ %query.nick $+ > %query.text
.msg %query.nick Query Manager : Your Pvt Has Been Accepted!
unset %query.*
}
if ($did == 7) {
dialog -x Query Query
.msg %query.nick Query Manager : Your Pvt Was Rejected!
unset %query.*
}
if ($did == 8) {
dialog -x Query Query
ignore -p %query.nick
.msg %query.nick Query Manager : Your Pvt was Rejected and I Put You in Ignore!
unset %query.*
}
}
}