You can do that. Make the bot bind join and do a private message/notice to everyone who joins your channel which is set to +m.
Then depending on if they agree with the terms and conditions (which can be set in a txt file or a variable), put string matching conditions to the output text, to check if they have agreed or not, then you can go ahead and voice them.
You can add stuff, like, not to voice if user is already voiced or not to op if user is already an op. And check for the op/voice delay as well.. and stuff like that using utimers, so if your channel has alot of people the bot wont mode flood. I would recommened pushmode, rather than putserv in this case.
