mIRC Home    About    Download    Register    News    Help

Active Threads | Unanswered Past 24 hours | Past 48 hours | Past Week | Past Month | Past Year
Developers Jump to new posts
Languages / Translations Khaled 11/06/24 06:23 PM
With the release of v7.77, mIRC now supports loading translated resources from external language packs/DLLs as described here.

If you are interested in translating mIRC, you can create a language DLL by following these steps:

  • Extract the translatable resources from the mIRC executable using mIRC's built-in command "/langdll -m". This will create a language DLL, "mirc-en-US.dll", in the languages folder.

  • Change the language code at the end of the filename to the target language code, eg. fr-FR, es-ES, and so on. The filename must use this format: it should begin with "mirc" and end with the language code "-en-US" and ".dll".

    Alternatively, you can use "/langdll -m [code]" to specify the language code, eg. for English US you can specify: 0x0409, 1033, or en-US. This then sets the language DLL name and the language for each resource section. Note that the DLL must be a single-language DLL. mIRC loads the resources as a neutral language.

  • Set mIRC to use your language DLL in the mIRC Options/Display/Options dialog.

  • Open the language DLL with a resource editor, such as Resource Hacker.

  • Edit and translate the strings in the menus, dialogs, strings, and accelerators sections.

  • Make sure that string specifiers, such as %s %S %d %ld %d and so on are the same in the translation. mIRC performs several checks when loading resources from a language DLL, including checking for matching sprintf() specifiers, id numbers, number of controls, and so on. If an external resource does not match the internal resource, the internal resource is used instead.

  • You can use the command "/langdll -d oldmirc.exe newmirc.exe" to list the differences between two versions of mIRC (or even languages DLLs) so that you can see which resources have changed and need to be updated. This list will also include "warning" messages if there are any errors.

  • If you find that mIRC is not using a translated dialog, string, etc. it may be that there is an issue with your translation. You can use the command "//langdll -d $mircexe mirc-en-US.dll" to compare the mIRC executable to the language DLL you are translating to check for errors.

  • You may need to resize dialogs and/or resize/reposition controls in dialogs if a translation does not fit. If you find that you need to do this, please let us know. We may apply this change to mIRC's standard dialogs fo support longer translated text.

  • If you have translated a language DLL into a particular language, please let us know by posting to this thread. We will review your language DLL and may add it to the language page on the website with credit to you as the author.


If you have any comments or suggestions regarding mIRC's language support, please let us know by posting to this thread.
0 257 Read More
Latest News Jump to new posts
mIRC 7.77 released Khaled 11/06/24 05:57 PM
Dear mIRC User,

mIRC v7.77 has been released today.

This is a small update that adds features and addresses a number of issues reported by users since the last release. It includes improvements, changes and fixes, including:

Added support for loading translated resources from language DLLs.
Updated all dialogs to support translated text.
Updated OpenSSL library to v3.0.14 and CA root certificates cacert.pem file.
Fixed $urlget() support for percent-encoded username:password format.
Added /dns -mn switches to specify name server/request records.
Fixed auto-op/voice/protect bug.
Added server login support for SCRAM-SHA-224/384/512 authentication.
Fixed $mid() maximum length bug.
Fixed while/if script parser single-line break bug.
Changed hyperlinks in dialogs to support tabbing.
Updated Treebar DCC Send/Get to show progress bar.
Fixed $zip() CRC check error for zero-byte files.

How to upgrade?
mIRC is distributed in an installer that installs mIRC on your computer for you. Simply download and run the installer from the download page on the mIRC website. Follow the instructions the installer gives to you. When upgrading all your old settings and scripts will stay as they were, if you want that. Read the questions the installer asks with care and nothing can go wrong. You will be chatting with the new mIRC in no time. If you get stuck or if you want to find out more about a certain feature, just click on a Help button or browse the Help file and you should find lots of hints to help you out.

Where to download?
As always, the latest version of mIRC can be downloaded from the download page on the mIRC website.

Registering mIRC
As you know, mIRC can be downloaded freely and evaluated for 30 days. If you find that you enjoy using mIRC, it would be great and much appreciated if you registered your copy. This licenses you to use your copy of mIRC and helps to support our continued work on mIRC. You can find out how to register here.

Full list of Fixes, Changes and Additions.
For a more detailed list of recent changes, please see the whatsnew.txt file. You will need to read through the help file to learn more about these changes and their impact. Some changes are obvious, some need getting used to - please take your time to play with them and see how they work. May we invite you to use these forums for all questions you might have? The forums offer great help with everything related to mIRC!

