|
@@ -119,10 +119,25 @@ func RplPart(client *Client, channel *Channel, message Text) string {
|
119
|
119
|
return NewStringReply(client, PART, "%s :%s", channel, message)
|
120
|
120
|
}
|
121
|
121
|
|
122
|
|
-func RplMode(client *Client, target *Client, changes ModeChanges) string {
|
|
122
|
+func RplModeChanges(client *Client, target *Client, changes ModeChanges) string {
|
123
|
123
|
return NewStringReply(client, MODE, "%s :%s", target.Nick(), changes)
|
124
|
124
|
}
|
125
|
125
|
|
|
126
|
+func RplCurrentMode(client *Client, target *Client) string {
|
|
127
|
+ globalFlags := "global:"
|
|
128
|
+ for mode, _ := range target.flags {
|
|
129
|
+ globalFlags += mode.String()
|
|
130
|
+ }
|
|
131
|
+
|
|
132
|
+ perChannelFlags := ""
|
|
133
|
+ for channel, _ := range target.channels {
|
|
134
|
+ perChannelFlags += fmt.Sprintf(" %s:%s", channel.name, channel.members[target])
|
|
135
|
+ }
|
|
136
|
+
|
|
137
|
+ response := NewText(fmt.Sprintf("user %s has %s%s", target.nick, globalFlags, perChannelFlags))
|
|
138
|
+ return RplNotice(client.server, client, response)
|
|
139
|
+}
|
|
140
|
+
|
126
|
141
|
func RplChannelMode(client *Client, channel *Channel,
|
127
|
142
|
changes ChannelModeChanges) string {
|
128
|
143
|
return NewStringReply(client, MODE, "%s %s", channel, changes)
|