You can do that for the @ (but just op, not aop), I'm not sure you can add the sop.
Eggdrop doesn't know these modes, so it can't check if an op is aop nor sop.
proc greet {nick uhost handle chan} {
if {![matchattr $handle |+n $chan]} { return }
putserv "PRIVMSG $chan :hey welcome $nick"
}
bind join |+n * greet