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: Delete repeated words Regex? Simo 3 hours ago
this seems to work for me:

Code

$regsubex($1-,/(^|\s+)(\S+)(($|\s+)\2)+/Sgi,$null)  

1 58 Read More
Scripts & Popups Jump to new posts
TEXT to LINK Fernet 02/05/24 03:50 PM
I have an RssNews addon.
Every XX minutes (when a fresh news is pubblished), this addon capture titleand link and assign an ID
By writing !news XXXXX , the output is the title of the news and the link to read the full article.

[img]https://ibb.co/tJBvmqk[/img]

I would like to have a TEXT like for example: CLICK HERE TO READ instead of the link. And of course by clicking on CLICK HERE TO READ , it open the link.
Is it possible?
Thanks
0 22 Read More
Scripts & Popups Jump to new posts
Re: Timer Epic 01/05/24 08:22 AM
It seems your question has already gone far beyond the title of the topic under discussion :-]

Ok. You can do it like this:

  • Save to variable a random file line number.
  • Save to variable file line with the specified number.
  • Remove the specified line number from the file.
  • Write this line to a new adjacent file.
  • When the old file becomes empty, it must be deleted, and the new file must be renamed to the old file name.



So, after the above plan, you can try using this code modification:
Code
on *:TEXT:*:#channel:{
  if ($nick == ServiceBot) { return }
  if ($nick isop $chan && $1 === !ON) { bot_stop | bot_start $chan }
  elseif ($nick isop $chan && $1 === !OFF) { bot_stop }
  else { bot_stop | .timerBOTSTART 1 1800 bot_start $unsafe($chan) }
}
alias -l bot_start {
  msg $1 Va beh...nessuno parla allora parlo io...
  rand_msg $1 | .timerRANDMSG 0 60 rand_msg $unsafe($1)
}
alias -l bot_stop { .timerBOTSTART off | .timerRANDMSG off }
alias -l rand_msg {
  var %colors 2,3,4,5,6,7,8,9,10,11,12,13, %cc $chr(3)
  var %rc $gettok(%colors,$rand(1,$numtok(%colors,44)),44)
  var %file addons\miefrasibot\frasibot.txt
  var %file1 $+($file(%file).path,$file(%file).name,1,.txt)
  var %rn $rand(1,$lines(%file)), %str $read(%file,nt,%rn)
  .write $+(-dl,%rn) %file | .write -i $qt(%file1) %str
  if ($lines(%file) == 0) { .remove $qt(%file) | .rename $qt(%file1) $qt(%file) }
  msg $1 $+(%cc,%rc,%str,%cc)
}
24 2,730 Read More
Bug Reports Jump to new posts
Re: mIRC does not send pasted lines after confirmation rockcavera 30/04/24 06:24 PM
Thanks for the answers.

I discovered the culprit, it was the Free Download Manager, which I had installed yesterday.

Problem closed.
3 161 Read More
Feature Suggestions Jump to new posts
Re: Editable Language Files for mIRC Khaled 29/04/24 05:54 PM
Following up on the latest beta:

Thanks to Wollino for reporting the issue with the language DLL not being loaded correctly after the DLL had been updated with Resource Hacker. It turns out Resource Hacker was making a changes to some resources that mIRC had to take account of.

Regarding the dialog/control resizing issue:

As I mentioned in the beta.txt, most dialogs/controls are tightly sized/fitted to English words. It will be impossible for longer translated text to fit in many cases. Because of this, I have decided to resize every dialog (about 120 of them) and their controls to cater for generically longer text. This will mean that most dialogs will be larger, more spaced out, and more consistent in design.

In some cases, eg. the Options/IRC dialog, which has no space at all to properly fit larger controls, I may have to enlarge the Options dialog significantly, or move some items into new sections/dialogs. One other option is to change the Options/IRC/Options dialog to host a listbox of settings with checkboxes, to enable/disable different settings. On the plus side, this would allow me to add new settings in future without worrying about redesigning dialogs or squeezing controls into limited space. In any case, this next stage of adding multi-language support is going to take some time :-]
5 1,114 Read More
Bug Reports Jump to new posts
mIRC beta Khaled 28/04/24 03:54 PM
The latest beta can be downloaded here and includes the following changes:

Quote
Beta v7.76.3628 changes:
1.Item 27, changes:

Updated the dialog resource parser to handle several more
contexts when loading/checking/comparing resources. Also now
takes account of changes that Resource Hacker makes to controls,
which was preventing mIRC from validating/using them.

Experimented with resizing dialogs/controls in order to handle
longer translated text. Many of the dialogs and controls are tightly
sized/fitted. This will require changes to almost all dialogs and
will take a lot of work.

Signed up with with Crowdin for translations and experimented with
editing/importing/exporting resources.

Beta v7.76.3405 changes:
1.Item 31, https://forums.mirc.com/ubbthreads.php/topics/272550
2.Item 11, added $markasread.
3.Item 33, changed. Slightly tricky as Windows XP handles
SysLinks differently.
4.Item 34, to match 33 for consistency. Initially changed to
SysLinks but the way SysLinks are displayed led to backward
compatibility issues with scripts, so I decided to update my
custom links code to handle tab/focus and tried to maintain
as much backward compatibility as possible.
5.Item 35, https://forums.mirc.com/ubbthreads.php/topics/272577
6.Item 27, changes:

Shortened item 27 description. Added a link below the language
listbox in the Options/Display dialog to open a languages page
on the mIRC website that describes the feature in detail.

Added folder button next to language listbox in Options dialog
to open up the language folder in explorer to make it easier
for users to place language files there. If files are changed in
the folder while the Options dialog is open, the list of language
DLLs is automatically updated in the listbox so that they are
immediately available.

Strings in the RT_STRING section are now checked to see if they
start with "* /command:" or "* $identifier:" to make sure the
names aren't changed.

Made the filename format a little more strict. It now needs to
start with "mirc" and end with a language code, eg. "-en-US", and
".dll". You can type /langdll -e to list all of the language codes
that your Windows version supports. Older versions of Windows support
different codes for some languages and are missing newer ones. Also
note that Windows itself supports a smaller subset of a much larger
set of standard codes.

Extended /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 the resource sections.
Technically this is not required since the language DLL must
be a single-language DLL. mIRC loads the resources as a neutral
language. However, it may be used in the future. Also, the language
codes in the DLL's VERSION resource are now updated. The language
codepage in mIRC's VERSION resource is now 1200 (Unicode). This
also shows the DLLs language when the file's properties are viewed
in explorer.

Experimented with code-signing the language DLL. It turns out that
Risoh Editor modifies the DLL in a way that is not recognized by
signtool.exe for code signing. DLLs modified by Resource Hacker
can be signed without issue.

Beta v7.76.2695 changes:
1.Item 30, fixed not being set correctly in release beta.

Beta v7.76.2691 changes:
1.Item 27, several changes.

Options dialog will now detect if the currently selected language
DLL timestamp has changed and will prompt for a restart.

Moved several keyboard shortcuts, that were hard-coded, to the
accelerator table, so that they are now translatable: Alt Q and
Control T, D, L, N, W, Q, F, A.

mIRC still requires a restart if a language DLL is changed. However,
technically, it is now able to switch to a new DLL on-the-fly, and
will update menus, accelerators, strings, and dialogs, including
titlebars of open status/channel/etc. windows, the text in
DCC send/get windows, the scripts editor, and so on. However, it
cannot update open dialogs, as these can change their text in
some contexts. So, for now, it will still require a restart.

Beta v7.76.2477 changes:
1.Item 28, fixed.
2.Item 29, added.
3.Item 30, fixed. Due to Visual Studio 2017 change.
4.Item 31, changed.
5.Item 32, updated.
6.Item 27, updated, see for details. Changes to all of the resource
parsing code. As this is a first release of a new feature, with a lot
of new code relating to translatable resources, it needs testing.

Beta v7.76.1610 changes:
1.Item 4, https://forums.mirc.com/ubbthreads.php/topics/272418
2.Item 25, added.
3.Item 26, added.
4.Item 27, changed.

Reviewed 10000+ strings embedded in the source code, filtered down
by heuristics. Most translatable strings were already in resources
but some needed to be moved.