Thanks for using mIRC, have fun on IRC!
0 351 Read More
General Discussion Jump to new posts
MIRC Server list ptaylor 01/06/24 03:08 AM
How can I get my IRC network added to the MIRC Server list?

== START HERE ==

n001=Random serverSERVER:irc.ircchat.us:port(6667-6669)GROUP:ircchat

network name (Network) = ircchat.us
random server (irc.network.com) = irc.ircchat.us
port range (6660-6669,..) = 667-6669
network contact person (your name) =Phil Taylor
network contact email (your email) = taylor2446@gmail.com
network homepage (website) = http://ircchat.us
list of servers (page on website) = http://
average amount of users = 11
average amount of servers = 1
average amount of channels = 12

== END HERE ==
0 145 Read More
Feature Suggestions Jump to new posts
SSL Connection to Proxy TrioAshburry 13/05/24 04:22 AM
The way things currently work is you connect a proxy server then encrypt the data so the proxy server cannot edit/read the text.
I propose a new way where you connect to the proxy using SSL and let the proxy server worry about an SSL connection to the IRC server based on port numbers alone.
All it takes is a checkmark on the Proxy page on options to use SSL for proxy server. I know its a long shot but it would help me a great deal since currently for people to connect to my proxy they have to specify an SSL port without the + sign then the proxy server autodetects the port number and starts an SSL connection to the IRC server. This way the proxy server can change and read the text coming to and from the proxy server.

Thank You very much.
0 279 Read More
Scripts & Popups Jump to new posts
IRCClouD BanMask Corrector Simo 24/04/24 05:21 AM
i wrote this small script for dalnet as i found many set inneffiecient bans on irccloud users this code will correct that provided your bot is opped in the channel :

Code

on *:ban:#:{
  if ($nick(#,$me,@)) {
    var %ixz = 1 , %nicksx
    while ($ialchan($banmask,$chan,%ixz).nick)  {
      var %match = $v1
      if (%match != $me && $regex($banmask,/(irccloud)/i)) { var %nicksx = $addtok(%nicksx,%match,32)  }
      inc %ixz
    }
    if ($numtok(%nicksx,32) > 1) { mode $chan -b $banmask }
    if ($numtok(%nicksx,32) == 1) {
      var %properbanmask $+(*!,$gettok($gettok($replace($address(%nicksx,1),!*uid,!*id,!*sid,!*id),1,64),2,33),@*)
      mode $chan +b-b %properbanmask $banmask
    }
  }
}
 
 
on *:KICK:# {
  if ($nick(#,$me,@)) {
    if ($regex($address($knick,2),/(irccloud)/i)) {
      var %properbanmask $+(*!,$gettok($gettok($replace($address($knick,1),!*uid,!*id,!*sid,!*id),1,64),2,33),@*)
      if ( %properbanmask !isban $chan ) {   mode $chan +b %properbanmask }
    }
  }
}
 

0 215 Read More
Feature Suggestions Jump to new posts
closing help file from script -- /winhelp Wims 01/04/24 09:57 PM
For a better handling and managing of a custom help file, such as updating it from the web, I would like to be able to close an help file from a script via /winhelp.

/winhelp -n <name> <file> [keyword]
/winhelp -c <name>
0 194 Read More
mIRC Help Jump to new posts
Seperator Line Editbox d0ORk 20/03/24 06:46 AM
Hi there, how can I change the color of this seperation line?
Thanks in advance.
0 214 Read More
mIRC Help Jump to new posts
Right-to-left languages + symbols disorder BullHorn 23/02/24 07:45 PM
Noticed this a decade ago but never thought to ask about this.

Whenever text is typed in a right-to-left language like Hebrew or Arabic, any symbol that appears in a sentence, like , or . or "", etc, causes the sentence to lose order, and moves the text from before to symbol to appear after it instead.

The more symbols are used in a sentence, the less readable it becomes.
0 276 Read More
Feature Suggestions Jump to new posts
"\" symbol in the email address saintman 06/02/24 10:37 AM
My dear ones,

In version 6, mIRC accepted "\" in the email address. This is important because in networks based on the IRCX protocol, if you defined an e-mail address in the form "mask\user@domain.com", you gained the so-called camouflage (mask).

However, since version 7, mIRC omits this character in the e-mail address, which makes masking impossible.

Is it a big problem for mIRC to accept the '\' character in email addresses again?

