Commit Graph

139 Commits

Author SHA1 Message Date
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
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
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
Alex Bramley 19ea7138e5 Test runLoop(). Needed a lot of sleeps... 2011-11-11 09:23:12 +00:00
Alex Bramley 9ccb0a39ab Test recv(). 2011-11-11 08:35:23 +00:00
Alex Bramley 0d4e83ea7f Fix length bug in mockNetChan.
Using the length of the provided buffer is dangerous after the first buffered
read from it, as it'll be the length of the buffer size...
2011-11-11 08:34:55 +00:00
Alex Bramley 38cd23891a Streamline timers in mockNetConn slightly. 2011-11-11 08:00:18 +00:00
Alex Bramley bfdd895ca6 Test send(). 2011-11-11 07:59:16 +00:00
Alex Bramley d4aceddcd7 Test Client creation and ST enable/disable. 2011-11-10 15:06:44 +00:00
Alex Bramley a271cc06f3 Use mock dispatcher for testing event triggering. 2011-11-07 14:53:07 +00:00
Alex Bramley 3feaa7f302 Use a static map of event handlers for internal handlers too. 2011-11-07 13:44:03 +00:00
Alex Bramley aa75e0e0c6 Make enabling/disabling state-tracking easier. Improve constructors. 2011-11-07 13:34:13 +00:00
Alex Bramley 4853024928 Nuke extraneous makefiles, no longer needed. 2011-11-06 06:26:59 +00:00
Alex Bramley caa9429a74 Update README. 2011-11-06 05:22:02 +00:00
Alex Bramley 2bc8238f8e Move state-related handlers to their own file for clarity. 2011-11-06 05:11:49 +00:00
Alex Bramley 85097043cf Epic final commit for nick/chan/logging/testing refactor.
* Brings logging changes to client library.
* Brings state tracker to client library.
* Rewrites all tests to use mock logger and mock state tracker.
* Makes state tracking optional, finally.
* Shaves yaks until they are almost completely bald.
2011-11-06 04:56:46 +00:00