Browse Source

generalize server name/listen.

tags/v0.1.0
Jeremy Latt 12 years ago
parent
commit
4cee1ef909
5 changed files with 16 additions and 6 deletions
  1. 5
    2
      ergonomadic.go
  2. 1
    1
      ergonomadic.sh
  3. 5
    0
      src/irc/client.go
  4. 2
    2
      src/irc/commands.go
  5. 3
    1
      src/irc/server.go

+ 5
- 2
ergonomadic.go View File

@@ -1,10 +1,13 @@
1 1
 package main
2 2
 
3 3
 import (
4
+	"flag"
4 5
 	"irc"
5 6
 )
6 7
 
7 8
 func main() {
8
-	server := irc.NewServer()
9
-	server.Listen(":6667")
9
+	name := flag.String("name", "localhost", "A name for the server")
10
+	listen := flag.String("listen", ":6667", "interface to listen on")
11
+    flag.Parse()
12
+	irc.NewServer(*name).Listen(*listen)
10 13
 }

+ 1
- 1
ergonomadic.sh View File

@@ -2,4 +2,4 @@
2 2
 set -ex
3 3
 export GOPATH="$(pwd)"
4 4
 go install irc
5
-go run ergonomadic.go
5
+go run ergonomadic.go "$@"

+ 5
- 0
src/irc/client.go View File

@@ -1,6 +1,7 @@
1 1
 package irc
2 2
 
3 3
 import (
4
+	"fmt"
4 5
 	"net"
5 6
 	"strings"
6 7
 )
@@ -64,3 +65,7 @@ func (c *Client) Hostname() string {
64 65
 	}
65 66
 	return addr
66 67
 }
68
+
69
+func (c *Client) UserHost() string {
70
+	return fmt.Sprintf("%s!%s@%s", c.nick, c.username, c.Hostname())
71
+}

+ 2
- 2
src/irc/commands.go View File

@@ -64,8 +64,8 @@ func tryRegister(s *Server, c *Client) {
64 64
 	if (!c.registered && c.HasNick() && c.HasUser()) {
65 65
 		c.registered = true
66 66
 		c.send <- ReplyWelcome(c)
67
-		c.send <- ReplyYourHost(c.Nick(), "irc.jlatt.com")
67
+		c.send <- ReplyYourHost(c.Nick(), s.name)
68 68
 		c.send <- ReplyCreated(c.Nick(), "2012/04/07")
69
-		c.send <- ReplyMyInfo(c.Nick(), "irc.jlatt.com")
69
+		c.send <- ReplyMyInfo(c.Nick(), s.name)
70 70
 	}
71 71
 }

+ 3
- 1
src/irc/server.go View File

@@ -6,6 +6,7 @@ import (
6 6
 )
7 7
 
8 8
 type Server struct {
9
+	name string
9 10
 	ch chan *ClientMessage
10 11
 	nicks map[string]*Client
11 12
 }
@@ -15,8 +16,9 @@ type ClientMessage struct {
15 16
 	message Message
16 17
 }
17 18
 
18
-func NewServer() *Server {
19
+func NewServer(name string) *Server {
19 20
 	server := new(Server)
21
+	server.name = name
20 22
 	server.ch = make(chan *ClientMessage)
21 23
 	server.nicks = make(map[string]*Client)
22 24
 	go server.Receive()

Loading…
Cancel
Save