Many tnx in advance,
saintman
0 393 Read More
Scripts & Popups Jump to new posts
speech integration from mirc Baslerstab 29/01/24 05:28 PM
hi everyone

I'm trying to find a way to bring certain commands to powershell speakout,
I put together a script, but it doesn't work.
It was my idea at certain !order
This can be achieved via powershell as speechout.
can someone help me?

the idea is just a test. They will probably become very popular scripts when the errors are gone.


So I thank you in advance.
and sorry for my bad English, I'm Swiss

Greetings, nicci
0 260 Read More
General Discussion Jump to new posts
what this error (geat awar from raw 352) Doctor_Souza 22/01/24 03:10 AM
Code
raw 352:*:{  
if (G isin $7) {
    var %d  privadobar. $+ $cid $+ . $+ $6 
    if ($query($6) != $null) { 
      xdialog -g %d +b $rgb(22,219,207)
      echo $6 o $6 esta away
    }
  }
}
0 361 Read More
Bug Reports Jump to new posts
$read $readn and $null Wims 17/01/24 10:11 AM
1) $read($null,tn,1) makes $readn 5 here on latest version 7.76, it should make it 0 instead.

2) When you access a line number in a file that does not exist, $readn isn't set to 0 but to $lines(file):

//write -c test $+(A,$crlf,B,$crlf,C) | echo -ag > $read(test,tn,75) $readn

I think this behavior has been reported in the past, it's possible to work with it once you know but it should also make $readn 0 here.
0 244 Read More
Developers Jump to new posts
VLC Now-Playing for mIRC turbosmurfen 14/01/24 11:40 PM
VLC Now-Playing for mIRC

My project is named VLCSay and can be found as Open Source on GitHub.com

VLCSay have been tested in Windows 7, 10 and 11 which works great. And in mIRC versions from 7.76 and newer.

From downloading and installation. This can be found on the start page.

I'm open for questions, requests and things. And yes I'm back.
0 342 Read More
Latest News Jump to new posts
mIRC 7.76 released Khaled 07/01/24 08:46 PM
Dear mIRC User,

mIRC v7.76 has been released today.

This is a small update that adds features and addresses a number of issues reported by users since the last release. It includes improvements, changes and fixes, including:

Updated to Visual Studio 2017 to compile mIRC.
Updated OpenSSL library to v3.0.12.
Updated CA root certificates cacert.pem file.
Fixed switchbar vertical scrollbar buttons not being visible on Windows 11.
Added support for larger GUI icons for high resolution monitors.
Fixed notify list MONITOR event parsing to handle events without hostnames.
Fixed numeric 324 bug when parsing date range.
Enabled Control Flow Guard runtime security checks.
Fixed /toolbar -p bug that was not freeing memory correctly.
Fixed typing notifications bug in parted/kicked channel windows.

How to upgrade?
mIRC is distributed in an installer that installs mIRC on your computer for you. Simply download and run the installer from the download page on the mIRC website. Follow the instructions the installer gives to you. When upgrading all your old settings and scripts will stay as they were, if you want that. Read the questions the installer asks with care and nothing can go wrong. You will be chatting with the new mIRC in no time. If you get stuck or if you want to find out more about a certain feature, just click on a Help button or browse the Help file and you should find lots of hints to help you out.

Where to download?
As always, the latest version of mIRC can be downloaded from the download page on the mIRC website.

Registering mIRC
As you know, mIRC can be downloaded freely and evaluated for 30 days. If you find that you enjoy using mIRC, it would be great and much appreciated if you registered your copy. This licenses you to use your copy of mIRC and helps to support our continued work on mIRC. You can find out how to register here.

Full list of Fixes, Changes and Additions.
For a more detailed list of recent changes, please see the whatsnew.txt file. You will need to read through the help file to learn more about these changes and their impact. Some changes are obvious, some need getting used to - please take your time to play with them and see how they work. May we invite you to use these forums for all questions you might have? The forums offer great help with everything related to mIRC!

Thanks for using mIRC, have fun on IRC!
0 1,744 Read More
mIRC Help Jump to new posts
Need to identify when I login DougWeller 04/01/24 01:45 PM
Although so far as I can see I've filled in everything correctly.
Thanks.
Doug
0 263 Read More
Scripts & Popups Jump to new posts
Seen script help please Robert 03/01/24 01:44 PM
Here is the "Seen" code snippet i were found on the internet, i don't remember which website or forum...
I want the resutl of code are:
Here are an examples:
When some one type this command: !seen <nick> or !seen <ip/host> (*!*@1.2.3 or *!*@xyz.host.com)