This also allowed me to review which literal strings needed
to remain in the code as non-translatable, depending on context,
eg. "Status Window" needs to remain non-translatable when used
internally in scripts and ini file item names, otherwise these
would break every time a different language was used, but needs
to be translatable for the GUI. This applies to window names,
script-related names, ini item names, and a variety of other
strings.

Some dialogs needed extra code to convert to/from the translatable
GUI resource string, visible in the dialog, and its non-translatable
version that is used internally.

A lot of legacy code depends on strings being formatted in a specific
way, eg. spaces/order of words in strings such as "Status Window". So
translating mIRC will not be as simple as just translating the text
in resources. A translator will need to be aware of a string's context,
format, and word order and the need to keep it as close as possible
to the original. Changing the code to get around these limitations
will take much more work.

Overall, this beta includes several hundred changes to source code
files and resources.

Beta v7.76.1151 changes:
1.Item 18, fixed focus being set on editbox after the find/replace
buttons are pressed.
2.Item 23, fixed.
3.Added back smiley face to right-click on About button at
different icon sizes.
4.Item 24, https://forums.mirc.com/ubbthreads.php/topics/272403

Beta v7.76.1060 changes:
1.Item 15, fixed.
2.Item 5, fixed a Find/Replace bug where the first attempt
for a Replace All was not working.
3.Item 18, changed.
4.Item 16, changed, eg. when switching between mdi/desktop
windows.
5.Item 17, fixed.
6.Item 19, fixed.
7.Item 20, fixed.
8.Item 21, updated.
9.Item 22, updated.
10.Updated help file.

Beta v7.76.856 changes:
1.Item 9, https://forums.mirc.com/ubbthreads.php/topics/272379
2.Item 10, added.
3.Item 11, added. To apply to all server connections, you would
need to use /scon -a.
4.Item 12, added.
5.Item 13, added.
6.Item 14, fixed.

Beta v7.76.668 changes:
1.Item 6, udpated. The update.html file now contains a file
signature used by mIRC to verify that the installer is
authentic and unmodified.
2.Item 8, extended.

Beta v7.76.237 changes:
1.Item 1, https://forums.mirc.com/ubbthreads.php/topics/272326
Note that this UTF-8 decodes characters as well.
2.Item 2, https://forums.mirc.com/ubbthreads.php/topics/272329
Tested with different combinations of font/font size/button
size. Needs further testing.
3.Item 3, https://forums.mirc.com/ubbthreads.php/topics/272331
4.Item 4, added. This also UTF-8 encodes/decodes characters.
5.Item 5, fixed.
6.Item 6, added.
This will download and execute the exe specified in update.html
on the mIRC website. The exe is saved to the "updates" folder.
Currently, the exe is the standard install file, set to update
files in silent mode. By default, it will backup existing files,
update mirc.exe, mirc.chm, ircintro.chm, readme.txt, versions.txt,
and cacert.pem, and will perform required updates to other files
where necessary. After the update is complete, mIRC is restarted
and the About dialog is displayed.
7.Item 7, https://forums.mirc.com/ubbthreads.php/topics/272346

