Commit Graph

273 Commits

Author SHA1 Message Date
Thomas Jager
32f96cb2c8 Merge pull request #25 from darkliquid/extra-commands
Added Whois, Who and Mode (also go fmt)
2014-02-13 23:24:14 +01:00
Andrew Montgomery-Hurrell
9100ba0734 Added Whois, Who and Mode (also go fmt) 2014-02-13 21:49:28 +00:00
Thomas Jager
95288a16c5 Fix Formats and Send error to main goroutine on Disconnect 2014-02-12 08:42:10 +01:00
Thomas Jager
9bdf790e25 Fix formats 2014-02-12 08:41:22 +01:00
Thomas Jager
84a0cb60ed Fix test cases. Added sleep before Quit 2014-02-12 08:40:30 +01:00
Thomas Jager
bbbdd715fa Merge pull request #24 from darkliquid/callback-tweaks
Looks good to me. The id generating code may need some tweaking but should work fine as is :)
2014-02-12 08:17:43 +01:00
Andrew Montgomery-Hurrell
bf01c6c9e2 Added ClearCallback method for clearing all callbacks for an event 2014-02-11 23:57:08 +00:00
Andrew Montgomery-Hurrell
6edb7ec06e Added unique id to callbacks so they can be referenced. Since Go doens't actually provide unique function pointers, we use the closest we can get by grabbing the pointer for the function and slapping a random int on the end. Does it guarantee there will never be a collision? No, but it makes it's pretty damn unlikely that you'll get one during the lifetime of an app unless you are generating millions and millions of callbacks and never, ever deleting them, in which case you probably have something else to worry about 2014-02-11 23:35:13 +00:00
Thomas Jager
defd1e2189 Update Readme 2014-02-12 00:05:20 +01:00
Kaleb Elwert
ea57336e8f Replaces the Event.Message field with a function
Note that this purposefully breaks backwords compatibility. Because of
how Arguments are now handled, this will force users using this library
to update anything using this.

This is not bad, as it seems, because otherwise (just updating the
Event.Arguments to include the Message) the change could cause silent,
strange breakages.
2014-02-12 00:02:58 +01:00
Kaleb Elwert
e08cb2faf7 Makes the lib line up more with the irc rfc in message vs args handling 2014-02-12 00:02:50 +01:00
Andrew Montgomery-Hurrell
33d8019793 Added ability to get the index of a callback in the callback registry. Ability to process events against a 'wildcard' handler 2014-02-11 21:44:29 +00:00
Thomas Jager
33a06eb72b Merge pull request #22 from darkliquid/public-log
Make IRC logger public. No reason for disallowing overrides.
2014-02-10 21:39:55 +01:00
Thomas Jager
54329413c3 Merge pull request #21 from darkliquid/safe-disconnect
Deal with shutdowns more safely
2014-02-10 21:18:03 +01:00
Andrew Montgomery-Hurrell
847ce8faa2 Make IRC logger public. No reason for disallowing overrides. 2014-02-10 19:56:16 +00:00
Andrew Montgomery-Hurrell
0b6c954b52 try to shutdown more safely so callbacks, etc don't try and use the read/write channels after they are closed 2014-02-10 19:54:07 +00:00
Thomas Jager
09ea5672e2 Merge pull request #20 from darkliquid/master
Added configurable timeouts and overridable version string
2014-02-10 20:26:44 +01:00
Andrew Montgomery-Hurrell
c0e6d50e0c Added configurable timeouts and overridable version string 2014-02-09 10:20:58 +00:00
Thomas Jager
a1d207d5fa Merge pull request #19 from worr/ctcp_action
Added support for CTCP ACTION (/me)
2014-02-02 03:21:25 -08:00
Thomas Jager
5d143c7b85 Merge pull request #16 from presbrey/master
Loop: catch reconnection errors; writeLoop: only log.Print if Debug
2014-02-02 03:20:45 -08:00
William Orr
391b6d42cf Added support for CTCP ACTION (/me) 2014-02-01 21:38:45 -08:00
joe
c10849b4c0 Loop: catch reconnection errors; writeLoop: only log.Print if Debug 2013-09-25 23:37:11 -04:00
Thomas Jager
14b5cb8b16 Merge pull request #15 from Philipp15b/improvements
Some improvements
2013-04-04 07:47:20 -07:00
Philipp Schroer
655a41f804 Some improvements
* Remove unused struct elements
 * Rename some things
 * Reuse more code
 * Use 512 byte read buffer
