Are you allowed to make one for your own channel? Probably... Depends on the network's rules, but most don't mind. Just check in with an IRCop to be safe

As for a simple response bot, then the TEXT trigger will be your best friend

.
Like in your hi example:
Copy and paste the following under the remote tab in your script editor
on *:TEXT:*hi*:#:{ msg # hi $nick | halt }
Ok, that may need some breaking down.
on *:TEXT:*hi*:#: <------ Basically it looks for the word "hi" anywhere(coz *[star] is a wild card) in the TEXT that other users type. Currently it is on # channel, meaning the channel it is triggered on... which is bad if your in more than one channel. So I would make that the same as your channel name say #Zen ;P.
{ msg # hi $nick | halt } <---- Ok now this is what happens when the word "hi" is found in the other users' TEXT. It will send a msg to the current channel( make the # the same as the above channel :P) and says hi to $nick, which is the scripts way of getting the person's nickname. So say Jack01 said Hi all, the bot would respond with "Hi, Jack01".
In scripting it's always a good idea to use brackets ( {} ) and always remember for every one you open { you must have a closing bracket }. Simple right? Yeah, and you have NO idea how many times ppl forget it... including me :P
Ok this is like a very simple example, but it works.
Hope this helps you out a bit... and if you need more examples give me a shout.