fix whois reply

This commit is contained in:
Jeremy Latt 2014-02-20 20:47:05 -08:00
parent e1c4c8e8cc
commit c1edddb9a1
2 changed files with 9 additions and 6 deletions

View File

@ -155,14 +155,16 @@ func (channel *Channel) SetTopic(client *Client, topic string) {
return
}
if channel.flags[OpOnlyTopic] && !channel.members[client][ChannelOperator] {
if channel.flags[OpOnlyTopic] && !channel.ClientIsOperator(client) {
client.ErrChanOPrivIsNeeded(channel)
return
}
channel.topic = topic
reply := RplTopicMsg(client, channel)
for member := range channel.members {
member.replies <- RplTopicMsg(client, channel)
member.replies <- reply
}
}
@ -307,8 +309,9 @@ func (channel *Channel) Kick(client *Client, target *Client, comment string) {
return
}
reply := RplKick(channel, client, target, comment)
for member := range channel.members {
member.replies <- RplKick(channel, client, target, comment)
member.replies <- reply
}
channel.Quit(target)
}

View File

@ -526,12 +526,12 @@ func (m *WhoisCommand) HandleServer(server *Server) {
continue
}
client.RplWhoisUser(mclient)
if client.flags[Operator] {
if mclient.flags[Operator] {
client.RplWhoisOperator(mclient)
}
client.RplWhoisIdle(mclient)
client.MultilineReply(client.WhoisChannelsNames(), RPL_WHOISCHANNELS,
"%s :%s", client.Nick())
client.MultilineReply(mclient.WhoisChannelsNames(), RPL_WHOISCHANNELS,
"%s :%s", mclient.Nick())
client.RplEndOfWhois()
}
}