This is one item out of my thinking list that is related to a final project of my upcoming 4th year. The idea is not mature and I may not choose the idea as my actual final project. If you wish to take my idea as your project, please get my permission first. I may work with ya!
An interesting (probably) IRC bot for Acadia Central and maybe Acorn.
Main feature:
Real name / student number registration using the AcadiaU student database.
It can register with the NickServ server using SASL, after validating the username and the password, the user will be verified and gain a + status in #central channel. This channel is invite only and the NickServ will invite anyone that has been verified to #central channel.
There are not only a #central channel, there can be a #registrar channel, #acorn channel (optional), etc. NickServ will be the op for all those channels. The other op for each of the channel has the name such as CentralBOT, AcornBOT and RegistrarBOT etc.
All queries by students are done in public or private message to the bot, but all replies are in private message with or without blowfish encryption using key exchange.
I hope all bots are running on server side rather than an IRC client script for each bot.
So, the initial thought on commands in #central can be:
!whoami –check who the user is
!help –generate a help page for usage
!statement –check tuition statement
!invite –invite to other channels
!transcript –print out the unofficial transcript in ASCII format
!exam –print exam schedule
!credit –check printer credit
!mailbox –check mailbox volume/quota
In #registrar, we could support course registration and drop:
P.S: [code] consists of department abbreviation and 4-digit number such as COMP1013, ignore cases.
!list –view my current registered courses
!add [code] [section] –add the indicated course to backpack
!confirm [code] [section] [code] [section] [all] … –confirm the choice and officially register into personal account, return any error.
!view [code] –view all courses under [code] section
!search keyword –display search result: code, sections, description
Any comments or thoughts?