Commit Graph

215 Commits

Author SHA1 Message Date
Jake Bailey 73f523f252 use a list of capabilities instead, as the spec defines space seperated caps 2016-01-11 16:50:32 -06:00
Jake Bailey 32ae1211bb check bad tag inputs 2016-01-11 16:43:19 -06:00
Jake Bailey e670ca970c fix comment 2016-01-11 16:25:17 -06:00
Jake Bailey 46ce56c580 don't add spaces and instead make message optional, let the user decide 2016-01-11 16:24:01 -06:00
Jake Bailey f6a94cc3a3 add tags parsing and CAP command, with parsing tests 2016-01-11 16:20:06 -06:00
John Soros f0ae9bb509 handlers: check array bounds before indexing 2015-12-02 21:51:44 +01:00
Alex Bramley 1e190eb233 Run gofmt to fix some trailing whitespace &c. 2015-11-02 21:41:41 +00:00
Alex Bramley e935d78bb7 Fix for the deadlock condition. 2015-11-02 21:16:07 +00:00
Alex Bramley 0436afaf76 Contrived test for a deadlock condition. 2015-11-02 21:01:36 +00:00
ripcurld00d af8bd35c8a Add variadic Privmsg functions
Privmsgln and Privmsgf are variadic versions of the Privmsg function.
They format a message according to fmt.Sprintln and fmt.Sprintf
respectively and send it using Privmsg.

Note: Although the Privmsgln function's name infers that a new-line
character is added at the end of the message, it does not do that.

For example, the following send "golang is # 1 IMHO" to #go-nuts:

    c.Privmsgln("#go-nuts", "golang is #", 1, " IMHO")
    c.Privmsgf("#go-nots", "%s %d %s", "golang is #", 1, "IMHO")
2015-10-15 11:49:05 +03:00
Brenton Morris f90b498ac4 Removed the config.Proxy variable and renamed config.ProxyServer to config.Proxy. Client now connects over the specified proxy if config.Proxy isn't an empty string. 2015-09-20 19:37:26 +12:00
Brenton Morris 866e8dac8a Added proxy support 2015-09-14 16:32:23 +12:00
Alex Bramley fdb1c8229d Support other chantypes in (*Line).Public. Fixes #65. 2015-07-28 18:10:23 +01:00
Romain Soufflet 2db4b19502 Change "gomock" repository URL 2015-06-15 13:59:14 +02:00
Alex Bramley 5df3729ce8 Bad fluffle not running tests after changes. 2015-04-17 20:42:59 +01:00
Alex Bramley bf4cdc99d1 Merge branch 'master' of github.com:fluffle/goirc
Conflicts:
	client/commands.go
2015-04-15 22:31:12 +01:00
Alex Bramley ed92e36e8e Attempt to improve the godoc of client. 2015-04-15 22:27:50 +01:00
Alex Bee 09f0447bb9 Merge pull request #60 from StalkR/ellipsis
client/commands: leave space for ellipsis
2015-04-14 11:20:50 +01:00
StalkR 30087ae0f3 client/commands: leave space for ellipsis 2015-04-14 12:18:11 +02:00
Alex Bramley f12a174523 Only dispatch DISCONNECTED once. 2015-04-14 07:50:39 +01:00
Alex Bramley cd24432da4 More deadlock fixes for #58.
- Remove lock in Me().
 - Move call to initialise() to Connect().
 - Ensure DISCONNECTED event is fired after shutdown() lock is released.
2015-04-13 19:05:42 +01:00
Alex Bramley e1ddd58df4 Update tests for deadlock fix. 2015-04-02 09:35:58 +01:00
Alex Bramley 861f24a130 Alternative deadlock fix. 2015-04-02 09:22:42 +01:00
Alex Bramley b4870bc685 Tell state tracker all the information about Me. 2015-04-01 17:54:33 +01:00
Alex Bramley 0cac69d2ee Merge branch 'state-copy'. Fixes #49, #35.
Overhaul the state tracker to return copies of data that should be correct
at the time of the response. Subsequent changes to tracked IRC state will not
be reflected in the copies. For people fixing up their code because this merge
broke everything, you probably want to be paying particular attention to the
use of conn.Me() instead of conn.cfg.Me.

