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