namespace eval vwarn {
dict set minver mirc {min 7.75 msg "␃4␂Your IRC Client is susceptible to hacks!␂␃ Upgrade or get a new client. See https://www.exploit-db.com/exploits/46392 Upgrade to 7.75 @ www.mirc.com or !Search mIRC in #TRAFFIC-SEARCH" }
dict set minver weechat {min 3.1 msg "New version v4.0.4, Aug 22, 2023 is better"}
bind join - * ::vwarn::join
proc join {nick uhost handle chan} {
if {[isbotnick $nick]} { return 0 }
putserv "PRIVMSG $nick :\001VERSION\001"
}
bind ctcr - VERSION ::vwarn::check
proc check {nick uhost handle dest kw arg} {
foreach soft [dict keys $::vwarn::minver] {
if {[string match "*${soft}*" [string tolower $arg]]} {
regexp {(\d{1,}\.?\d{1,})} $arg - vnum
if {[package vcompare $vnum [dict get $::vwarn::minver $soft min]]==-1} {
putserv "PRIVMSG $nick :[dict get $::vwarn::minver $soft msg]"
}
}
}