1. Found (4) results "BiRain MrChair MrRolex Vida". Most recently BiRain (webchat@45.120.228.2) left IRC about 3 hours 22 minutes ago (12/05/2023-09:53:02) with message: "Read error: EOF from client", after BiRain stayed 47 minutes on #helpchan. As far as I know, BiRain hasn't said anything.

2. nps (nps@azygous.users.undernet.org) was last seen on #siargao. nps is still on #siargao. As far as I know, 2 hours 4 minutes ago, nps (nps@azygous.users.undernet.org) said on #siargao: "maryn"

3. I dont remember seeing Vida lately.. (Vida is a nickname an example).

4. Life (Life@Life.users.undernet.org) was last seen on #siargao. Unable to see Life right now on #siargao. As far as I know, 5 minutes ago, Life (Life@Life.users.undernet.org) said on #siargao: "!seen nps"

5. ChanGuard (~Life@Life.users.undernet.org) was last seen parting #siargao 20 seconds ago (03/01/2024 13:35:30), after stayed 10 minutes on #siargao.

Here is code:
Code
on ^*:TEXT:*:#:{
  if ($1 == !seen) || ($1 == .seen) || ($1 == @seen) && (!%seen) { check_seenanother_flood $nick
    if ($2) && ($2 != |) && ($left($2,1) != $) {
      if ($2 == $nick) { msg $chan [Seen] Are you looking for yourself, $nick $+ ? }
      if ($2 ison $chan) { msg $chan [Seen] $2 is still on the channel $chan $+ . }
      elseif ($2 == $me) { msg $chan $nick $+ : Sorry, you cann't seen me. }
      else {
        if (*!*@* iswm $2) {
          if ($read(seen.txt,w,* * $+ $2 $+ * :*)) { 
            var %seennickvar = $lines(seen.txt), %seennicks, %seennick
            while ($readn <= %seennickvar) {
              if ($read(seen.txt,w,* * $+ $2 $+ * :*,$calc($readn +1))) {
                var %seennickvar2 = $ifmatch
                if ($count(%seennicks,$chr(32)) < 20) && (*. $+ $gettok(%seennickvar2,1,32) $+ ,* !iswm %seennicks) { set %seennicks %seennicks , $+ $gettok(%seennickvar2,1,32) $+ , | inc %seennick }
              }
              else { set %seennickvar 0 }
            }
            if (%seennick == 1) { seen $chan $read(seen.txt,w,* * $+ $2 $+ * :*) }     
            elseif (%seennick < 20) { msg $chan $nick $+ : Found %seennick matching nicks: $left($remove(%seennicks,.),-1) $+ . }   
            else { msg $chan [Seen] To many results $nick $+ , try spesific it a bit more. }  
          }                                
          else { msg $chan $nick $+ : No matches were found matching your search. }
        }
        else {
          if ($read(seen.txt,w,* $+ $2 $+ * *!*@* :*)) { 
            if ($read(seen.txt,w,$2 *)) { seen $chan $ifmatch }
            else {
              var %seennickvar = $lines(seen.txt), %seennicks, %seennick
              while ($readn <= %seennickvar) {
                if ($read(seen.txt,w,* $+ $2 $+ * *!*@* :*,$calc($readn +1))) {
                  var %seennickvar2 = $ifmatch
                  if ($count(%seennicks,$chr(32)) < 20) && (*. $+ $gettok(%seennickvar2,1,32) $+ ,* !iswm %seennicks) { set %seennicks %seennicks . $+ $gettok(%seennickvar2,1,32) $+ , | inc %seennick }      
                }
                else { set %seennickvar 0 }
              }
              if (%seennick == 1) { seen $chan $read(seen.txt,w,* $+ $2 $+ * *!*@* :*) }        
              elseif (%seennick < 20) { msg $chan [Seen] Found %seennick matching nicks: $left($remove(%seennicks,.),-1) $+ . }   
              else { msg $chan $nick $+ : To many results $nick $+ , try spesific it a bit more. }  
            }              
          }                  
          else { msg $chan $nick $+ : Sorry, i don't remember seeing $2 lately. }
        }
      }
    }
    else { msg $chan $nick $+ : Error command, Syntax: ./!/@seen <nick/mask> }
    .ignore -u2 $nick
    set -u3 %seen 1
  }
}
alias -l check_seenanother_flood {
  var %nickseenanother $1, %hostseenanother $ial($1).host, %delay_seenanother_time 10
  if ($hget(stop-seenanother-flood,%hostseenanother)) {
    if (!$hget(stop-seenanother-flood-msg, %hostseenanother)) {
      msg $chan -ATTENTION- %nickseenanother $+ , You have recently used this command, further attempts will be ignored. Please wait a while to reused...
      .hadd -mz stop-seenanother-flood-msg %hostseenanother %delay_seenanother_time
    }
    halt
  }
  .hadd -mz stop-seenanother-flood %hostseenanother %delay_seenanother_time
}
alias seen {
  if ($gettok($2-,3,32) == :SAY) { msg $1 [Seen] As far as I know, $gettok($2-,1,32) ( $+ $right($gettok($2-,2,32),-3) $+ ) was last seen said on $gettok($2-,6,32) $duration($calc($ctime - $ctime($gettok($2-,4-5,32)))) ( $+ $gettok($2-,4-5,32) $+ ) ago with the text message: " $+ $gettok($2-,7-,32) $+ ". }
  if ($gettok($2-,3,32) == :JOIN) { msg $1 [Seen] $gettok($2-,1,32) ( $+ $right($gettok($2-,2,32),-3) $+ ) was last seen joined $gettok($2-,6,32) $duration($calc($ctime - $ctime($gettok($2-,4-5,32)))) ( $+ $gettok($2-,4-5,32) $+ ) ago. $gettok($2-,1,32) is still on $gettok($2-,6,32) $+ . }
  if ($gettok($2-,3,32) == :PART) { msg $1 [Seen] $gettok($2-,1,32) ( $+ $right($gettok($2-,2,32),-3) $+ ) was last seen parted $gettok($2-,6,32) for $duration($calc($ctime - $ctime($gettok($2-,4-5,32)))) ( $+ $gettok($2-,4-5,32) $+ ) $iif($gettok($2-,7,32),ago with the part message " $+ $gettok($2-,7-,32) $+ ".,ago. And after $gettok($2-,1,32) stayed $duration($calc($gettok($2-,5,32))) on $gettok($2-,6,32)) $+ . }
  if ($gettok($2-,3,32) == :KICK) { msg $1 [Seen] $gettok($2-,1,32) ( $+ $right($gettok($2-,2,32),-3) $+ ) was last seen when he got kicked by $gettok($2-,7,32) from $gettok($2-,6,32) in $duration($calc($ctime - $ctime($gettok($2-,4-5,32)))) ( $+ $gettok($2-,4-5,32) $+ ) ago with the kick message " $+ $gettok($2-,8-,32) $+ ". And after $gettok($2-,1,32) stayed $duration($calc($gettok($2-,5,32))) on $gettok($2-,6,32)) $+ . }
  if ($gettok($2-,3,32) == :KICKING) { msg $1 [Seen] $gettok($2-,1,32) ( $+ $right($gettok($2-,2,32),-3) $+ ) was last seen kicked $gettok($2-,7,32) from $gettok($2-,6,32) in $duration($calc($ctime - $ctime($gettok($2-,4-5,32)))) ( $+ $gettok($2-,4-5,32) $+ ) ago with the kick message " $+ $gettok($2-,8-,32) $+ ". }             
  if ($gettok($2-,3,32) == :TOPIC) { msg $1 [Seen] $gettok($2-,1,32) ( $+ $right($gettok($2-,2,32),-3) $+ ) was last seen changing topic in $gettok($2-,6,32) from $duration($calc($ctime - $ctime($gettok($2-,4-5,32)))) ( $+ $gettok($2-,4-5,32) $+ ) ago. }            
  if ($gettok($2-,3,32) == :NICK) { msg $1 [Seen] $gettok($2-,1,32) ( $+ $right($gettok($2-,2,32),-3) $+ ) was last seen changing nick to $+(,$gettok($2-,6,32),) on ( $+ $gettok($2-,4-5,32) $+ ). As far as I know $+(,$gettok($2-,1,32),) has changed nick for $duration($calc($ctime - $ctime($gettok($2-,4-5,32)))) ago. }            
  if ($gettok($2-,3,32) == :QUIT) { msg $1 [Seen] $gettok($2-,1,32) ( $+ $right($gettok($2-,2,32),-3) $+ ) has left IRC $duration($calc($ctime - $ctime($gettok($2-,4-5,32)))) ( $+ $gettok($2-,4-5,32) $+ ) $iif($gettok($2-,6,32),ago with the quit message " $+ $gettok($2-,6-,32) $+ ".,ago.) As far as I know, $gettok($2-,1,32) has online for $duration($calc($gettok($2-,5,32))) after left IRC. }
}
on *:text:*:#: {
  if ($nick != $me) && ($address($nick,1)) {
    write -dw"* $+ $address($nick,1) $+ *" seen.txt
    write -dw" $+ $nick *" seen.txt
    write seen.txt $nick $address($nick,1) :SAY $date $time $chan $remove($strip($1-,bruc),$,|,$chr(35))
  }
}
on *:action:*:#: {
  if ($nick != $me) && ($address($nick,1)) {
    write -dw"* $+ $address($nick,1) $+ *" seen.txt
    write -dw" $+ $nick *" seen.txt
    write seen.txt $nick $address($nick,1) :SAY $date $time $chan $remove($strip($1-,bruc),$,|,$chr(35))
  }
}
on *:join:#: {
  if ($nick != $me) && ($address($nick,1)) {
    write -dw"* $+ $address($nick,1) $+ *" seen.txt
    write -dw" $+ $nick *" seen.txt
    write seen.txt $nick $address($nick,1) :JOIN $date $time $chan
  }
} 
on *:part:#:{
  if ($nick != $me) && ($address($nick,1)) {
    write -dw"* $+ $address($nick,1) $+ *" seen.txt
    write -dw" $+ $nick *" seen.txt
    write seen.txt $nick $address($nick,1) :PART $date $time $chan $remove($strip($1-,bruc),$,|,$chr(35))
  }
}
on *:kick:#:{
  if ($nick != $me) && ($address($nick,1)) {
    write -dw"* $+ $address($nick,1) $+ *" seen.txt
    write -dw" $+ $nick *" seen.txt
    write seen.txt $nick $address($nick,1) :KICKING $date $time $chan $knick $remove($strip($1-,bruc),$,|,$chr(35))
  } 
  if ($knick != $me) && ($address($knick,1)) {
    write -dw"* $+ $address($knick,1) $+ *" seen.txt
    write -dw" $+ $knick *" seen.txt
    write seen.txt $knick $address($knick,1) :KICK $date $time $chan $nick $remove($strip($1-,bruc),$,|,$chr(35))
  } 
}
on *:topic:#: {
  if ($nick != $me) && ($address($nick,1)) {
    write -dw"* $+ $address($nick,1) $+ *" seen.txt
    write -dw" $+ $nick *" seen.txt
    write seen.txt $nick $address($nick,1) :TOPIC $date $time $chan
  }
}
on *:nick: {
  if ($nick != $me) && ($address($newnick,1)) {
    write -dw"* $+ $address($newnick,1) $+ *" seen.txt
    write -dw" $+ $newnick *" seen.txt
    write seen.txt $nick $address($newnick,1) :NICK $date $time $newnick
  }
}
on *:quit: {
  if ($nick != $me) && ($address($nick,1)) {
    write -dw"* $+ $address($nick,1) $+ *" seen.txt
    write -dw" $+ $nick *" seen.txt
    write seen.txt $nick $address($nick,1) :QUIT $date $time $remove($strip($1-,bruc),$,|,$chr(35))
  }
}

