1
0
Fork 0
forked from External/ergo

Disable channel modes and remove some client modes.

This commit is contained in:
Jeremy Latt 2012-12-11 23:04:03 -08:00
parent c99bc6b453
commit dbaa73a319
6 changed files with 31 additions and 100 deletions

View file

@ -226,6 +226,15 @@ func (m *ModeMessage) Handle(s *Server, c *Client) {
s.ChangeUserMode(c, m.modes)
}
func (m *ChannelModeMessage) Handle(s *Server, c *Client) {
channel := s.channels[m.channel]
if channel != nil {
c.send <- ErrNoChanModes(channel)
} else {
c.send <- ErrNoSuchChannel(s, m.channel)
}
}
// JOIN ( <channel> *( "," <channel> ) [ <key> *( "," <key> ) ] ) / "0"
type JoinMessage struct {
@ -372,39 +381,6 @@ func (m *TopicMessage) Handle(s *Server, c *Client) {
}
}
// INVITE <nickname> <channel>
type InviteMessage struct {
nickname string
channel string
}
func NewInviteMessage(args []string) (Message, error) {
if len(args) < 2 {
return nil, NotEnoughArgsError
}
return &InviteMessage{
nickname: args[0],
channel: args[1],
}, nil
}
func (m *InviteMessage) Handle(s *Server, c *Client) {
channel := s.channels[m.channel]
if channel == nil {
c.send <- ErrNoSuchNick(s, m.channel)
return
}
invitee := s.nicks[m.nickname]
if invitee == nil {
c.send <- ErrNoSuchNick(s, m.nickname)
return
}
channel.Invite(c, invitee)
}
// OPER <name> <password>
type OperMessage struct {