Make highlights stand out

Also re-fixed empty message check
No longer re-seeding the RNG on each call for colors
This commit is contained in:
Ken Piper 2014-12-13 17:42:43 -05:00
parent cc01deb4bb
commit fb5c2152cb
4 changed files with 18 additions and 8 deletions

View File

@ -324,7 +324,7 @@ func (c *Client) handleShell(channel ssh.Channel) {
c.Msg <- fmt.Sprintf("-> Rate limiting in effect.")
continue
}
if c.IsSilenced() || len(msg) > 1000 || len(msg) == 0 {
if c.IsSilenced() || len(msg) > 1000 || len(line) < 1 {
c.SysMsg("Message rejected.")
continue
}

3
cmd.go
View File

@ -36,6 +36,9 @@ func main() {
return
}
// Initialize seed for random colors
RandomColorInit()
// Figure out the log level
numVerbose := len(options.Verbose)
if numVerbose > len(logLevels) {

View File

@ -4,7 +4,7 @@ import (
"fmt"
"strings"
"math/rand"
"time"
"time"
)
const RESET string = "\033[0m"
@ -18,12 +18,10 @@ const INVERT string = "\033[7m"
var colors = []string { "31", "32", "33", "34", "35", "36", "37", "91", "92", "93", "94", "95", "96", "97" }
func RandomColor256() string {
rand.Seed(time.Now().UTC().UnixNano())
return fmt.Sprintf("38;05;%d", rand.Intn(256))
}
func RandomColor() string {
rand.Seed(time.Now().UTC().UnixNano())
return colors[rand.Intn(len(colors))]
}
@ -31,6 +29,10 @@ func ColorString(color string, msg string) string {
return BOLD + "\033[" + color + "m" + msg + RESET
}
func RandomColorInit() {
rand.Seed(time.Now().UTC().UnixNano())
}
// Horrible hack to "continue" the previous string color and format
// after a RESET has been encountered.
// This is not HTML where you can just do a </style> to resume your previous formatting!

View File

@ -89,10 +89,15 @@ func (s *Server) Broadcast(msg string, except *Client) {
continue
}
client.Send(msg)
if client.beepMe && strings.Contains(msg, client.Name) {
/* Add an ascii BEL to ding clients when they're mentioned */
client.Send(BEEP)
if strings.Contains(msg, client.Name) {
// Turn message red if client's name is mentioned, and send BEL if they have enabled beeping
tmpMsg := strings.Split(msg, RESET)
if client.beepMe {
tmpMsg[0] += BEEP
}
client.Send(strings.Join(tmpMsg, RESET + BOLD + "\033[31m") + RESET)
} else {
client.Send(msg)
}
}
}