How do you know, on join, if a person is an op? Is your Eggdrop the only bot responsible for handing out those op rights? If it is, then you can just bind join - * and check in the proc (if {[matchattr $hand o|o $chan]} { return 0 } at the beginning to prevent execution of the rest of it). In case your bot is not the only bot giving access rights, it can't know if someone is to become an op within a few seconds after the join (join is before op), so you could initiate a timer to msg them and cancel it when they receive op (bind mode).