invite command

This commit is contained in:
Jeremy Latt
2014-02-25 07:28:09 -08:00
parent d6ec1e719b
commit f0305cf01a
4 changed files with 66 additions and 5 deletions
+19
View File
@@ -402,3 +402,22 @@ func (channel *Channel) Kick(client *Client, target *Client, comment string) {
}
channel.Quit(target)
}
func (channel *Channel) Invite(invitee *Client, inviter *Client) {
if channel.flags[InviteOnly] && !channel.ClientIsOperator(inviter) {
inviter.ErrChanOPrivIsNeeded(channel)
return
}
if !channel.members.Has(inviter) {
inviter.ErrNotOnChannel(channel)
return
}
// TODO Modify channel masks
inviter.RplInviting(invitee, channel.name)
invitee.Reply(RplInviteMsg(inviter, channel.name))
if invitee.flags[Away] {
inviter.RplAway(invitee)
}
}