mIRC Home    About    Download    Register    News    Help

Active Threads | Unanswered Past 24 hours | Past 48 hours | Past Week | Past Month | Past Year
Scripts & Popups Jump to new posts
Re: write to a file Epic Yesterday at 06:40 AM
Originally Posted by danielboom
i want save the notify list on file , how i do ?

You can try using a script like this:
alias rept {
  var %nf_path = C:\i\mirc\files\list_notify.txt
  if ($exists(%nf_path)) .remove %nf_path
  var %xi 1 | while (%xi <= $notify(0)) { .write -i %nf_path $notify(%xi) | inc %xi }
  .echo -a 03The list notify has been compiled. Total:07 $lines(%nf_path) 03users.

To check, enter the command: "/rept".

For more information about the commands used in this script and how to use them correctly, you can read here:

    https://en.wikichip.org/wiki/mirc/commands/while or https://www.mirc.com/help/html/index.html?aliases.html#cmd_while
    https://en.wikichip.org/wiki/mirc/commands/write or https://www.mirc.com/help/html/index.html?mirc_commands.html#cmd_write
    https://en.wikichip.org/wiki/mirc/commands/notify or https://www.mirc.com/help/html/index.html?notify_list.html#cmd_notify
    https://en.wikichip.org/wiki/mirc/identifiers/$notify or https://www.mirc.com/help/html/index.html?nick_address_identifiers.html#id_$notify
    https://en.wikichip.org/wiki/mirc/identifiers/$lines or https://www.mirc.com/help/html/index.html?file_directory_identifiers.html#id_$lines

1 40 Read More
Bug Reports Jump to new posts
Re: disconnecting not updating status window icon Khaled 14/10/21 12:07 PM
Thanks this has been fixed for the next version.
1 58 Read More
Bug Reports Jump to new posts
Re: /hop [message] bug, or clarification needed. Khaled 14/10/21 11:35 AM
Thanks for your bug report.

I just tested this using "/debug on" to see what is sent to the server and the part message is being sent both with and without -c.

Can you show me the format of the command you are using where it does not send the part message?
1 44 Read More
Scripts & Popups Jump to new posts
Re: write list channel danielboom 12/10/21 11:57 PM
saves only one channel , thnx
2 75 Read More
Feature Suggestions Jump to new posts
Custom lines per non-@ window maroon 12/10/21 08:29 PM
Would be nice to have a way for #channel max lines to be set differently than changing the options/other/window-buffer setting.

This setting originally applied only to #channels, but later when it was changed to apply also to @windows, then /window was given a -jN switch so each window could have its own override setting.

However there doesn't seem to be a way to override the buffer setting for an individual channel, either permanent like how #channel positions can be saved permanently, or how the buffer can be set temporarily for a @window with -jN.

This would help people who keep a lot of windows open, but have only 1 of many channels that they need to have a large buffer. Right now they need to set the window buffer lines high for all channels in order to have it be large for just the 1 channel.

An alternative could be to allow /dline to work in a #channel, which would allow a maintenance script to be run on a timer to chop all non-exempt windows shorter.
0 37 Read More
Scripts & Popups Jump to new posts
Request ban script particular... krisb34213 12/10/21 01:44 PM
Hi, I don't know if it is possible to create this type of script but I will try to explain anyway.

A lot of people on the channel where I am evade bans on forbidden words using special characters and things like that.

For example, there are people who spam their contacts (let's take the telegram contact for example) by saying they offer paid photos and videos and then scam those who believe in them.

If I block the word "telegram", then they use special characters to write it and avoid the ban, for example by using 𝓣𝓮𝓵𝓮𝓰𝓻𝓪𝓶.

I would like to cut off the head of the bull and know if it is possible to create a script (with the ability to activate and deactivate it) that will ban any message that does not contain the characters entered in the script.

So, something like this: a script that contains the normal letters of the alphabet, the exlamation and question mark and the numbers (with the possibility to add and remove what you want) and which then ban any message in the channel (/say and /me also) that contains anything else: emoticons, special characters, and so on. All. Anything that is not in the script. So you can only write messages with the characters contained in the script.

Would it be possible to create such a script?
0 37 Read More
Developers Jump to new posts
Re: Link to title from channel Raccoon 12/10/21 09:31 AM
Tip. Whenever you see the verb .* in your regex pattern, you probably want .*? instead. At least 99% of the time.

.* -- Will gobble up the entire webpage from beginning to end, and then slowly back track one letter at a time until it finds a match.
.*? -- Will march forward one letter at a time until it finds a match, in the normal intuitive way you probably imagine it should.

Compare: .*?

//echo -a $regex(blah blah <title>The quick brown fox jumps over the lazy dog.</title>lol sucker!</title> blah blah, <title>(.*?)</title>) -> $regml(1)
1 -> The quick brown fox jumps over the lazy dog.

and: .* without ?

//echo -a $regex(blah blah <title>The quick brown fox jumps over the lazy dog.</title>lol sucker!</title> blah blah, <title>(.*)</title>) -> $regml(1)
1 -> The quick brown fox jumps over the lazy dog.</title>lol sucker!

You can also add a sanity check to tell the match to give up if it's going to be unrealistically long to find a match. Say, 256 or 512 or 1024 characters. Up to you.

.{1,1024}? is the same as .*? but better.

To make the final output variables a sane length as well, you should use $left() to trim them down if they're too long.

var %title = $left(%title,256), %desc = $left(%desc,256)
1 71 Read More
Bug Reports Jump to new posts
Re: Issue with set variable in version 7.67 Wims 10/10/21 09:59 PM
For me it is intended. the true part of the $iif is evaluated and %bleh gets evaluated to nothing if it's not set, giving a set error once the parser is done evaluating the command line and execute your set command
4 164 Read More
Feature Suggestions Jump to new posts
Re: ipv6 socket server - accepting ipv4 Khaled 09/10/21 04:44 PM
I looked into this long ago when I first added IPv6 support. At the time, I decided not to add support for it since dual stack was not supported by XP, which was still widely used. I'll add this to my to-do list. However, since mIRC is still technically supporting XP, be aware that this option will not work on XP.
1 84 Read More
mIRC Help Jump to new posts
Re: Randomly colorized usernames eahm 07/10/21 06:11 AM
Guys, I modified this line to make the nicks in bold "echo -lt $+ $msgstamp $chan < $+ $chr(2) $+ $chr(3) $+ %col $+ $nick($chan,$nick).pnick $+ $chr(3) $+ $chr(2) $+ > $1-", not sure if it's 100% correct but it works fine but I just noticed it doesn't color the query nicks, is there a way to add that?
11 26,045 Read More
Bug Reports Jump to new posts
Re: Windows 11 Issue Khaled 06/10/21 02:41 PM
I have just installed Windows 11 Pro and was not able to reproduce the issue you describe.

With mIRC v7.67, if I join a channel and then double-click on a nickname, either in the channel nick list or a nickname in the window, it opens a query window with an editbox at the bottom, as expected.

Are you using any scripts/addons/DLLs with mIRC?

Can you please type the following in your status window and report the result?

//echo -a $os $version $iif($beta,04 $+ $beta $+ ) $md5($mircexe,2) $file($mircexe).sig $alias(0) $script(0) $dll(0) $com(0)
2 149 Read More
Bug Reports Jump to new posts
Re: Installer doesn't remember previous install dir. Khaled 06/10/21 06:40 AM
If you are installing mIRC as a portable application, in a custom folder, the installer will not save any settings to your computer. That is the purpose of a portable installation - to not make changes to your computer. This means that when you run the installer again, it cannot know where you previously installed mIRC.
1 80 Read More
mIRC Help Jump to new posts
Re: Lets Encrypt Cert Invalid LouWestin 03/10/21 02:58 PM
The update fixed it! Thank you for your hard work!
2 201 Read More
Scripts & Popups Jump to new posts
Re: Udp socket and ipv6 Wims 03/10/21 01:09 PM
That makes sense, somehow I thought the binding had to be done when sending the data, not when creating the 'listening' socket, sorry for the misunderstanding, it works.
4 186 Read More
Bug Reports Jump to new posts
Re: mIRC Options window movement delay TECO 02/10/21 08:55 PM
Hi Khaled
I'm sorry, just now I went to research a little more and found out that there is an option on the Razer branded mouse that when enabled for games, creates this conflict. But after it is disabled this delay no longer happens. I apologize for the publication. It's resolved.

4 166 Read More
Scripts & Popups Jump to new posts
Re: list channel account Epic 02/10/21 04:55 PM
You can try using a script like this:
raw 321:*: if ($window(@ChanList)) .clear @ChanList | haltdef
raw 322:*:{
  var %chan $2 | var %users $3 | if ([+ !isin $4) var %topic $4-
  else { var %modes $+($gettok($4-,1,93),]) | var %topic $gettok($4-,2-,93) }
  if (!$window(@ChanList)) .window -kl @ChanList $mircexe 48
  if ($window(@ChanList)) .aline -l @ChanList %chan $+($chr(40),11,%users,,$chr(41)) %modes %topic
  inc -u25 %chansall | set -u25 %usersall $calc(%users + %usersall) | haltdef
raw 323:*:{
  if ($window(@ChanList)) { .iline -l @ChanList 1 89,89 == 14Total channels:11 %chansall $+(14,$chr(44)) 14Total users:11 %usersall 89==  | .window -a @ChanList }
  .window -c $qt(Channels List) | unset %chansall %usersall | haltdef
on *:KEYDOWN:@ChanList:13: chanlist_join $target
menu @ChanList {
  dclick:{ var %winchan $gettok($sline(@ChanList,1),1,32) | if ($chr(35) == $mid(%winchan,1,1)) .join -n %winchan }
alias -l chanlist_join { var %winlines $sline($1,0) | if (%winlines > 0) { var %i 1 | while (%i <= %winlines) { var %winchan $gettok($sline($1,%i),1,32) | if ($chr(35) == $mid(%winchan,1,1)) .join -n %winchan | inc %i } } }

When typing the command "/list" a new custom window will be created, which in some way simulates the original channel list window.

P.S. If you wanted to do something different, then please state your idea and thoughts in a more detailed description (This is a string or several strings in more than 50 words).

5 322 Read More
Latest News Jump to new posts
mIRC 7.67 released Khaled 02/10/21 03:08 PM
Dear mIRC User,

mIRC v7.67 has been released today.

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

Fixed SSL certificate verify failed issue relating to expired certificates.
Updated CA root certificates cacert.pem file.
Updated OpenSSL library to v1.1.1l.
Updated DigiCert code-signing certificate.
Updated PCRE regex library to v8.45.
Fixed /fupdate not working correctly with up/down key presses in some contexts.
Fixed /window +f custom @window border display bug.
Fixed window menu hidden windows selection bug.
Fixed how /set/unset/inc/dec/timer/sockread %vars are evaluated in some contexts.
Fixed $sline() to return zero instead of $null when no items are selected.

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 705 Read More
Bug Reports Jump to new posts
Re: Getting wrong GMT - $asctime($ctime,HH:nn:ss zzz)) Khaled 02/10/21 01:42 PM
Great, thanks for confirming.
9 690 Read More
Feature Suggestions Jump to new posts
Customizable icons for any types of windows Epic 01/10/21 09:45 PM
Respected Khaled. You recently fixed and implemented (so far in beta) the long-needed ability to display icons in the list of open windows set for custom windows. The request was here: #Post269359

This works great and nice looks:

    [Linked Image from i.ibb.co]

Is it possible to go further to provide us with an opportunity an option to customize and change icons for any windows open in the list, such as: "Status/Channel/Query/..." ?
Or at least to was able to assign your own icon to a specific type of window. For example, for all existing and in the future open private (query) windows, etc.

Possible commands:
//window $qt(Status Name) [iconfile [N]]
//window #Channel [iconfile [N]]
//window Nickname [iconfile [N]]

Likely that some new -switch or other command might be required to do this. And also the ability to do it through the window pop-up menu on right-clicking. Thanks.

0 122 Read More
Bug Reports Jump to new posts
Re: literal inc or dec in an $identifier() breaks vars Khaled 01/10/21 08:15 PM
Great, thanks for testing.

I plan to release a new version soon due to the issue with the Let's Encrypt certificates, so will keep this change in the release.
16 852 Read More
Bug Reports Jump to new posts
Re: TLS verification issue on testnet.ergo.chat Khaled 30/09/21 08:56 PM
It works perfectly with the beta.

Good to hear. This change will be in the next release.
25 1,015 Read More
Bug Reports Jump to new posts
mIRC beta Khaled 30/09/21 02:51 PM
There are no betas available for download at this time. Please download the latest version from the mIRC website.
1 222,508 Read More
Developers Jump to new posts
Re: Youtube link to title for mIRC turbosmurfen 28/09/21 07:40 PM
I didn't know about urlget. I was using sockets and ended in cloudflare protection. The reason I made this script.
Also thanks to maroon for talking about $cr and $lf. How it can be exploited.

This was what I was writing in the end. I like when other people could write about, how to fix or change my script. Or why not better ways?
Now I have been learning a lot from you Talon and Maroon.
3 258 Read More
Bug Reports Jump to new posts
Re: Changing nick list setting not applying to all... Khaled 28/09/21 02:45 PM
Thanks this issue has been fixed for the next version to apply to all currently open channel windows that do not have a saved setting for this.
1 219 Read More
Feature Suggestions Jump to new posts
Re: unable to connect: silent retry Talon 28/09/21 11:01 AM
Windows 7 and later do a form of "internet connection" verification by means of a service called NSCI. Basically in the background on a polling frequency it attempts to resolve a ipv4 and ipv6 domain, and if that passes, it attempts to make a http request to a known file and it's contents to return if you truely are connected to the internet.

More information can be found here: https://blog.superuser.com/2011/05/16/windows-7-network-awareness/

It's slightly changed over time albeit the registry keys seem to still be the same. Since you're after "silent" I do believe you cannot halt a /dns (on ^*:DNS) event so to avoid that spam, we'll just utilize the http request method and script our own version of internet connection testing.

I'd reccomend going to Alt+o -> Connect -> Options and clicking the "Retry..." button to change your retry limits to something smaller to mitigate the amount of status window spam from failed attempts, and also this will allow ON *:CONNECTFAIL to trigger faster instead of having to burn through a ton of retry attempts to fire.

Here is a quick-n-dirty solution that achieves the effect you're after, it could use some refinement but serves as a nice example. Some examples would be determining $1- from CONNECTFAIL to avoid triggering this on cases like connection refused, prolly only wanna trigger this on connection messages like "Unable to resolve server". Again, it's quick and dirty, just a means of showing how you might go about implementing this yourself.

on *:CONNECTFAIL: { InternetTest }
alias ITest.RegRead { .comopen wsh WScript.shell | noop $com(wsh,regread,1,bstr,HKLM\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet\ $+ $1) $com(wsh,&r).result | .comclose wsh | return $bvar(&r,1-).text }
alias InternetTest { noop $urlget($+(http://,$ITest.RegRead(ActiveWebProbeHost),/,$ITest.RegRead(ActiveWebProbePath)),bgk,&ConnectionTest,IsInternetConnected $ITest.RegRead(ActiveWebProbeContent)) }
alias IsInternetConnected {
  var %id = $($+($,$0),2) , %pass = 0
  if ($urlget(%id).state == ok) && ($bvar($urlget(%id).target,1-).text === $($+($,1-,$calc($0 -1)),2)) { inc %pass }
  if (!%pass) { .timerITest 1 $ITest.RegRead(PassivePollPeriod) InternetTest }
  else { scon -at2 server }

I'm on Windows 10, so just in-case you aren't or this does not work for you, slight modification to remove the registry key/value pairs I query just-in-case some windows update changes these values (You never know, it's changed a few times since Win7) here's the appropriate data from my registry on Windows 10 to replace the $Itest.RegRead() calls and hard-code these values into the script.

replace: $+(http://,$ITest.RegRead(ActiveWebProbeHost),/,$ITest.RegRead(ActiveWebProbePath))
with: http://www.msftconnecttest.com/connecttest.txt

Replace: $ITest.RegRead(ActiveWebProbeContent)
with: Microsoft Connect Test

Replace: $ITest.RegRead(PassivePollPeriod)
with: 15

The above script triggers a timer when mIRC fires the CONNECTFAIL event to wait the PollPeriod and attempt a http request, and verifies a proper return to determine if you are truely connected or not. If the urlget fails or the return is invalid, it re-initializes the timer to wait again the PollPeriod and attempt to verify internet access again. If this check passes, both return ok and the data matches, it will attempt to re-connect any non-connected status windows via /scon -at2 (a means all, t2 means not connected)
1 132 Read More
Page 1 of 2 1 2