File seen.txt like this:
pumpkin *!*~hollow@188.64.15.179 :QUIT 12/11/2023 06:04:58 Read error: Connection reset by peer
rolandcool *!*~rolandcoo@35.236.223.60 :JOIN 12/11/2023 12:14:34 #freeirc
Prodigious^ *!*67d614bc@ircip1.mibbit.com :PART 12/11/2023 21:47:01 #GiRLs
rsvp *!*~rsvpfr@Varsator.users.undernet.org :NICK 14/11/2023 00:40:59 dba
Lampa *!*mona@monalisa2.users.undernet.org :SAY 03/12/2023 02:43:48 #Official lasa ca le vedem cand intra si ia ban :P
....

Thanks all for help, i'm waiting for new version of this code.....from some one in here
0 232 Read More
General Discussion Jump to new posts
Happy New Year Piratoshi 31/12/23 07:27 PM
Hello mIRC frens!

I want to wish you all a very happy new year. 🎇

Specially to Khaled! Thank you for keeping mIRC alive all these years.

And to all the community that share codes and help each other.
May the 2024 be a great year for mIRC as a social platform. 🙏

My best wishes ! Thank you for 2023

[Linked Image from i.ibb.co]
0 289 Read More
Scripts & Popups Jump to new posts
A script to copy text for pasting latimer 23/12/23 02:56 AM
Hello,

