Thanks for helping testing it. Do appreciate. smile
!welcome doesn't work but !welcome reset works, for me.

changes:
* Added code that allows vip user (that already in the file) to change their own custom msg (idea from judge2020)
usage: `welcome <msg>
Note:
- command only can be triggered when !welcome is on
- it has floodcontrol 10secs

* added n switch for $readini. forgot about that. thanks to Loki.

Code:
on $*:TEXT:/^[!`]welcome/iS:#:{
  var %file welcome.ini, %stat $iif($readini(%file,n,$+(stat.,#),welcome),$v1,on)
  if $1 == !welcome && $nick isop # {
    if !$2 { msg # !welcome is %stat }
    elseif $2 == on || $2 == off { 
      writeini %file $+(stat.,#) welcome $lower($2) 
      msg # !welcome turned $lower($2)
    }
    elseif $2 == reset {
      remini %file $+(unknown.,#)
      msg # !welcome has been reset.
    }
    elseif !$3 { 
      remini %file $+(vip.,#) $2 
      msg # $2 $+ 's custom message removed.
    }
    else { 
      var %m $readini(%file,n,$+(vip.,#),$2)
      writeini %file $+(vip.,#) $2 $3-
      remini %file $+(unknown.,#) $2 
      msg # $2 $+ 's custom message $iif(%m,changed,added) ( $3- )
    }
  }
  elseif $1 == `welcome && %stat == on && $readini(%file,n,$+(vip.,#),$nick) && !%flood.welcome. [ $+ [ $+(#,.,$nick) ] ] {
    writeini %file $+(vip.,#) $nick $2-
    msg # $nick $+ 's custom message changed ( $2- )
    set -u10 %flood.welcome. [ $+ [ $+(#,.,$nick) ] ] on
  }
}

on @!*:JOIN:#:{
  var %file welcome.ini, %stat $iif($readini(%file,n,$+(stat.,#),welcome),$v1,on)
  if %stat == off { return }
  if $readini(%file,n,$+(vip.,#),$nick) { msg # $v1 }
  elseif !$readini(%file,n,$+(unknown.,#),$nick) {
    writeini %file $+(unknown.,#) $nick $ctime
    var %nicks $addtok($readini(%file,n,$+(stat.,#),delay),$nick,32)
    if !%flood.welcome. [ $+ [ # ] ] { 
      msg # Welcome to the stream $replace(%nicks,$chr(32),$+($chr(44),$chr(32))) $+ .
      remini %file $+(stat.,#) delay
      set -u10 %flood.welcome. [ $+ [ # ] ] on
    }
    else { 
      writeini %file $+(stat.,#) delay %nicks 
      $+(.timerwelcome.,#) 1 5 welcome %file # 
    }
  } 
}

alias -l welcome {
  var %nicks $replace($readini($1,$+(stat.,$2),delay),$chr(32),$+($chr(44),$chr(32)))
  if %nicks {
    if $me ison $2 { msg $2 Welcome to the stream %nicks $+ . }
    remini $1 $+(stat.,$2) delay
  }
}