2013-04-02 19:09:45 +02:00
Thomas Jager
0e84fb331a Remove garbage 2013-03-13 12:56:47 +01:00
Thomas Jager
0bc57f9d68 Formatting 2013-03-13 12:54:00 +01:00
Thomas Jager
4543fadeba Add Nick change function 2013-03-13 12:53:47 +01:00
Thomas Jager
3228e64f1b Add Nick change function 2013-03-13 12:53:08 +01:00
Thomas Jager
0304912f18 Fix crash on nick change 2013-03-13 12:52:31 +01:00
Thomas Jager
def8cd55a7 Add testcase for crash on nick change 2013-03-13 12:50:29 +01:00
Thomas Jager
83136b6c73 Fix pinger 2012-11-11 10:51:14 +01:00
Thomas Jager
588a268192 Fix test 2012-11-11 10:51:02 +01:00
Thomas Jager
c67bd5be47 Update readme 2012-11-11 10:41:33 +01:00
Thomas Jager
0ed7585b71 Add more helpers 2012-11-11 10:37:52 +01:00
Thomas Jager
5f2c062fb5 Update readme with TLS 2012-11-07 21:57:10 +01:00
Thomas Jager
9e880ef476 SSL -> TLS 2012-11-07 21:55:33 +01:00
Thomas Jager
c8f78ebf45 Change the way the pinger works.
Fix syning threads before reconnections
Formatting
2012-11-07 21:51:24 +01:00
Thomas Jager
d53de8bdbd Flatten structure for use with go get 2012-11-06 00:40:55 +01:00
Thomas Jager
7e83b51915 Fix tests. Add SSL test. 2012-11-06 00:40:00 +01:00
Thomas Jager
e05c098519 Merge changes from other fork 2012-11-06 00:39:31 +01:00
Thomas Jager
be3afcc796 Merge branch 'master' of git://github.com/lye/cleanirc
Conflicts:
	irc.go
	irc_callback.go
	irc_struct.go

Merge Interesting changes from fork
2012-11-06 00:38:20 +01:00
Thomas Jager
a5f3a91fd1 go get not working quite as i thought 2012-11-05 23:46:47 +01:00
Thomas Jager
ddf0508cdb Cleanup old files 2012-11-05 23:41:04 +01:00
Thomas Jager
4e254c18e1 Merge back fork. Update readme. 2012-11-05 23:39:38 +01:00
Thomas Jager
6c49e9f992 Merge pull request #12 from reynir/short-names
Short names
2012-11-05 14:10:57 -08:00
Reynir Reynisson
68c2fc2d6a Also apply the same renaming for the README 2012-05-11 13:49:51 +02:00
Reynir Reynisson
670fd99fb4 Rename IRC{Connection,Event} -> {Connection,Event}
I don't feel it's necessary to tag the types with IRC, as a client would
tag it with the module name anyway. Example:

    var conn irc.IRCConnection
    // ...

vs.

    var conn irc.Connection
    // ...
2012-05-11 13:35:25 +02:00
lye
4f82a31c9c Minor tweaks to play nicely with the new go tool 2012-03-28 01:15:26 -05:00
lye
f2faa10846 Refactor reader/writer/pinger
The old code relied on a global bool for reconnect synchronization; this
would cause the reader/writer to stop (and not restart) on every other
`IRCConnection` when one was `Reconnect`d. This patch renames the
methods to indicate they loop, makes them methods on `IRCConnection`,
and uses a member of `IRCConnection` for synchronization rather than a
global.
2012-03-21 23:08:21 -05:00
lye
b06c2dfa4a Standardized on 'irc' as the method receiver name for IRCConn methods 2012-03-21 23:02:29 -05:00