This reminds me of an existing IRC MafiaBot on Rizon (sorry if you think this is advertising, trying not to make it seem that way).
It's really complete with scripts and a lot of roles, as well as several commands and leveling. You should check that one out for ideas. (Mafbot.com)
Good luck developing a good mafiabot
edit: If you want to know some roles from that mafbot, here they are:
Civilian: Doesn't do anything but watch and vote (until Lvl 4 where they become a good role)
Killer: Well, kills. Works alone, unless someone invites him to help. Can't be killed unless by a kill_killer command or hanged
Mafia: Kills.
Detective: Checks people and is able to kill people
These are the roles that start to get added in when there are more players
Mafia's snitch: Works like a detective and sees what the other people's roles are
Mafia (again)
Homeless Bum: Works with detective, checks people
Schizophrenic: Sees if people are 'asleep' or not. Asleep means they are a role that doesn't do anything (civ) not asleep means they do something. 20% wrong
Doctor: Heals
Prostitute: Sleeps with players, which figures their roles, is a neutral role, can infect with AIDS
Mafia's lawyer: Watches a player so that if hanged, will be considered innocent
Mafia's agent: Prevents players from checking whoever the agent watches (they get the wrong answer. check maf and get civ or something)
Drug lord: deals drugs, figures what roles people are, neutral
Hacker: Hacks and publicly tells what the victim's role is, unless faked
Hitman: Kills people when requested
Extra's (after dead)
Ghost: tries to kill who killed him. Doesn't work otherwise
Farmer: Can kill anyone, however misses like 90% of the time
Crackhead: A zombie revived by druglord that does what the druglord orders
And this is only the basic stuff, nevermind when the roles start leveling up