I am a total novice when it comes to Mirc and scripting, but I am looking for a script that, when specific text comes up, will automatically copy the text in the middle to the clipboard.

Essentially, when the phase "System: Yadda 2 fritz Yadda Details:13" comes up, the script would automatically copy the Yadda 2 fritz Yadda to be pasted at the user's convenience.

Anything like that, or could I be pointed in the right directions? Thanks for reading and responding.

Latimer
0 331 Read More
mIRC Help Jump to new posts
A Script for auto-copying text? latimer 21/12/23 09:11 PM
Hello,

I am a total novice when it comes to Mirc and scripting, but I am looking for a script that, when specific text comes up, will automatically copy the text in the middle to the clipboard.

Essentially, when the phase "System: Yadda 2 fritz Yadda Details:13" comes up, the script would automatically copy the Yadda 2 fritz Yadda to be pasted at the user's convenience.

Anything like that, or could I be pointed in the right directions? Thanks for reasing and responding.

Latimer
0 307 Read More
Scripts & Popups Jump to new posts
hide channels I am joined to in status windows makaflay2024 19/12/23 01:11 PM
Hello.

I'm interested in hide the channels I'm joined to to other users at the status windows in other mirc users status windows.

Does any body knows how to configure mirc to get this isuee? I woul like to keep my user in an anonymous state to others users when I join to diferent channels.

