| | 
 
| 
| 
|  |  
| 
Joined:  Dec 2024 Posts: 29 Ameglian cow |  
| OP   Ameglian cow Joined:  Dec 2024 Posts: 29 | 
I'm trying to set different types of bans that I'm missing and that could be useful, but the command is different depending on where you're banning, for example:
 Clicking on the nickname list, I get a simple ban on the address:
 
 
 /ban $$1 2
 If the nickname is registered, how do I ban the registered nickname?
 
 Instead, on a script with input, the command is:
 
 
 if (!kb isin $1) { /ban # $2 2 }
 Again, how can I ban a nickname's account if it's registered?
 
 And finally, there's another script that automatically bans, like this:
 
 
 on @*:TEXT:*add me on*:#Mairel: { .ban $chan $nick 2 }
 Since I've set the channel so that only registered nicknames can post, how do I ban the registered account?
 |  |  |  
| 
| 
|  |  
| 
Joined:  Nov 2021 Posts: 166 Vogon poet |  
|   Vogon poet Joined:  Nov 2021 Posts: 166 | 
well that depends on what network  this will be used and if they have the option to set bans on accounts rather than on their host or ip and such.lets start with asking on what network are you using this ? and what ircd + services are they using ?
 |  |  |  
| 
| 
|  |  
| 
Joined:  Dec 2024 Posts: 29 Ameglian cow |  
| OP   Ameglian cow Joined:  Dec 2024 Posts: 29 | 
Forgive my ignorance, I'm not sure how to respond to the last part of your message, so I at least checked to see if it was possible to ban registered nicknames, and the command is like this:
 
 /mode #channel +b R:
 If I do it manually in the channel, it works, but I don't know how to implement it in the situations described above.
 
 If you need any more information, please let me know. Thank you very much
 |  |  |  
| 
| 
|  |  
| 
Joined:  Nov 2021 Posts: 166 Vogon poet |  
|   Vogon poet Joined:  Nov 2021 Posts: 166 | 
the only way i can think of using an extended ban on the account is via whois where the account can be found |  |  |  
| 
| 
|  |  
| 
Joined:  Jan 2012 Posts: 371 Pan-dimensional mouse |  
|   Pan-dimensional mouse Joined:  Jan 2012 Posts: 371 | 
Try using this: Note
menu nicklist {
  -
  $style(1) ADMIN
  .Ban $chr(9) *!*@host : ban $chan $$1 2
  .Ban $chr(9) $+(R,$chr(58),$$1) : mode $chan +b $+(R:,$$1)
  .-
  .Ban [Combo] : mode $chan +bb $address($$1,2) $+(R:,$$1)
  -
}
on @*:INPUT:#:{
  if (/* !iswm $1) {
    if (!b == $1) { ban $chan $2 2 }
    if (!kb == $1) { ban -k $chan $2 2 You are not welcome here! }
    if (!br == $1) { mode $chan +b $+(R:,$2) }
    if (!kbr == $1) { mode $chan +b $+(R:,$2) | kick $chan $2 You are not welcome here! }
    halt
  }
}
on @*:TEXT:*add me on*:#Mairel:{ ban $chan $nick 2 | mode $chan +b $+(R:,$nick) }
: You can leave it as is or split it into 3 different scripts. If the code does not work correctly or as you expected, please leave a comment with a detailed report, so that the necessary changes can be made to fix. |  |  |  
| 
| 
|  |  
| 
Joined:  Dec 2024 Posts: 29 Ameglian cow |  
| OP   Ameglian cow Joined:  Dec 2024 Posts: 29 | 
When I run a whois query, I get, for example:
 BestGuest is logged in as TheKing
 
 So if I manually run the command:
 
 
 /mode #mychan +b R:TheKing
 the command works. However, I can't create the command from the other places I mentioned above: by clicking on the nickname list, and from the other two scripts, since they require a different spelling of the command. This is my problem.
 |  |  |  
| 
| 
|  |  
| 
Joined:  Dec 2024 Posts: 29 Ameglian cow |  
| OP   Ameglian cow Joined:  Dec 2024 Posts: 29 | 
@Epic, I tried your script. I tried it both split (I prefer it, because I already have three different places set up where these commands are) and loading it whole, and it gives me the same problem for all three codes, whether trying them individually or all at once.
 That is, the nickname that gets banned isn't the one of the account they're logged into, but the nickname they're currently using.
 
 For example: if I'm logged in with the nickname TheKing, but I'm using the nickname BestGuest, those commands result in a ban on BestGuest, while the ban should actually be on TheKing.
 |  |  |  
| 
| 
|  |  
| 
Joined:  Jan 2012 Posts: 371 Pan-dimensional mouse |  
|   Pan-dimensional mouse Joined:  Jan 2012 Posts: 371 | 
That is, the nickname that gets banned isn't the one of the account they're logged into, but the nickname they're currently using. For example: if I'm logged in with the nickname TheKing, but I'm using the nickname BestGuest, those commands result in a ban on BestGuest, while the ban should actually be on TheKing.Ok, I made additional changes to the code to fix the problem you described. You can test this code: Note
menu nicklist {
  -
  $style(1) ADMIN
  .Ban $chr(9) *!*@host : ban $chan $$1 2
  .Ban $chr(9) $+(R,$chr(58),<account>) : bacc $chan $$1
  .-
  .Ban [Combo] : set %bcombo $true | bacc $chan $$1
  -
}
on @*:INPUT:#:{
  if (/* !iswm $1) {
    if (!b == $1) { ban $chan $2 2 }
    if (!kb == $1) { ban -k $chan $2 2 You are not welcome here! }
    if (!br == $1) { bacc $chan $2 }
    if (!kbr == $1) { bacc $chan $2 | kick $chan $2 You are not welcome here! }
    halt
  }
}
on @*:TEXT:*add me on*:#Mairel: ban $chan $nick 2 | bacc $chan $nick
alias -l bacc { .enable #islogged | set %bchan $1 | whois $2 }
alias -l setmode { $iif(%bcombo,mode %bchan +bb $address($1,2) $+(R:,$2),mode %bchan +b $+(R:,$2)) | unset %bchan %bcombo }
#islogged off
raw *:*is logged*: setmode $2 $3 | .disable #islogged
#islogged end
: If you are going to split this code up for use in different scripts, remove the switch "-l " in the aliases, to make them global and publicly for visibility in all scripts:  alias -l |  |  |  
| 
| 
|  |  
| 
Joined:  Dec 2024 Posts: 29 Ameglian cow |  
| OP   Ameglian cow Joined:  Dec 2024 Posts: 29 | 
I think at this point I need help breaking them down and adding them to the different scripts, @Epic If I load this entire script, it works, but if I try to split them, I can't get it to work anymore. For the code snippet in the nickname list, I simply have the commands in the script editor, under Popus, like this: ![[Linked Image from i.imgur.com]](https://i.imgur.com/zwZs2gd.jpeg) So, how do I add it to the Popups? For the inputs, the script is like this: on *:INPUT:#: { if (!q === $1) {
 if ($2 = $null) { /msg chanserv owner # $me }
 else { /mode $chan +q $2- }
 }
 if (!a = $1) {
 if ($2 = $null) { /msg chanserv protect # $me }
 else { /mode $chan +aaaaaaaaaa $2- }
 }
 if (!o = $1) {
 if ($2 = $null) { /msg chanserv op # $me }
 else { /mode $chan +oooooooooo $2- }
 }
 if (!kb isin $1) { /ban # $2 2 }
 if (!k isin $1) { /kick $chan $2 $3- }
 if ($1 == .k ) { kick # $2 $3- }
 if ($1 == .b ) { ban # $2 $3- }
 if (!b == $1 ) { /mode $chan +b $+(*,$2,*),*,!,*,@,*) }
 }
 }
 
 on 1:connect: {
 comandon
 }
 
 alias comandon {
 if (%cmd1 != $null) { timer1 1 0 %cmd1 }
 if (%cmd2 != $null) { timer2 1 0 %cmd2 }
 if (%cmd3 != $null) { timer3 1 0 %cmd3 }
 if (%cmd4 != $null) { timer4 1 0 %cmd4 }
 if (%cmd5 != $null) { timer5 1 0 %cmd5 }
I'm lost here too; I can't add it. Finally, in the badwords script, I don't think I added it correctly... it works, but in addition to displaying a whois every time a nickname is banned, the status message says "BACC Unknown command." To add it to the badwords script, I simply added this code under another alias in that script: alias -bacc { .enable #islogged | set %bchan $1 | whois $2 }alias setmode { $iif(%bcombo,mode %bchan +bb $address($1,2) $+(R:,$2),mode %bchan +b $+(R:,$2)) | unset %bchan %bcombo }
 
 #islogged off
 raw *:*is logged*: setmode $2 $3 | .disable #islogged
 #islogged end
And then of course I put this  ban $chan $nick 2 | bacc $chan $nick in every code on text, like this: on @*:TEXT:*this one*:#Mairel: ban $chan $nick 2 | bacc $chan $nickon @*:TEXT:*this one too*:#Mairel: ban $chan $nick 2 | bacc $chan $nick
 
I hope I explained myself well, I'm sorry for the confusion, if you could tell me how and where they should be added, because I can't do it alone |  |  |  
| 
| 
|  |  
| 
Joined:  Jan 2012 Posts: 371 Pan-dimensional mouse |  
|   Pan-dimensional mouse Joined:  Jan 2012 Posts: 371 | 
Code snippet for the "Popups " menu: 
Punishment
.Ban+Kick : mode $chan +bb $address($$1,2) $address($$1,3) | kick $chan $$1 You are not welcome here!
.-
.Ban $chr(9) *!*@host : ban $chan $$1 2
.Ban $chr(9) $+(R,$chr(58),<account>) : bacc $chan $$1
.-
.Ban $chr(9) Combo : set %bcombo $true | bacc $chan $$1
.Ban+Kick $chr(9) Combo : set %bcombo $true | bacc $chan $$1 | kick $chan $$1 You are not welcome here!
Code snippet with the "ON INPUT " event handler: 
on @*:INPUT:#:{
  if (!q == $1) {
    if ($2 == $null) { msg chanserv owner $chan $me } | else { mode $chan +q $2- }
  }
  if (!a == $1) {
    if ($2 == $null) { msg chanserv protect $chan $me } | else { mode $chan +aaaaaaaaaa $2- }
  }
  if (!o == $1) {
    if ($2 == $null) { msg chanserv op $chan $me } | else { mode $chan +oooooooooo $2- }
  }
  if (!kb == $1) { ban -k $chan $2 2 You are not welcome here! }
  if (!k == $1) { kick $chan $2 $3- }
  if (.k == $1) { kick $chan $2 $3- }
  if (!b == $1 ) { mode $chan +b $+(*,$2,*!*@*) }
  if (.b == $1 ) { ban $chan $2 $3- }
  if (!br == $1) { bacc $chan $2 }
  if (!kbr == $1) { bacc $chan $2 | kick $chan $2 You are not welcome here! }
  halt
}
Code snippet (badwords) with the "ON TEXT " event handler: P.S.
on @*:TEXT:*this one*:#Mairel: ban $chan $nick 2
on @*:TEXT:*this too*:#Mairel: ban $chan $nick 2
on @*:TEXT:*i want combo ban*:#Mairel: set %bcombo $true | bacc $chan $nick
alias bacc { .enable #islogged | set %bchan $1 | whois $2 }
alias setmode { $iif(%bcombo,mode %bchan +bb $address($1,2) $+(R:,$2),mode %bchan +b $+(R:,$2)) | unset %bchan %bcombo }
#islogged off
raw *:*is logged*: setmode $2 $3
raw 318:*: .disable #islogged
#islogged end
 Please note that I have made many changes to fix bugs and improve things. You can compare your old code with this update to see what you were doing wrong. Also, never forget to look at the help documentation to see the correct syntax and read information about how to use a particular code element: https://en.wikichip.org/wiki/mirc |  |  |  
| 
| 
|  |  
| 
Joined:  Jan 2012 Posts: 371 Pan-dimensional mouse |  
|   Pan-dimensional mouse Joined:  Jan 2012 Posts: 371 | 
Oops... looks like I was in a hurry with the publication, and then I couldn't make a correction to the post for a long time and went away on business. 1. I based it on the code snippet you provided with "ON INPUT ", but when edited it forgot to add the important condition  if (/* !iswm $1) that was present in my previous code. This condition checks whether the entered text is a regular message or a command where the first character in the first word is "/ ", for example, if you enter the command  /echo -a test. Just in case, need to add this condition. 2. Also, the command "halt " at the end of the code will block any sent messages sent to the channel other than the listed commands, so this should be removed or can add inside the curly braces at the very end for each command  if (!k == $1) { kick $chan $2 $3- | halt } so that the entered command is not sent to the channel and is not visible to users. 3. And finally, it is better to remove the prefix "@ " from the event handler  on @*:INPUT:#: since it is assumed that some commands used to obtain the channel operator status will be entered at a time when you do not yet have the channel operator status. During my short rushed testing, everything went smoothly and I didn't notice these bloopers, but in fact these omissions lead to incorrect operation of the script. Replace the previous code snippet with the "ON INPUT " event handler with this one and check: 
on *:INPUT:#:{
  if (/* !iswm $1) {
    if (!q == $1) {
      if ($2 == $null) { msg chanserv owner $chan $me } | else { mode $chan +q $2- } | halt
    }
    if (!a == $1) {
      if ($2 == $null) { msg chanserv protect $chan $me } | else { mode $chan +aaaaaaaaaa $2- } | halt
    }
    if (!o == $1) {
      if ($2 == $null) { msg chanserv op $chan $me } | else { mode $chan +oooooooooo $2- } | halt
    }
    if (!kb == $1) { ban -k $chan $2 2 You are not welcome here! | halt }
    if (!k == $1) { kick $chan $2 $3- | halt }
    if (.k == $1) { kick $chan $2 $3- | halt }
    if (!b == $1 ) { mode $chan +b $+(*,$2,*!*@*) | halt }
    if (.b == $1 ) { ban $chan $2 $3- | halt }
    if (!br == $1) { bacc $chan $2 | halt }
    if (!kbr == $1) { bacc $chan $2 | kick $chan $2 You are not welcome here! | halt }
  }
}
 |  |  |  
| 
| 
|  |  
| 
Joined:  Dec 2024 Posts: 29 Ameglian cow |  
| OP   Ameglian cow Joined:  Dec 2024 Posts: 29 | 
@Epic I was able to add everything easily like this. Thank you for all the improvements and work you've done, truly.
 However, after testing the scripts in all situations, I noticed some malfunctions:
 
 Problem 1: When I set, or automatically trigger, a ban on the registered account, from all three places— namely, the nickname list, the input, and the badwords— an automatic whois query is triggered each time.
 
 So I tried removing this part from the alias code:
 
 
 | whois $2
 But the result is that nothing works anymore. How do you get rid of that whois that keeps appearing without the script stopping
 working?
 
 
 Second problem: To the badwords:
 
 
 on @*:TEXT:*i want combo ban*:#Mairel: set %bcombo $true | bacc $chan $nick
 I had to add this:
 
 
 | .ban $chan $nick 2
 Because if someone who doesn't have the registered nickname writes any badwords, the ban won't be triggered, nothing happens.
 
 Now, however, by adding the other ban code, when a ban is triggered, I still get the following message in the Status:
 
 
 #Mairel *!*@exemple.org b Channel ban list already contains *!*@exemple.org
 
 
 This is because the type 2 ban is already present in the "combo" ban, so I had to change it by adding the type 3 ban, like this:
 
 
 | .ban $chan $nick 3
 So now, when someone says a bad word, a type 2 ban, an account ban (the combo), and a type 3 ban are triggered.
 
 I only managed to get it to work by doing this, but I think it's forced to work this way, forcing three types of bans. I think it should be fixed so that if the nickname is registered, both the type 2 and account bans are triggered, while if it's not registered, only the type 2 ban is triggered,
 or at most, a type 2 ban and the ability to add others as needed.
 |  |  |  
| 
| 
|  |  
| 
Joined:  Dec 2024 Posts: 29 Ameglian cow |  
| OP   Ameglian cow Joined:  Dec 2024 Posts: 29 | 
Oops... looks like I was in a hurry with the publication, and then I couldn't make a correction to the post for a long time and went away on business. I based it on the code snippet you provided with "ON INPUT ", but when edited it forgot to add the important condition  if (/* !iswm $1) that was present in my previous code. This condition checks whether the entered text is a regular message or a command where the first character in the first word is "/ ", for example, if you enter the command:  /echo -a test. Just in case, need to add. Also, the command "halt " at the end of the code will block any sent messages sent to the channel other than the listed commands, so this should be removed or can add inside the curly braces at the very end for each command:  if (!k == $1) { kick $chan $2 $3- | halt } so that the entered command is not sent to the channel and is not visible to users. And finally, it is better to remove the prefix "@ " in the event handler, since it is assumed that some commands used to obtain the channel operator status will be entered at a time when you do not yet have the channel operator status. During my short, rushed testing, everything went smoothly and I didn't notice these bloopers, but these omissions lead to the script not working correctly. Replace the previous code snippet with the "ON INPUT " event handler with this one and check: 
on *:INPUT:#:{
  if (/* !iswm $1) {
    if (!q == $1) {
      if ($2 == $null) { msg chanserv owner $chan $me } | else { mode $chan +q $2- } | halt
    }
    if (!a == $1) {
      if ($2 == $null) { msg chanserv protect $chan $me } | else { mode $chan +aaaaaaaaaa $2- } | halt
    }
    if (!o == $1) {
      if ($2 == $null) { msg chanserv op $chan $me } | else { mode $chan +oooooooooo $2- } | halt
    }
    if (!kb == $1) { ban -k $chan $2 2 You are not welcome here! | halt }
    if (!k == $1) { kick $chan $2 $3- | halt }
    if (.k == $1) { kick $chan $2 $3- | halt }
    if (!b == $1 ) { mode $chan +b $+(*,$2,*!*@*) | halt }
    if (.b == $1 ) { ban $chan $2 $3- | halt }
    if (!br == $1) { bacc $chan $2 | halt }
    if (!kbr == $1) { bacc $chan $2 | kick $chan $2 You are not welcome here! | halt }
  }
}
You posted before me while I was posting another message, I won't touch anything so in the meantime you can also read the other message with the problems I found |  |  |  
| 
| 
|  |  
| 
Joined:  Jan 2012 Posts: 371 Pan-dimensional mouse |  
|   Pan-dimensional mouse Joined:  Jan 2012 Posts: 371 | 
... whois query is triggered each time ...Yes, the script every time uses the command  whois $2 to get the required string, for example "BestGuest is logged in as TheKing ", so this request will be made constantly. How do you get rid of that whois ... ?Can try to hide the display of all lines received in the "Whois " response about the requested nick by using the command  haltdef inside the handler  raw. I think it should be fixed so that if the nickname is registered, both the type 2 and account bans are triggered, while if it's not registered, only the type 2 ban is triggered, or at most, a type 2 ban and the ability to add others as needed.Ok, for this I will add two aliases "ban_reg_user " and "ban_noreg_user " to set a ban if the nick is registered or when it is not registered respectively, depending on what data will be received from the "Whois " response, and with the ability to add additional commands with the required types of bans.〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰〰 Replace the previous code snippet (badwords) with the "ON TEXT " event handler with this one and check: 
on @*:TEXT:*just ban me already*:#Mairel: ban $chan $nick 2
on @*:TEXT:*guess my registration*:#Mairel: bacc $chan $nick
on @*:TEXT:*i want to get combo*:#Mairel: set %bcombo $true | bacc $chan $nick
alias bacc { .enable #islogged | set %bchan $1 | whois $2 }
alias -l ban_reg_user {
  if (%bcombo) { mode %bchan +bbb $address($1,2) $address($1,3) $+(R:,$2) }
  else { mode %bchan +bb $address($1,2) $+(R:,$2)) }
  unset %bchan %bcombo
}
alias -l ban_noreg_user {
  if (%bcombo) { mode %bchan +bb $address($1,2) $address($1,3) }
  else { ban %bchan $1 2 }
  unset %bchan %bcombo
}
#islogged off
raw *:*:{
  if ($numeric isnum 307-320) || ($numeric isnum 615-617) { haltdef }
  if ($istok(301 330 335 338 378 379 671,$numeric,32)) { haltdef }
  if (*is logged* iswm $2-) { set %islogged $3 | haltdef }
  if ($numeric == 318) {
    $iif(%islogged,ban_reg_user $2 $v1,ban_noreg_user $2)
    unset %islogged | .disable #islogged
  }
}
#islogged end
 |  |  |  
| 
| 
|  |  
| 
Joined:  Dec 2024 Posts: 29 Ameglian cow |  
| OP   Ameglian cow Joined:  Dec 2024 Posts: 29 | 
So if I understand correctly, it's possible to hide the whois (that was the goal, if I explained myself correctly; not that there isn't a whois, but just to make it invisible in all three places) only in the badwords code, while for the script input and the popup bans, it's not possible to hide it?
 Anyway, I changed the code with the new one, and the ban issue was solved, but the whois still appears.
 |  |  |  
| 
| 
|  |  
| 
Joined:  Jan 2012 Posts: 371 Pan-dimensional mouse |  
|   Pan-dimensional mouse Joined:  Jan 2012 Posts: 371 | 
if I understand correctly, it's possible to hide the whois only in the badwords code, while for the script input and the popup bans, it's not possible to hide it?No. Hiding the "Whois " response should work for all three code snippets, when they use the common command  bacc that runs the alias of the same name, which in turn runs other commands specified inside its curly braces:  alias bacc { .enable #islogged | set %bchan $1 | whois $2 }Catching and hiding incoming "Whois " messages is done in the handler  raw. More details here: https://en.wikichip.org/wiki/mirc/raw_events Anyway, I changed the code with the new one, and the ban issue was solved, but the whois still appears.Before publishing the code, I usually do some light testing to make sure it works according to the technical specifications in the request, so all of these three codes should work fine. When setting a ban on a user by his account, I don't see not a one displayed lines from "Whois ", when the command  bacc is used in all three code snippets. But if enter the command  /whois nick directly into the input field (editbox), then in this case you should see all the information received from the server in full. That's where all the magic is ✨ For testing, try installing a new/clean mIRC client  in a different folder, without any scripts, dlls and third-party add-ons, and then you'll need to load/install only these three code snippets into it, with the latest changes/updates. |  |  |  
| 
| 
|  |  
| 
Joined:  Dec 2024 Posts: 29 Ameglian cow |  
| OP   Ameglian cow Joined:  Dec 2024 Posts: 29 | 
@Epic I found the problem as to why the Whois was still visible: there's another Whois script that's apparently conflicting. I tried removing it from the script to test it, and now the Whois is no longer visible from any of the three sections (Popups, Input, and Badwords).
 The script is this:
 
 
 menu {— $1  —:whois $$1 $$1
 }
 raw 311:*:{
 haltdef
 echo -a $timestamp [Nick] $2
 echo -a $timestamp [Real name] $6-
 echo -a $timestamp [Ident@Ip] $3 $+ $+ @ $+ $+ $4
 var %clone = $kanalclone($2)
 if (%clone == $null)   echo -a $timestamp [Clones] (No clones)
 else   echo -a $timestamp [Clones] ( $+ $numtok(%clone,44) $+ ) user / %clone
 haltdef
 }
 raw 312:*:{
 haltdef
 echo -a $timestamp [Server] $3 / $4 $5 $6
 }
 raw 313:*: {
 haltdef
 echo -a $timestamp [Network Inf] $3 $4 $5 $6 $7 $8 $9
 }
 raw 314:*:{
 haltdef
 echo -a $timestamp ¯°--------------------------------------------------------------------------------•
 echo -a $timestamp [Nick] $2
 echo -a $timestamp [Real name] $6-
 echo -a $timestamp [Ident@Ip] $3 $+ $+ @ $+ $+ $4
 var %clone = $kanalclone($2)
 if (%clone == $null)   echo -a $timestamp [Clones]  (Nessun clone)
 else   echo -a $timestamp [Clones] ( $+ $numtok(%clone,44) $+ ) user / %clone
 haltdef
 }
 raw 317:*:{
 haltdef
 echo -a $timestamp [Connection time] $asctime($4,dddd dd/mm/yyyy HH:nn:ss) / $duration($calc($ctime - $4))
 echo -a $timestamp [Idle]0  $duration($3)
 }
 raw 319:*:{
 haltdef
 echo -a $timestamp [Channels] $3-
 echo -a $timestamp [Com Chan] $ortak_k($2) / Total: $comchan($2,0) Chan(s)
 }
 raw 338:*:{
 haltdef
 echo -a $timestamp [Ip] $4 $5 $6
 }
 raw 318:*:{
 haltdef
 echo -a $timestamp [Whois End]
 }
 raw 320:*:{
 haltdef
 echo -a $timestamp [Swhois]: $2-
 }
 raw 307:*: {
 haltdef
 echo -a $timestamp  [Registered] Yes
 }
 raw 330:*: echo -a $timestamp [NickServ] $2  $4 $5 $6 $7 $3 | halt
 raw 378:*:{
 haltdef
 echo -a $timestamp [Ip] $3 $4 $5 $6 $7
 }
 raw 344:*:{
 haltdef
 echo -a $timestamp [Country] $2-
 }
 raw 350:*:{
 haltdef
 echo -a $timestamp [Webgate] $4-
 }
 raw 379:*:{
 haltdef
 echo -a $timestamp [Modes] $6
 }
 raw 671:*:{
 haltdef
 echo -a $timestamp [Connection Time] $3-
 }
 raw 276:*:{
 haltdef
 echo -a $timestamp [Client] $3 $4 $5 $6 $7
 }
 raw 327:* {
 echo -a $timestamp [Client Info] Java User
 halt
 }
 raw 301:*: {
 haltdef
 echo -a $timestamp [Away] ( $+ $3- $+ )
 }
 raw 310:*: {
 haltdef
 echo -a $timestamp [Ircop] $3 $4 $5 $6
 }
 raw 335:*: {
 echo -a $timestamp [Bot] Yes (+B).
 halt
 }
 alias kanalclone {
 if ($ial($address($1,2),0) == 1) return
 var %nickler = 0 | var %clone = $1
 while (%nickler < $ial($address($1,2),0)) { inc %nickler | var %clone = $addtok(%clone,$ial($address($1,2),%nickler).nick, 44) }
 return %clone
 }
 
 alias ortak_k {
 if ($server == $null) {   echo -a $timestamp [No such server] }
 elseif ($chan($me) == 0) {   echo -a $timestamp [No such channel] }
 elseif (!$1) {   echo -a $timestamp [No such nick] }
 elseif ($comchan($1,0) == 0) {   echo -a $timestamp [No such nick/channel] }
 else {
 var %oid 1
 set %orka $comchan($1,0)
 unset %knms
 while (%oid <= %orka) {
 set %knms $comchan($1,%oid) $+ $chr(32) $+ %knms
 inc %oid
 }
 return %knms
 }
 }
 Can this be fixed so it doesn't conflict with the codes you created?
 |  |  |  
| 
| 
|  |  
| 
Joined:  Jan 2012 Posts: 371 Pan-dimensional mouse |  
|   Pan-dimensional mouse Joined:  Jan 2012 Posts: 371 | 
Ok, try replacing the script code you provided with this one and check: P.S.
menu nicklist {
  — $1 — : .enable #replace_whois | whois $$1 $$1
}
#replace_whois off
raw 311:*:{
  haltdef
  echo -a $timestamp $+(¯°,$str(-,80),•)
  echo -a $timestamp [Nick] $2
  echo -a $timestamp [Real name] $6-
  echo -a $timestamp [Ident@Ip] $+($3,@,$4)
  var %clone $kanalclone($2)
  if (%clone == $null) echo -a $timestamp [Clones] (No clones)
  else echo -a $timestamp [Clones] ( $+ $numtok(%clone,44) $+ ) user / %clone
}
raw 312:*: haltdef | echo -a $timestamp [Server] $3 / $4 $5 $6
raw 313:*: haltdef | echo -a $timestamp [Network Inf] $3 $4 $5 $6 $7 $8 $9
raw 314:*:{
  haltdef
  echo -a $timestamp $+(¯°,$str(-,80),•)
  echo -a $timestamp [Nick] $2
  echo -a $timestamp [Real name] $6-
  echo -a $timestamp [Ident@Ip] $+($3,@,$4)
  var %clone $kanalclone($2)
  if (%clone == $null) echo -a $timestamp [Clones] (Nessun clone)
  else echo -a $timestamp [Clones] ( $+ $numtok(%clone,44) $+ ) user / %clone
}
raw 317:*:{
  haltdef
  echo -a $timestamp [Connection time] $asctime($4,dddd dd/mm/yyyy HH:nn:ss) / $duration($calc($ctime - $4))
  echo -a $timestamp [Idle]00 $duration($3)
}
raw 319:*:{
  haltdef
  echo -a $timestamp [Channels] $3-
  echo -a $timestamp [Com Chan] $ortak_k($2) / Total: $comchan($2,0) Chan(s)
}
raw 338:*: haltdef | echo -a $timestamp [Ip] $4 $5 $6
raw 320:*: haltdef | echo -a $timestamp [Swhois]: $2-
raw 307:*: haltdef | echo -a $timestamp [Registered] Yes
raw 330:*: haltdef | echo -a $timestamp [NickServ] $2 $4 $5 $6 $7 $3
raw 378:*: haltdef | echo -a $timestamp [Ip] $3 $4 $5 $6 $7
raw 344:*: haltdef | echo -a $timestamp [Country] $2-
raw 350:*: haltdef | echo -a $timestamp [Webgate] $4-
raw 379:*: haltdef | echo -a $timestamp [Modes] $6
raw 671:*: haltdef | echo -a $timestamp [Connection Time] $3-
raw 276:*: haltdef | echo -a $timestamp [Client] $3 $4 $5 $6 $7
raw 327:*: haltdef | echo -a $timestamp [Client Info] Java User
raw 301:*: haltdef | echo -a $timestamp [Away] ( $+ $3- $+ )
raw 310:*: haltdef | echo -a $timestamp [Ircop] $3 $4 $5 $6
raw 335:*: haltdef | echo -a $timestamp [Bot] Yes (+B).
raw 318:*: haltdef | echo -a $timestamp [Whois End] | .disable #replace_whois
#replace_whois end
alias kanalclone {
  if ($ial($address($1,2),0) == 1) return
  var %nickler = 0 | var %clone = $1
  while (%nickler < $ial($address($1,2),0)) { inc %nickler | var %clone = $addtok(%clone,$ial($address($1,2),%nickler).nick, 44) }
  return %clone
}
alias ortak_k {
  if ($server == $null) { echo -a $timestamp [No such server] }
  elseif ($chan($me) == 0) { echo -a $timestamp [No such channel] }
  elseif (!$1) { echo -a $timestamp [No such nick] }
  elseif ($comchan($1,0) == 0) { echo -a $timestamp [No such nick/channel] }
  else {
    var %oid 1
    set %orka $comchan($1,0)
    unset %knms
    while (%oid <= %orka) {
      set %knms $comchan($1,%oid) $+ $chr(32) $+ %knms
      inc %oid
    }
    return %knms
  }
}
 Please, when publishing large code, instead of the tag  [c] for single-line code, use the tag  [code] for multi-line code: What UBBCode can I use in my posts |  |  |  
| 
| 
|  |  
| 
Joined:  Dec 2024 Posts: 29 Ameglian cow |  
| OP   Ameglian cow Joined:  Dec 2024 Posts: 29 | 
Sorry for the tag, I was just trying to figure out why it always came up like this when I entered the code, thanks. Anyway, I tried this whois, and now it doesn't appear anymore. It works fine. There are only two small problems, one graphical, and another, I think, with the script: The script issue is that now when the ban is triggered, from any of the three places (nicklist, script input, and script badwords), this appears in the status window (for example, let's take the nickname BestGuest): BestGuest DE set by is connecting from Germany The second problem, more of a graphical change than a problem, is that before I called the whois from the nickname list with the code in the popups, simply like this: ![[Linked Image from i.imgur.com]](https://i.imgur.com/p3eFYnF.jpeg) The graphical result when clicking on the nickname list was this: [img]https://imgur.com/Hv54mDD [/img] With your new whois, however, from the nickname list it appears like this: ![[Linked Image from i.imgur.com]](https://i.imgur.com/nJOLRBM.jpeg) You could move the new whois from where it is now, below, placing it in place of the previous Popup whois (which I should now delete), among the "Query" and "Notice" entries, as it is in the second image? |  |  |  
| 
| 
|  |  
| 
Joined:  May 2022 Posts: 136 Vogon poet |  
|   Vogon poet Joined:  May 2022 Posts: 136 | 
:::::::::::::::: 
Last edited by Fernet; 03/08/25 02:33 PM.
 |  |  |  
 | 
 |