Institute Inform-style rulebooks
This commit is contained in:
@@ -20,14 +20,6 @@ type User struct {
|
||||
channels []canonicalChannelName
|
||||
}
|
||||
|
||||
func NewUsersSystem() *UsersSystem {
|
||||
return &UsersSystem{
|
||||
clientIdIndex: make(map[transport.ClientId]*User),
|
||||
nickIndex: make(map[canonicalNick]*User),
|
||||
channelNameIndex: make(map[canonicalChannelName]map[*User]struct{}),
|
||||
}
|
||||
}
|
||||
|
||||
func (user *User) recomputeSourceString() {
|
||||
nick := "unknown"
|
||||
if user.nick != nil {
|
||||
@@ -56,15 +48,7 @@ func (user *User) GetNick() *Nick {
|
||||
}
|
||||
|
||||
func (user *User) SetNick(newNick *Nick) error {
|
||||
oldNick := user.nick
|
||||
return Dispatch(
|
||||
func(nch NickChangeHandler) error {
|
||||
return nch.AskPermissionForNickChange(user, oldNick, newNick)
|
||||
},
|
||||
func(nch NickChangeHandler) {
|
||||
nch.HandleNickChange(user, oldNick, newNick)
|
||||
},
|
||||
)
|
||||
return Perform(NickChangeAction{User: user, OldNick: user.nick, NewNick: newNick})
|
||||
}
|
||||
|
||||
func (user *User) GetUsername() *string {
|
||||
@@ -103,23 +87,9 @@ func (user *User) GetChannels() []canonicalChannelName {
|
||||
}
|
||||
|
||||
func (user *User) Join(channelName ChannelName) error {
|
||||
return Dispatch(
|
||||
func(pjh PartJoinHandler) error {
|
||||
return pjh.AskPermissionForJoin(user, channelName)
|
||||
},
|
||||
func(pjh PartJoinHandler) {
|
||||
pjh.HandleJoin(user, channelName)
|
||||
},
|
||||
)
|
||||
return Perform(JoinAction{User: user, ChannelName: channelName})
|
||||
}
|
||||
|
||||
func (user *User) Part(channelName ChannelName, reason *string) error {
|
||||
return Dispatch(
|
||||
func(pjh PartJoinHandler) error {
|
||||
return pjh.AskPermissionForPart(user, channelName, reason)
|
||||
},
|
||||
func(pjh PartJoinHandler) {
|
||||
pjh.HandlePart(user, channelName, reason)
|
||||
},
|
||||
)
|
||||
return Perform(PartAction{User: user, ChannelName: channelName, Reason: reason})
|
||||
}
|
||||
|
Reference in New Issue
Block a user