Is there any mirc configuration , script, addon to get this?

thank you.
0 237 Read More
mIRC Help Jump to new posts
Display messages in Status Window only helglar4 13/12/23 12:04 PM
How can i setup so all messages are only displayed in Status Window and not in current open window, i.e. chat window?

Thank you.
0 277 Read More
Developers Jump to new posts
separate messages Doctor_Souza 27/11/23 09:59 PM
hi, como separar as mensagens "on text" das ações "on join, on part, quit, notice" com "echo $window $chr(160)", se vier uma ação entes da mensagem executar o "echo $window $chr(160)", se for outra menssagem não executar o "echo $window $chr(160)", e vice-versa, quando for so ação atras de ação nao executa o "echo $window $chr(160)", assim como se for so mensagem atras de mensagem não executa o "echo $window $chr(160)", somente na troca entra menssagem e ação.
0 292 Read More
mIRC Help Jump to new posts
[[ ]] evaluation bracket Wims 22/11/23 04:34 PM
Most scripters are familiar with the concept of evaluation bracket and how [[ and ]] can be used inside a script to get [ and ] as the characters instead.
This feature's description has been removed from the help file it seems, I'm not sure it was there before, but how else would we know?

But what if I tell you this feature was probably removed from the help file for good reason?!

The help file's description of bracket evaluation is very very very light:

Quote
The [ ] evaluation brackets

If you want greater control over the order of evaluation of identifiers, you can use the [ ] brackets. Identifiers within these brackets will be evaluated first, from left to right. You can nest brackets.

/say % [ $+ [ $1 ] ]

You can also force a previously evaluated identifier to be re-evaluated by using extra [ ] brackets.

/set %x %y

/set %y Hiya!

/echo [ [ %x ] ]
And that's it.
In reality bracket evaluation are much much more complex than that. This post isn't about updating the help file there but I certainly wouldn't mind.
The interesting part here is how [ ] are handled and at which stage in mIRC's processing of your code.
They are handled before anything else, unlike $eval, it is as though you were literally rewriting the line of code in memory.

This is why //var %a 255,255,255 | echo -ag $rgb( [ %a ] ) works and why $rgb($eval(%a)) would fail (it would be sending a single parameter containing commas to $rgb)

I was helping TECO who needed dynamically built regex pattern to highlight him correctly, and that included matching eventual channel prefix ($prefix) on the left of his nickname, I had chosen to use [[ and ]] with $+

Quote
[14:49:40] <Ouims> //var -s %p /(?:^|\x20| $+ [[ $+ $prefix $+ ]] $+ ++ $+ ) $+ $me $+ (?:[:\x2c.](?: |$)|$)/iS | say $regex(#TECOTECO#123456 $+ $chr(44) o Ouims.,%p) $regerrstr
[14:49:43] <Ouims> this works
[14:49:49] <Ouims> //say $regex(#TECOTECO#123456 $+ $chr(44) o Ouims.,/(?:^|\x20| $+ [[ $+ $prefix $+ ]] $+ ++ $+ ) $+ $me $+ (?:[:\x2c.](?: |$)|$)/iS) $regerrstr
[14:49:59] <Ouims> this is the same but -14 and nothing to repeat error from pcre