Sorry if this causes you hassle, it's for the best.

Lastly, if kballard is watching: sorry dude, you were mostly right ;-)
2015-02-27 19:56:41 +00:00
Alex Bramley 0216e0406e Update client for new state tracking code. 2015-01-02 12:58:50 +00:00
StalkR 262ea31065 client/connection: keep information in disconnected event 2014-12-28 12:39:30 +01:00
Alex Bramley 2e39250355 Allow Join command to take an optional key. 2014-12-23 18:21:53 +00:00
kyle 5e5f5f0253 Moved timeout to Client from Connect 2014-12-20 20:39:44 +02:00
kyle dde47a6a32 fixed inconsistencies 2014-12-20 19:36:08 +02:00
kyle d1aa016bb0 Merge remote-tracking branch 'upstream/master'
Conflicts:
	client/connection.go
2014-12-20 19:17:43 +02:00
kyle c8beed09da Fixed formatting with go fmt 2014-12-20 16:56:58 +02:00
kyle 39a7da0a37 Added timeout to deal with connecting to slow and unreliable irc servers 2014-12-20 15:23:57 +02:00
Alex Bee 8231942086 Merge pull request #51 from bramp/ipv6
Fixed the building of the server/port string to be IPv6 safe.
2014-12-18 21:43:26 +00:00
Andrew Brampton d7116e2bd0 Also add time to the Connected event. 2014-11-30 16:00:21 -08:00
Andrew Brampton 706c90baa3 Ensure the time field is populated on the pseudo line events, such as connecting and disconnecting. 2014-11-30 15:42:08 -08:00
Andrew Brampton dbcdb4c13d Fixed the building of the server/port string to be IPv6 safe. 2014-11-30 10:09:17 -08:00
Minecrell b533f5b698 Make local bind address configurable. 2014-10-12 19:34:29 +02:00
Bill Thiede 09765bab65 client: track bot mode on who replies. 2014-09-30 15:01:45 -07:00
Alex Bramley 58eaab3f1f New race detector finds more bugs in my crappy code :-) 2014-09-05 15:39:56 +01:00
Alex Bee 7c53f41c56 Merge pull request #46 from 3onyc/master
Make parseLine public by renaming it to ParseLine
2014-07-06 21:38:46 +01:00
3onyc 8f2ab20f4f Make parseLine public by renaming it to ParseLine 2014-07-06 20:26:34 +02:00
StalkR ec98b98fa6 client/mocknetconn_test: minor fix found by go vet
net.IPAddr composite literal uses unkeyed fields
2014-06-19 15:19:37 +02:00
Alex Bee 7711182a72 Use Connected() instead of .connected in String() 2014-06-14 15:50:52 +01:00
Peter SZTANOJEV 3fdd17a2b8 move the disconnection event after we are done disconnecting, there is nothing to be done anyway 2014-05-31 20:34:21 +02:00
Alex Bramley d0606981cb Atomic incrementing of call count for dispatch test (1->0).
This probably could be done better with channels...
2013-09-30 14:49:32 +01:00
Alex Bramley 4eaad0e95e Use call checker instead of writing to shared var in tests (10->1). 2013-09-30 14:43:29 +01:00
Alex Bramley 637cdb573f Put read lock in Connected() (10->9). 2013-09-30 13:55:55 +01:00
Alex Bramley 648864c1d4 Wait for all goroutines before calling initialise (54->10). 2013-09-30 13:26:06 +01:00
Alex Bramley adc6c2917d Use a single control chan to kill mockNetConn goroutines (77->54). 2013-09-30 13:25:24 +01:00