Changes:
1.Fixed $urlget() support for percent-encoded username:password
format.
2.Fixed treebar spacing when switching back and forth between
different icon sizes.
3.Fixed $base() floating point conversion bug.
4.Added $encode()/$decode() 'x' switch that percent-encodes/decodes
all characters except "unreserved" as defined in RFC3986.
5.Fixed Scripts Editor find/replace bug where first found item
was not being replaced.
6.Added Check for Updates support for downloading/installing an
update directly.
7.Fixed auto-op/voice/protect being incorrectly triggered when
you don't have ops.
8.Extended $samepath() to handle more contexts, such as subst
drives and network prefixes.
9.Changed Scripts Editor find/replace dialog behaviour to wrap both
forward and backward when a search ends.
10.Added Scripts Editor find/replace dialog "Count" option to
display number of found/replaced matches.
11.Added /markasread [name] that marks the specified window name as
read. If no name is specified, all windows on a server connection
are marked as read. The $markasread identifier returns the number
of windows on a server that are currently unread.
12.Added Scripts Editor find/replace dialog support for escape key
to stop a long search.
13.Added Scripts Editor find/replace dialog support for remembering
dialog position after restarting mIRC.
14.Fixed $input() dialog not accepting escape key to close dialog
if only ok button is displayed.
15.Fixed editbox eye icon focus bug when switching to another control.
16.Changed Find dialog in status/channel/query windows so that it will
re-open in the active window if Control+F is pressed while open in
another window.
17.Fixed MDI window titlebar colors not being set correctly when
desktop/mdi windows are active/inactive.
18.Changed Scripts Editor Find/Replace dialog to modeless, allowing you
to scroll/edit in the editbox while the dialog is open.
19.Fixed Shift+Tab to show nick list keyboard shortcut not working in
windows without editboxes.
20.Fixed List Channels dialog not enabling/disabling List button when
the active server connects/disconnects.
21.Updated OpenSSL library to v3.0.13.
22.Updated zlib library to v1.3.1.
23.Fixed $input() icon/text positioning on different DPI displays.
24.Added email/userid support for IRCX mask \ character.
25.Added MDI window/menubar icon sizes for different DPI displays.
26.Added alternative method for opening help files that gets around
the Windows CHM locked files issue.
27.Added support for loading translated resources from external
language DLLs found in the "languages" folder. A language option
has been added to the Options/Display dialog that displays the
language name, code, and DLL name. The internal default is English
(en-US). The language setting is saved to mirc.ini in the
[language] section. mIRC also suports a /langdll command and
a $langdll identifier that returns the currently loaded language
dll. See the languages page on the mIRC website for details.
28.Fixed $window().title not returning correct title text for DCC
Send/Get windows.
29.Added $window().fulltitle that returns the full titlebar text.
30.Fixed manifest file being included twice in resources.
31.Changed Treebar DCC Send/Get to show progress bar below text like
the switchbar.
32.Updated CA root certificates cacert.pem file.
33.Changed hyperlinks in dialogs to use standard "SysLink" controls
that can handle tab/focus.
34.Changed custom links in custom dialogs to handle tab/focus.
35.Fixed $mid() maximum length limit to match $maxlenl.
1 397,518 Read More
Bug Reports Jump to new posts
Re: Unset WildCard messes up the variables favellado 26/04/24 03:23 PM
When you talked about %var not accepting $crlf I thought about everything and saw that I have a script that sends messages to the Telegram api and I was putting %link = txt1 $crlf text2 in a var...
I made the change by making $urlencode(text) with the $crfl embedded before entering the %Link var to avoid the issue.
Let's see if that was the case in my case.
9 477 Read More
Scripts & Popups Jump to new posts
Re: how to check each nick in $1- is in channel Simo 25/04/24 10:24 PM
Found a way to use 1 loop and it seems to work as expected makes the code smaller too 👍
7 1,096 Read More
Scripts & Popups Jump to new posts
Re: VOICE on JOIN Fernet 25/04/24 12:33 PM
It perfecty works sir. Really thanks a lot and all my best for You wink
P.S.: I stil didn't get about raw XXX rule... I need to study more
Thanks again
3 311 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 101 Read More
Scripts & Popups Jump to new posts
Re: Simple multizone timezone clock Ascertainment 18/04/24 05:25 PM
ORIGINAL

on *:TEXT:!time:#:{
timer 1 1 msg $chan The Time here is $time(hh:nn:ss T)
timer 1 2 msg $chan The Time ahead of here is ( $calc ( $time + 60 ) )(hh:nn:ss T )
}

A FIX Version without changing to much

on *:TEXT:!time:#:{
timer 1 1 msg $chan The Time here is $time(hh:nn:ss TT)
timer 1 2 msg $chan The Time ahead of here is $asctime($calc($ctime + (0 + 1*3600)), hh:nn:ss TT) +1 Hour
}



