mirror of
https://github.com/ergochat/ergo.git
synced 2024-11-22 11:59:40 +01:00
parent
6d642bfe93
commit
75bd63d0bc
@ -615,6 +615,12 @@ channels:
|
|||||||
# (0 or omit for no expiration):
|
# (0 or omit for no expiration):
|
||||||
invite-expiration: 24h
|
invite-expiration: 24h
|
||||||
|
|
||||||
|
# channels that new clients will automatically join. this should be used with
|
||||||
|
# caution, since traditional IRC users will likely view it as an antifeature.
|
||||||
|
# it may be useful in small community networks that have a single "primary" channel:
|
||||||
|
#auto-join:
|
||||||
|
# - "#lounge"
|
||||||
|
|
||||||
# operator classes:
|
# operator classes:
|
||||||
# an operator has a single "class" (defining a privilege level), which can include
|
# an operator has a single "class" (defining a privilege level), which can include
|
||||||
# multiple "capabilities" (defining privileged actions they can take). all
|
# multiple "capabilities" (defining privileged actions they can take). all
|
||||||
|
@ -644,6 +644,7 @@ type Config struct {
|
|||||||
}
|
}
|
||||||
ListDelay time.Duration `yaml:"list-delay"`
|
ListDelay time.Duration `yaml:"list-delay"`
|
||||||
InviteExpiration custime.Duration `yaml:"invite-expiration"`
|
InviteExpiration custime.Duration `yaml:"invite-expiration"`
|
||||||
|
AutoJoin []string `yaml:"auto-join"`
|
||||||
}
|
}
|
||||||
|
|
||||||
OperClasses map[string]*OperClassConfig `yaml:"oper-classes"`
|
OperClasses map[string]*OperClassConfig `yaml:"oper-classes"`
|
||||||
|
@ -394,6 +394,12 @@ func (server *Server) tryRegister(c *Client, session *Session) (exiting bool) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
server.playRegistrationBurst(session)
|
server.playRegistrationBurst(session)
|
||||||
|
|
||||||
|
if len(config.Channels.AutoJoin) > 0 {
|
||||||
|
// only applicable to new clients, not reattaches:
|
||||||
|
server.handleAutojoins(session, config.Channels.AutoJoin)
|
||||||
|
}
|
||||||
|
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -502,6 +508,14 @@ func (server *Server) MOTD(client *Client, rb *ResponseBuffer) {
|
|||||||
rb.Add(nil, server.name, RPL_ENDOFMOTD, client.nick, client.t("End of MOTD command"))
|
rb.Add(nil, server.name, RPL_ENDOFMOTD, client.nick, client.t("End of MOTD command"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (server *Server) handleAutojoins(session *Session, channelNames []string) {
|
||||||
|
rb := NewResponseBuffer(session)
|
||||||
|
for _, chname := range channelNames {
|
||||||
|
server.channels.Join(session.client, chname, "", false, rb)
|
||||||
|
}
|
||||||
|
rb.Send(true)
|
||||||
|
}
|
||||||
|
|
||||||
func (client *Client) whoisChannelsNames(target *Client, multiPrefix bool, hasPrivs bool) []string {
|
func (client *Client) whoisChannelsNames(target *Client, multiPrefix bool, hasPrivs bool) []string {
|
||||||
var chstrs []string
|
var chstrs []string
|
||||||
targetInvis := target.HasMode(modes.Invisible)
|
targetInvis := target.HasMode(modes.Invisible)
|
||||||
|
@ -587,6 +587,12 @@ channels:
|
|||||||
# (0 or omit for no expiration):
|
# (0 or omit for no expiration):
|
||||||
invite-expiration: 24h
|
invite-expiration: 24h
|
||||||
|
|
||||||
|
# channels that new clients will automatically join. this should be used with
|
||||||
|
# caution, since traditional IRC users will likely view it as an antifeature.
|
||||||
|
# it may be useful in small community networks that have a single "primary" channel:
|
||||||
|
#auto-join:
|
||||||
|
# - "#lounge"
|
||||||
|
|
||||||
# operator classes:
|
# operator classes:
|
||||||
# an operator has a single "class" (defining a privilege level), which can include
|
# an operator has a single "class" (defining a privilege level), which can include
|
||||||
# multiple "capabilities" (defining privileged actions they can take). all
|
# multiple "capabilities" (defining privileged actions they can take). all
|
||||||
|
Loading…
Reference in New Issue
Block a user