summaryrefslogtreecommitdiff
path: root/lib (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Respect gen_tcp:connect args typefix-who-nickJordan Bracco2021-09-081-1/+1
|
* Commit ircbot forkJordan Bracco2021-09-014-25/+52
|
* Fix a parens warning and indentationmasterThéophile Choutri2018-01-191-1/+1
|
* Add WHO query (#78)Théophile Choutri2018-01-194-11/+71
| | | Support the WHO query
* Fix namespaces and improve internal consistencyThéophile Choutri2018-01-1812-88/+108
|
* Merge pull request #74 from tchoutri/add-whoisPaul Schoenfelder2017-12-116-22/+141
|\ | | | | Implementation of Whois feature.
| * Avoid matching on text, and reformat the pipelinesThéophile Choutri2017-12-111-8/+15
| |
| * implement WHOIS feature and a struct for data integrityThéophile Choutri2017-12-113-12/+46
| |
| * testing this, nowThéophile Choutri2017-12-115-22/+100
| |
* | Fixed handling of KICK messagesGhouli2017-11-101-4/+4
|/
* Fallback to latin1 when we're not dealing with valid unicodew1gz2017-09-061-1/+7
|
* Add NOTICE support (and by ext, NickServ support)Dom Rodriguez2017-06-011-0/+17
| | | | | | | This commit adds NOTICE handling support, as well as support for when the client is told to to identify by NickServ, which /usually/ comes in the form of a NOTICE. Later versions of this patch should account for other ways NickServ might ask a client to identify.
* Tweak regex to work with testsDom Rodriguez2017-04-201-1/+1
| | | | | This latest patch **should** be the final patch for this PR, and as suggested by @bitwalker this patch fixes the test failure *as well*.
* Tweak regex to be more efficientDom Rodriguez2017-04-201-1/+1
|
* Fix IRC regex handling of slashes in hostDom Rodriguez2017-04-181-1/+1
| | | | | | | | | | As per the issue reported in #59, this commit fixes that issue with a regex patch suggested by @vktec. This commit has been tested with cloaks, and _appears_ to work, which is a good improvement. Because of the improvement, this fixes #59.
* Convert our unicode list to binary instead of relying on the latin1 option ofw1gz2017-02-261-1/+2
| | | | `unicode.characters_to_binary/1`.
* Fix unicode bug when parsing message argumentsw1gz2017-02-221-5/+5
|
* Close #58 - address linking of client processes in examplesPaul Schoenfelder2016-12-011-1/+8
|
* Add support for prefix format: nick!hostnameJosip Janzic2016-11-111-1/+1
|
* Stop over-eager splitting of message prefixNicolas Hake2016-11-071-22/+12
| | | | | | | | | RFC2812 allows usernames to contain ! and . characters, which means parse_from used to split those up into multiple elements, thus failing the pattern match which expected the username to be a single string. Instead of prematurely splitting up the string, use a regexp that allows the username to contain any character but @.
* Convert RPL_TOPIC with no topic to RPL_NOTOPIC. See #52Josh Adams2016-09-121-5/+13
|
* Add case clause for RPL_TOPIC when no topic was set. See #52Paul Schoenfelder2016-09-121-0/+4
|
* Handle RPL_NOTOPIC in clientPaul Schoenfelder2016-09-121-0/+9
|
* Start connections as temporary childrenMichal Muskala2016-05-131-1/+1
| | | | | | | | | | | | Since the default API offered by ExIRC does not name connection the way to access them is via a PID. Having the supervisor be a :transient one means that in case the connection would die, it would be restarted by the supervisor. But since we only ever knew the PID, we have no way to refer back to this newly restarted process and thus a zombie process is roaming the VM. Closes #49
* Monitor owner of the connectionMichal Muskala2016-05-132-3/+12
| | | | | | | The connection process should monitor the process that started it and die with the same reason that the owner process did. This should solve the issue of zombie connections laying around after the processes that started them die.
* Merge pull request #43 from Annwenn/masterPaul Schoenfelder2016-04-021-4/+7
|\ | | | | Support another event.
| * changed the map styleAnne-Gwenn Kettunen2016-03-301-2/+3
| |
| * forgot a commaAnne-Gwenn Kettunen2016-03-301-1/+2
| |
| * forgot this eventAnne-Gwenn Kettunen2016-03-301-2/+3
| |
* | handle QUIT messagesJeff Weiss2016-03-302-0/+19
|/ | | | | | | | | | Prior to this commit ExIrc did not know what to do with QUIT messages, which would result in nicks remaining in the `Channels` data structure when they should not. This commit implements handling of the QUIT message and ensures that the new `Channels.user_quit` function is called to flush the departing user from all known channels. Close #40
* remove unneeded functionJeff Weiss2016-03-291-5/+1
|
* Prefer Keyword list syntax for Map key-value pairsJeff Weiss2016-03-294-94/+94
| | | | | | | | | Prior to this commit exirc had inconsistent formatting for Map key-value pairs, some cases used the Keyword list style (`key: value`), while other used the traditional Map fat arrow style (`:key => value`). This commit standardizes the codebase on the Keyword list style because 1) all the Map/struct keys are atoms enabling use of the Keyword list style, and 2) the Keyword list style is more compact.
* prefer Elixir module variants over Erlang onesJeff Weiss2016-03-293-31/+32
| | | | | | | | Prior to this commit exirc used `:gen_server` and `:supervisor` over the Elixir variants `GenServer` and `Supervisor`, respectively. The commit changes to modules to the Elixir variants mostly to reduce the cognitive load on contributors, particularly those who are not yet well versed in Erlang.
* fix the module nameAnne-Gwenn Kettunen2016-03-081-3/+3
|
* A few cleanup tasks, tweaks to the docs/examplesPaul Schoenfelder2016-03-083-8/+13
|
* using structsAnne-Gwenn Kettunen2016-03-071-7/+10
|
* a few more corrections and a WiP on the examplesAnne-Gwenn Kettunen2016-03-072-12/+21
|
* now fixed a little typoAnne-Gwenn Kettunen2016-03-071-3/+3
|
* embeds more informations about the sender of a commandAnne-Gwenn Kettunen2016-03-071-9/+13
|
* quickfix 1.Anne-Gwenn Kettunen2016-02-241-4/+6
|
* Remove empty elements from weaved list. Fixes #36Paul Schoenfelder2016-02-231-1/+4
|
* Fix pong messageAyonix2016-01-061-1/+1
|
* use simple one for one supervisor for clientsManuel Kallenbach2015-12-041-2/+6
|
* Allow use of NICK command before RPL_WELCOMENicolas Hake2015-11-301-0/+6
| | | | | | | By blocking NICK before logging on finishes, the client is unable to handle ERR_NICKNAMEINUSE and ERR_UNAVAILRESOURCE. Allow NICK even when the server hasn't sent RPL_WELCOME yet, so clients can pick a different nickname.
* Replace erlang.now() by the more appropriate 'timestamp'w1gz2015-11-151-1/+1
|
* Send an event for unrecognized messagesn2468txd2015-08-071-0/+1
| | | | This way for things that are unsupported like CAP things (with twitch specifically tested), we can handle almost anything.
* Merge pull request #25 from rockerBOO/names-listPaul Schoenfelder2015-07-021-0/+3
|\ | | | | Adding :names_list event on getting names list
| * Adding :names_list event on getting names listrockerBOO2015-06-181-0/+3
| |
* | Merge pull request #30 from rockerBOO/mode-handlingPaul Schoenfelder2015-06-251-6/+12
|\ \ | | | | | | Adding MODE events
| * | Adding MODE eventsrockerBOO2015-06-251-6/+12
| | |