Ive added an extra T also in your 2nd time you have spaces and are between your identifiers you cant do this anyway
here we dont use $time we use $asctime($calc($ctime + (0 +1*3600)), (hh:nn:ss TT) also no space ( Not like this but (like this)
i wont go into too much detail, hope this helps heres the fix for the above command:


on *:TEXT:!time:#:{
timer 1 1 msg $chan The Time here is $time(hh:nn:ss TT)
timer 1 2 msg $chan The Time ahead of here is $asctime($calc($ctime + (0 + 1*3600)), hh:nn:ss TT) +1 Hour
}

Ascertainment
3 596 Read More
Bug Reports Jump to new posts
Re: $mid with large text bug Khaled 15/04/24 07:22 AM
Thanks, it looks like $mid() had an internal maximum limit of 10000 vs the 10240 that $maxlenl returns. This issue has been fixed for the next version.
1 298 Read More
mIRC Help Jump to new posts
Re: Double-clicking link does not work Khaled 14/04/24 12:16 PM
You do not have to change any options for this to work. If it is not working, this means that either your Windows is not configured to use a default browser or you are using a script that blocks hotlinks.

An easy way to test this is to install a clean copy of mIRC, using the portable option in the installer, in a new, empty folder with no scripts or addons, and to test it there.

And you should, of course, make sure that you are using the latest version of mIRC.
1 522 Read More
Connection Issues Jump to new posts
Re: DCC Max Speed Khaled 13/04/24 12:31 PM
There is a limit, however it is not related to a specific transfer rate. This is due to mIRC being a single-threaded application, which means that if DCC Send was allowed to run at full-speed, it would block the user interface. There are several windows message-based features in mIRC that can do this, so mIRC uses various methods to minimize it. This has, of course, been discussed before :-) Looking through versions.txt, I'm amazed to see that DCC Send/Get was added in 1995, when modem speeds were around 28.8kbps, and went through various implementation changes after that. The first discussion of the internal limit probably came up around the time that someone managed to get a super-fast internet connection many years later. The topic then comes up again periodically when someone tries to transfer a large file. Is it important? I have no idea. My network speed, on a very good day, is around 5MB/s. Should I redesign the entire DCC Send/Get implementation to use threads? Maybe. I usually add features or make changes if I think it will be a fun/interesting challenge. At some point, it may pique my interest :-)
1 612 Read More
Developers Jump to new posts
Re: Spotify now-playing for mIRC turbosmurfen 12/04/24 08:17 PM
Originally Posted by Epic
You can find it at the following links:


Thanks for the help, I saw this now.
28 17,000 Read More
Scripts & Popups Jump to new posts
Re: Scripting to use Undenet X commands Simo 12/04/24 07:24 PM
At this point its not clear to me what exactly you sre looking for because these lines you mention could mean anything also i tested myself on undernet and undernet supports 6 mode settings in 1 line like +bbbbbb wich is what i utilized now the code could be modified but only if elaborate to detail exactly what it is you want script to do.
5 744 Read More
mIRC Help Jump to new posts
Re: Mirc deletes next character when typing Wims 08/04/24 07:42 PM
It's called insert (or overtype) mode - you very likely pressed the insert (INS) key on your keyboard to enable it - you need to press it again to change it back to normal mode.
1 210 Read More
Bug Reports Jump to new posts
Re: Showing the wrong time Khaled 07/04/24 07:38 AM
I have tested this in Windows 10 and have not been able to reproduce any issues with the time/timezone mIRC is displaying.

However, in order to track down issues like this, I would really need the information I asked for in my previous post.
3 874 Read More
Bug Reports Jump to new posts
Re: DCC Progress Bar color? Khaled 07/04/24 07:29 AM
Thanks for spotting this. The treebar was incorrectly using the same colors as the switchbar. The switchbar itself was using colors that were added before a number of other changes. I have changed both to use the text color for the bars so as to correctly stand out against the background.
1 271 Read More
Scripts & Popups Jump to new posts
Re: please help how to write script lonthong 06/04/24 09:14 AM
Dear Epic,

thank you for your reply ,
i already see all link you give to me

script not working
{
/timer 0 900 msg #" your channel " "your messages"
/timer 1 10 msg #" your channel " "your messages"
}

and changes to

on *:connect:{
if ($network == "your server") {
/timer 0 900 msg #" your channel " "your messages"
/timer 1 10 msg #" your channel " "your messages"
}
}

my script is working well now

thank you
2 438 Read More