summaryrefslogtreecommitdiff
path: root/lib (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Allow ExIrc.Client.start_link to use process optsjeffweiss2015-01-221-3/+3
| | | | | | | | | | | | | | | | Prior to this commit, registering the name for an ExIrc.Client process, it was a two-step process of `ExIrc.Client.start_link` and then `Process.register`. This also made registering a name for supervisor-started `ExIrc.Client` processes a bit tricky. This commit allows end users to start `ExIrc.Client` processes from a supervisor, but still register a name, as in the example below. ``` children = [ worker(ExIrc.Client, [[debug: true], [name: :irc_client]]) ] supervise(children, strategy: :one_for_all) ```
* strip whitespace from channel namejeffweiss2014-11-241-4/+4
| | | | | | | | | | Prior to this commit, the actual channel name passed onto the client handlers included the `\r\n` from the raw command. Handlers then had to deal with inconsistent channel name formatting based on whether the event was something like a `:received` or a `:mentioned` than if the event was `:joined` or `:parted`. This commit strips leading and trailing whitespace from the channel name in order to provide consistent behavior.
* moved transport to a new fileDaniel Bloemendal2014-11-112-28/+24
|
* added SSL supportDaniel Bloemendal2014-11-102-36/+87
|
* properly silence topic debug messagesDaniel Bloemendal2014-11-101-3/+6
|
* simplify ExIrc.Client.do_add_handler logicjeffweiss2014-10-211-12/+4
| | | | | | | | | | | | | | | | | | | Prior to this commit the `do_add_handler` function would do lots of work to check to see if the handler process was alive (either on the local node or a remote node); however, this work not comprehensive because the process could die between the `alive?` check and `Process.monitor/1`, but also unneccesary, because the semantics of `Process.monitor/1` (and `:erlang.monitor/2`) will guarantee that the monitoring process will be sent a `{:DOWN, _, _, _, _}` message if the monitored process dies, doesn't exist or the node hosting the process disconnects from the mesh. Because `Process.monitor/1` notifies the monitoring process if the monitored process is dead by the time we add it, we can remove the checks to validate that the handler process is alive and instead rely on the semantics of `Process.monitor/1` and simplify our logic. This commit also fixes the handling of the `{:DOWN, _, _, _, _}` message because previously we were checking for the Erlang variant of it as `{'DOWN', _, _, _, _}`, and thus, our handler removal upon process death was never getting properly called.
* Version 0.8.4Paul Schoenfelder2014-10-211-1/+1
|
* Handle adding remote processes as handlersPaul Schoenfelder2014-10-211-2/+10
|
* untabify example_handler.exJoe-noh2014-09-301-118/+117
|
* Always treat channel messages as channel messages. Closes #15Paul Schoenfelder2014-09-031-9/+3
|
* Fix bug in Utils.parse_fromPaul Schoenfelder2014-08-121-12/+20
|
* Handle octal format deprecation in 0.15.0Paul Schoenfelder2014-08-122-4/+4
|
* (maint) Update for Elixir 0.15.0jeffweiss2014-08-051-9/+12
| | | | | | | | | | | | | | | | | Prior to this commit, ExIrc.Utils.parse_from/2 use Regex.split with captures; however, this functionality has been removed from Elixir 0.15.0. For example, `Regex.split(~r/(!@\.)/, "n!u@h.n.tld")` in Elixir 0.14.3 would yield `["n", "!", "u", "@", "h", ".", "n", ".", "tld"]` however, in Elixir 0.15.0, this yields `["n", "u", "h", "n", "tld"]` This commit works around this functionality by using explicit regular expressions for each of the cases, pulling out each of the fields into a named capture map and relying on the truthiness of the capture map to trigger a condition match.
* Fixes #9 - Implement support for sending/receiving CTCP ACTION commandPaul Schoenfelder2014-07-314-27/+61
|
* made SENT PONG{1,2} messages conditional upon state.debug being setKevin Montuori2014-07-151-2/+4
|
* Merge pull request #6 from kevinmontuori/from_char_dataPaul Schoenfelder2014-07-143-5/+5
|\ | | | | Removed calls to the depricated List.from_char_data!/1
| * removed calls to the depricated List.from_char_data!/1Kevin Montuori2014-07-143-5/+5
| |
* | fixed badarg issueKevin Montuori2014-07-141-4/+4
|/
* Update to Elixir 0.14.1Cliff Rowley2014-06-254-21/+19
|
* Replace records with structsPaul Schoenfelder2014-05-027-148/+152
|
* Merge branch 'master' of github.com:bitwalker/exircPaul Schoenfelder2014-04-181-2/+2
|\
| * fix copy/paste errorNami-Doc2014-04-191-2/+2
| |
* | Clean up record update syntaxPaul Schoenfelder2014-02-192-34/+46
|/
* Move IrcMessage out of ExIrc.ClientPaul Schoenfelder2014-02-194-14/+9
|
* Add events for kick, invite, and privmsgPaul Schoenfelder2014-02-193-1/+65
|
* Add support for /INVITEPaul Schoenfelder2014-02-192-0/+18
|
* Ensure that cmd! when called with binary sends command as charlistPaul Schoenfelder2014-02-191-1/+2
|
* Use binaries for default arguments in commands.exPaul Schoenfelder2014-02-191-3/+8
|
* Add support for /MODEPaul Schoenfelder2014-02-192-0/+23
|
* Give events a consistent grammatical tensePaul Schoenfelder2014-02-192-17/+17
|
* Clean up commands, add kickPaul Schoenfelder2014-02-192-29/+30
|
* Update example handler with all currently known eventsPaul Schoenfelder2014-02-191-4/+36
|
* Deprecate :user_joined event in favor of overloaded :join eventPaul Schoenfelder2014-02-191-1/+1
|
* Use binaries instead of charlists when parsing messagePaul Schoenfelder2014-02-191-6/+6
|
* Send events to handlersPaul Schoenfelder2014-02-191-22/+45
| | | | | | | | | | | Events for: :login :part :join :nick :topic :disconnected
* Add support for Elixir 0.12.4+Paul Schoenfelder2014-02-193-18/+18
|
* Strip %, &, and ~ ranksPaul Schoenfelder2014-02-191-1/+4
|
* Fix warnings in commands.exPaul Schoenfelder2013-12-201-4/+4
|
* Update local process name for ExIrc supervisor modulePaul Schoenfelder2013-12-101-2/+2
|
* Update Client documentationPaul Schoenfelder2013-12-101-120/+75
|
* Update Channels documentationPaul Schoenfelder2013-12-101-0/+53
|
* Update Irc.Commands documentationPaul Schoenfelder2013-12-101-0/+23
|
* Fix indentation in example_handler.exPaul Schoenfelder2013-12-101-2/+2
|
* Expand ExampleHandler, add docsPaul Schoenfelder2013-12-101-9/+28
|
* Add docs to ExIrc supervisor modulePaul Schoenfelder2013-12-101-4/+25
|
* Fix bug in remove_handlerPaul Schoenfelder2013-12-101-3/+3
|
* Fix reference to debug instead of debug?Paul Schoenfelder2013-12-091-4/+4
|
* Add specs and docs to LoggerPaul Schoenfelder2013-12-091-0/+16
|
* Add specs and docs to UtilsPaul Schoenfelder2013-12-091-6/+22
|
* Only show debug statments when debug? is true. Reorganize handle* defs to be ↵Paul Schoenfelder2013-12-091-33/+32
| | | | grouped together