Browse Source

fix #842

tags/v2.1.0-rc1
Shivaram Lingamneni 4 years ago
parent
commit
442055ff30
2 changed files with 8 additions and 3 deletions
  1. 7
    2
      irc/channel.go
  2. 1
    1
      irc/handlers.go

+ 7
- 2
irc/channel.go View File

1364
 func (channel *Channel) Invite(invitee *Client, inviter *Client, rb *ResponseBuffer) {
1364
 func (channel *Channel) Invite(invitee *Client, inviter *Client, rb *ResponseBuffer) {
1365
 	chname := channel.Name()
1365
 	chname := channel.Name()
1366
 	if channel.flags.HasMode(modes.InviteOnly) && !channel.ClientIsAtLeast(inviter, modes.ChannelOperator) {
1366
 	if channel.flags.HasMode(modes.InviteOnly) && !channel.ClientIsAtLeast(inviter, modes.ChannelOperator) {
1367
-		rb.Add(nil, inviter.server.name, ERR_CHANOPRIVSNEEDED, inviter.Nick(), channel.Name(), inviter.t("You're not a channel operator"))
1367
+		rb.Add(nil, inviter.server.name, ERR_CHANOPRIVSNEEDED, inviter.Nick(), chname, inviter.t("You're not a channel operator"))
1368
 		return
1368
 		return
1369
 	}
1369
 	}
1370
 
1370
 
1371
 	if !channel.hasClient(inviter) {
1371
 	if !channel.hasClient(inviter) {
1372
-		rb.Add(nil, inviter.server.name, ERR_NOTONCHANNEL, inviter.Nick(), channel.Name(), inviter.t("You're not on that channel"))
1372
+		rb.Add(nil, inviter.server.name, ERR_NOTONCHANNEL, inviter.Nick(), chname, inviter.t("You're not on that channel"))
1373
+		return
1374
+	}
1375
+
1376
+	if channel.hasClient(invitee) {
1377
+		rb.Add(nil, inviter.server.name, ERR_USERONCHANNEL, inviter.Nick(), invitee.Nick(), chname, inviter.t("User is already on that channel"))
1373
 		return
1378
 		return
1374
 	}
1379
 	}
1375
 
1380
 

+ 1
- 1
irc/handlers.go View File

1042
 
1042
 
1043
 	channel := server.channels.Get(channelName)
1043
 	channel := server.channels.Get(channelName)
1044
 	if channel == nil {
1044
 	if channel == nil {
1045
-		rb.Add(nil, server.name, ERR_NOSUCHCHANNEL, client.nick, utils.SafeErrorParam(channelName), client.t("No such channel"))
1045
+		rb.Add(nil, server.name, ERR_NOSUCHCHANNEL, client.Nick(), utils.SafeErrorParam(channelName), client.t("No such channel"))
1046
 		return false
1046
 		return false
1047
 	}
1047
 	}
1048
 
1048
 

Loading…
Cancel
Save