Why not just let invite take multiple parameters?
Quote:
[HP:100%] [ME:100%] [PE:100%]
>invite jane judy elroy astro 'Mr. Spacely'
You invite Jane to join your group.
You invite Judy to join your group.
You invite Elroy's group to join your group.
You invite Astro to join your group.
You invite Mr. Spacely to join your group.
[HP:100%] [ME:100%] [PE:100%]
>
Compared to the pet upgrade, though, this one would in theory impact fewer systems. The only reason it wouldn't work smoothly is if the flag for being 'invited' is attached to the group and hard-limited to one at a time. If so, change the variable from a string to an array of strings, change logical operators in the accept function from "equal to" to "contains," reset the array with each invocation of the invite command, like normal, voila. Problem theoretically solved. The only awkward part is whether to allow accept to remove the invitee from the invited list array. It could be left alone, but that would produce strange unintended features. Either way, that's probably three lines of code, tops, to deal with one way or the other.
The hard part would be automatic group folding. That would need some new pipe work. But is basically what people seem to really want: inviting the leader of a group would invite their entire group at once, and the leader of the invited group would make the decision.
This assumes there isn't some quirky group code. But whatever.