If you can see the mistake I made when not using %p at this point, well, kudos (or how much did you pay jaytea?!)

So, another main idea of how the scripting language works is that a line of code and a parameter to an identifier are handled by the same routine, this is, coupled with [[ ]] usage above, the point of this post.
In normal time, mIRC remember where he already replaced some [ ] pair or [[ ]] pair, this can be illustrated by:

//echo -ag A [ $+ B $+ ] C -- $mid(A [[ $+ B $+ ]] C,1)displaying ABC -- A [B] C

What's not normal time then? It's when you add $+ on the outside of the [[ ]] pair which is what I'm doing above inside $regex.
Let's put a single $+ on the right of the pair:

//echo -ag A [ $+ B $+ ] $+ C -- $mid(A [[ $+ B $+ ]] $+ C,1)displays ABC -- ABC, showing that when $mid check its parameter and sees the first parameter 'A [ $+ B $+ ] $+ C' mIRC no longer remember that it must not touch that new [ ] pair and handle it as evaluation bracket.

Let's put a single $+ on the left:

//echo -ag A $+ [ $+ B $+ ] C -- $mid(A $+ [[ $+ B $+ ]] C,1)displays A-- A[B] C, showing that mIRC did remember this time for the [[ ]] inside the $mid. "A--" can be more or less explained, "[ A $+ ] B" is a known odd format which is not useful, this case seems to be a mix of it and because of the extra $+ on the left of [[, B and C are completely removed but it's not really important.

Let's put both like in my $regex above:

//echo -ag A $+ [ $+ B $+ ] $+ C -- $mid(A $+ [[ $+ B $+ ]] $+ C,1) displays AC -- AC, showing that well A $+ [ $+ B $+ ] $+ C = AC, but definitely showing that it's the $+ on the right that makes the [[ $+ B $+ ]] part gone in my code, resulting in the quantifier '++' being attached to nothing.


Conclusion? Don't use [[ ]] to get [ ] when it comes in pair, as inside an identifier with the wrong $+ placement, you'll get unexpected result although the code is technically correct, use $chr(91) and $chr(93), and this is I believe why it's deprecated and why it was removed from the help file.


Thanks for watching!
0 301 Read More
Connection Issues Jump to new posts
SSL certificate verify failed Runey 25/10/23 09:45 PM
First off, I know it has been discussed a lot already, but I'm having loads of trouble getting this to work.
As the title says, I've been trying to figure out how to solve the issue for hours. However, no luck. Since I don't really know how else to describe what I'm dealing with, I'll leave a picture which shows exactly what happens when I try to connect to the server.

[Linked Image from i.imgur.com]

I found a couple answered threads which had reflected on the same problem (sort of), but either I'm doing something wrong or I don't understand what needs to be done.

The most common reason for seeing "SSL certificate verify failed" is that you are trying to connect to a server that is using an invalid certificate. You can try changing the SSL settings in the Options/Connect/Options/SSL dialog to "Display invalid certificates for approval" to see if that makes a difference.

In my case, it doesn't, the problem remains. I tried relogging several times, but it's persistently (although very kindly) telling me to back off and eventually give up.

Thanks for your bug report. That is because the servers are using STS whose purpose is to prevent man-in-the-middle attacks by requiring a stricter connection policy to a specific address and port and validation of the certificate. You will need to contact the administrators to ask them to either remove the stricter requirement of STS or to fix their certificate. That said, if they remove the requirement for STS on their servers, the STS protocol requires clients to continue using the saved STS details until they expire. You would need to use the clear history option to delete your SSL and STS cache in mIRC to be able to connect to the servers with an invalid certificate once they have removed STS support.

If I got it right, I basically have no option other than waiting for an administrator (of the server) to try one of those in order to make the server available again. I've searched through options and couldn't find anything of help or assistance, leaving me completely helpless.
I reinstalled mIRC, didn't work. I made sure to remove both SSL and STS cache (upon exit), still no satisfying result.

I'm sincerely hoping to get some answers which could fix the problem in the long term or get me to understand what is going on at least.
Apologies in advance if my questions/conclusions tend to sound stupid, but I'm just clueless right now. Thanks! smile
0 546 Read More
Scripts & Popups Jump to new posts
Link Window to dialog question atomic10 24/10/23 08:34 AM
Hi

First of all, sorry for my bad English. I come from Germany. wink

following question:

is it possible to link a /window to a /dialog?

So when one shifts, the other follows it...

I hope you understand what I mean

Thanks for the help
0 426 Read More
Page 1 of 2 1 2