Commit Graph

152 Commits

Author SHA1 Message Date
Chris Rhodes 4a4c7f397c Regexes are consts. 2013-02-18 17:33:55 -08:00
Chris Rhodes ab3ac231da Clean up SimpleCommand, less casting. 2013-02-18 12:01:32 -08:00
Chris Rhodes 6fc99107e6 Return the list element and the remover from the internal handlerSet/commandList methods.
This makes the remove method useful. Before it was only useful inside the Remove closures.
2013-02-17 22:02:02 -08:00
Chris Rhodes a0f52c076f Merge remote-tracking branch 'fluffle/master' into commandmerge
Conflicts:
	client.go
	client/connection.go
	client/handlers.go
2013-02-17 19:07:44 -08:00
Chris Rhodes 930f29959b Merge remote-tracking branch 'fluffle/master' into commandmerge
Conflicts:
	README.md
	client.go
	client/connection.go
	client/connection_test.go
	client/dispatch.go
	client/dispatch_test.go
	client/handlers.go
	client/handlers_test.go
2013-02-17 19:03:23 -08:00
Chris Rhodes b01ec2cc08 Merge branch 'yt' of https://github.com/iopred/goirc into yt
Conflicts:
	client/dispatch.go
2013-02-17 18:47:26 -08:00
Chris Rhodes e4da830c55 Handlers/Commands now use the container/list.
Re introduced strip nick and strip prefix for SimpleCommands
Fixed tests.
2013-02-17 18:40:58 -08:00
Alex Bramley fd6fc1269b SimpleClient shouldn't need to return an error. 2013-02-18 01:42:44 +00:00
Alex Bramley 8ed96e4294 Add Me() function for ease of use. 2013-02-18 01:38:04 +00:00
Alex Bramley 12bcc94eeb Add mutex for connect/disconnect locking. 2013-02-18 01:36:52 +00:00
Alex Bramley a323372a0b First steps towards client interface.
- Move all exported vars to Config struct;
- Plumbing for Config.Me etc;
- Constants and INIT/REGISTER handler from github.com/iopred;
2013-02-18 01:36:17 +00:00
Alex Bramley 39882dafd4 Minor rearrangements. 2013-02-17 23:55:39 +00:00
Chris Rhodes 8007846d51 Run commands as a goroutine 2013-02-17 10:15:10 -08:00
Chris Rhodes e8eba53828 Added more documentation, commands are a list now, not a set :) 2013-02-17 00:09:16 -08:00
Chris Rhodes 89c23a7787 Add support for complex regex commands.
Refactor commands so they are just handlers.
Add commands that listen for YouTube/Webpage mentions and print information (Video Info/Title).
Add simple command examples in client.go
TODO: Use a better data store for the commands, perhaps a linked list like handlers.
2013-02-16 23:50:42 -08:00
Chris Rhodes 18a149335b Add a listener for YouTube and URLs, and spit out the Video Name or Title back to the sourc. 2013-02-16 19:57:54 -08:00
Alex Bramley b1242aa351 Break out tweakable things into a Config struct. 2013-02-16 18:05:56 +00:00
Alex Bramley 45d7b3317f Remove state.StateTracker stutter, hide it in Conn. 2013-02-16 11:29:56 +00:00
Alex Bramley f27e56c8b0 Run gofmt, since it's clearly been a while. 2013-02-16 10:33:15 +00:00
Chris Rhodes ed85f957b5 Call init in connect so theres no special casing for tests. 2013-02-15 19:47:10 -08:00
Chris Rhodes 8e16f59b5f Use the internal event handling for initial pass/user/nick messages.
Added constants for internal and named events.
gofmt'ed all files and updated client.go/documentation.
2013-02-15 19:24:10 -08:00
Alex Bramley a674267128 Re-work Handlers for IRC events; add Commands. 2013-02-16 00:17:31 +00:00
Alex Bramley a038856094 Remove embedded logger from client package. 2013-02-16 00:15:23 +00:00
Alex Bramley b39e4717af Allow renicking to be customised. (Closes #14) 2013-01-06 21:01:55 +00:00
Alex Bramley aa021c7cac Fix due to logging api change change. 2012-09-25 23:42:37 +01:00
Alex Bramley 13855ff77b Fix due to logging api change. 2012-09-25 22:39:02 +01:00
Alex Bramley c85f891c6b Bah, dsymonds moved gomock again. 2012-06-26 11:20:57 +01:00
Alex Bramley b98fabe44e Fix go1 time changes up. 2012-06-06 17:12:07 +01:00
Alex Bramley 9c67c42fa1 Merge branch 'release'
Conflicts:
	client/connection.go
	client/connection_test.go
2012-06-06 16:25:07 +01:00
Alex Bramley dbdc470c5c Fix os.EINVAL -> os.ErrInvalid change. 2012-05-14 22:51:01 +01:00
Alex Bramley cb5001bb27 Rate limit testing was not testing properly. Needed abs() and some fixes for time changes. 2012-02-04 23:34:09 +00:00
Alex Bramley a78aed7e7c Functions are not comparable any more, so only compare event names. 2012-02-04 23:32:39 +00:00
Alex Bramley 6fd04236fb "Fix" testing of ratelimiting code. 2012-02-04 01:32:48 +00:00
Alex Bramley eb87e56f96 Mock net.Conn needs updating for interface changes. 2012-02-04 01:16:19 +00:00
Alex Bramley 1c62354cb8 Rewrite flood limiting for new time behaviour. 2012-02-04 01:13:07 +00:00
Alex Bramley dfb6f94b56 Manually managing deadlines is going to *suck*. 2012-02-04 01:12:41 +00:00
Alex Bramley b23215d09b Gofix run. 2012-02-04 00:51:06 +00:00
Alex Bramley be271308c9 Correct import path, again. 2012-02-03 23:48:20 +00:00
Alex Bramley fce8723af0 Basic copy test, to verify expected behaviour. 2011-12-06 00:21:57 +00:00
Alex Bramley f1d0dbe45a If client-side ping can be disabled, we need to ensure something absorbs the shutdown message. 2011-11-15 22:57:29 +00:00
Alex Bramley 3183c9f177 Allow client-side ping to be disabled by setting PingFreq to zero. 2011-11-15 22:22:40 +00:00
Alex Bramley 8fa5e5624e Fix issues/9 by implementing a client-side ping loop. 2011-11-15 22:17:29 +00:00
Alex Bramley e0a5a57fe1 Merge branch 'master' into weekly
Conflicts:
	client/connection.go  # MERGED
	event/registry.go     # DELETED
	logging/mock_test.go  # DELETED
2011-11-13 14:13:55 +00:00
Alex Bramley 907560b599 Migrate to split event pkg. 2011-11-13 14:07:19 +00:00
Alex Bramley 4e4c4b6798 Migrate to split logging pkg. 2011-11-13 14:02:12 +00:00
Alex Bramley 9d5159a220 gofix weekly fixes for client. 2011-11-13 13:34:32 +00:00
Alex Bramley f62470c091 Test rateLimit(). Move call to time.After to write() for ease of testing.
Complete test coverage! Well, for things that matter. I think.
2011-11-11 11:17:18 +00:00
Alex Bramley dbc9c5f09d Misc minor fixen. 2011-11-11 10:49:33 +00:00
Alex Bramley 6a54622df9 Make mockNetConn more likely to expose racy conditions.
Use buffered channels so that Close() returns without waiting.
Use an array of three channels rather than appending to a slice.
2011-11-11 10:48:58 +00:00
Alex Bramley dc524420b0 Test write(). Fix bug where return of Flush() was not checked. 2011-11-11 10:17:17 +00:00