Commit graph

471 commits

Author SHA1 Message Date
Aaron Weiss
6ece3e25fe Moved to using an internal sending channel for messages. 2016-01-03 07:51:10 -05:00
Aaron Weiss
ea0577bbaf Implemented Clone for IrcServer and updated multithreaded examples
accordingly.
2016-01-03 05:39:44 -05:00
Aaron Weiss
a6cd761e51 Moved Arc abstraction internally for IrcServer. 2016-01-03 05:35:00 -05:00
Aaron Weiss
8104894c28 Updated get_source_nickname behavior to match spec (fixes #40). 2015-11-26 13:11:02 -05:00
Aaron Weiss
11a54445b7 Removed deprecated code. 2015-11-22 16:26:43 -05:00
Aaron Weiss
6e160f561f Fixed typo in value for ERR_KEYNOPERMISSION. 2015-11-04 12:17:23 -05:00
Peter Atashian
ca7233fe1b Fix #36
Signed-off-by: Peter Atashian <retep998@gmail.com>
2015-10-14 21:56:13 -04:00
Aaron Weiss
c372403ed5 Made iterator types well-formed to respond to RFC 1214 changes. 2015-10-09 13:21:11 -04:00
Aaron Weiss
b866785c89 Added a function to save a Config. 2015-09-16 12:21:58 -04:00
Zetok Zalbavar
ee2deea79c
Allow to encode Config 2015-09-13 13:49:15 +01:00
E. Dunham
0194298aed Document state of server module 2015-07-18 20:34:49 -07:00
Aaron Weiss
f23160d493 Added utility functions to help with SASL. 2015-07-16 15:45:09 -04:00
Aaron Weiss
41428c499d Added support for SASL IRCv3 extension. 2015-07-16 15:45:09 -04:00
Aaron Weiss
2f7c7b116c Added support for IRCv3 batch extension. 2015-07-16 15:16:55 -04:00
Aaron Weiss
613b1c85ae Added support for metadata-notify. 2015-07-13 11:56:24 -04:00
Aaron Weiss
c4ca0dbeed Replaced Response enum with a macro thanks to @sfackler. 2015-07-03 16:56:50 -04:00
Aaron Weiss
edc770e22e Implemented IRCv3 metadata (without metadata-notify). 2015-07-01 18:44:09 -04:00
Aaron Weiss
3afef46198 Fixed bug causing crashes on wide unicode characters (fixes #29). 2015-07-01 17:14:28 -04:00
Steve Klabnik
1d8c64ef37 Remove unneeded crate attributes
These are overridden by Cargo anyway.
2015-07-01 15:49:03 -04:00
Aaron Weiss
05186cf670 Removed trailing whitespace. 2015-06-22 12:03:57 -04:00
Aaron Weiss
a5306f8391 Added custom capability for requesting additional extensions. 2015-06-20 22:25:18 -04:00
Aaron Weiss
b4f0727794 Fixed test compilation. 2015-06-16 16:09:10 -04:00
Aaron Weiss
f2e8f37877 Added a Message-consuming Into<Result<Command>> for ergonomics. 2015-06-16 16:05:28 -04:00
Aaron Weiss
83c38931bf Added Sized bounds on Self to make Server and ServerExt object-safe. 2015-06-16 16:04:37 -04:00
Aaron Weiss
595e75f1e0 Added unit tests for new username/hostname parsing. 2015-06-05 22:25:49 -04:00
Aaron Weiss
a03e09264e Added username and hostname parsing to User to better support
userhost-in-name extension.
2015-06-05 22:19:37 -04:00
Aaron Weiss
f3a2417f6a Simplified config loading API with AsRef<Path>. 2015-06-05 21:37:21 -04:00
Aaron Weiss
81b3e58d52 Replaced Command::from_message with a From<&Message> implementation. 2015-06-05 21:27:15 -04:00
Aaron Weiss
f46f877605 Added support for userhost-in-names capability. 2015-06-05 21:05:39 -04:00
Aaron Weiss
279a690de6 Added support for server-time capability. 2015-06-05 20:56:46 -04:00
Aaron Weiss
489c6c1a2d Added support for invite-notify capability. 2015-06-05 20:54:44 -04:00
Aaron Weiss
288b4cf70e Added support for echo-message extension. 2015-06-05 20:45:23 -04:00
Aaron Weiss
e6593f4335 Implemented support for chghost extension. 2015-06-05 20:42:48 -04:00
Aaron Weiss
d773dafb22 Added support for cap-notify extension. 2015-06-05 20:36:22 -04:00
Aaron Weiss
5d6fd1031d Added account-tag to capabilities request API. 2015-06-04 15:23:48 -04:00
Aaron Weiss
6a7786b92a Added monitor to capability request API. 2015-06-04 15:21:21 -04:00
Aaron Weiss
c9b22f08ff Added response codes for monitor extension. 2015-06-04 15:19:54 -04:00
Aaron Weiss
e9066e3cba Added MONITOR command for IRCv3.2 monitor extension. 2015-06-04 15:14:28 -04:00
Aaron Weiss
7d39a12142 Added parsing support for IRCv3.2 message tags. 2015-06-04 12:35:43 -04:00
Aaron Weiss
e1abb935b1 Added CAP LS with negotiation version API for IRCv3.2. 2015-05-22 23:55:20 -04:00
Aaron Weiss
3805c7c914 Added support for IRCv3.1 extended-join. 2015-05-21 22:55:49 -04:00
Aaron Weiss
fc175bb68a Added support for IRCv3.1 away-notify. 2015-05-21 22:40:08 -04:00
Aaron Weiss
be7b7d3233 Added Capability for a type-safe IRCv3 CAP REQ API. 2015-05-21 22:33:14 -04:00
Aaron Weiss
066960838e Fixed identify tests after IRCv3 changes. 2015-05-21 22:33:14 -04:00
Aaron Weiss
b6526465dd Added IRCv3 ACCOUNT command for account-notify support. 2015-05-21 22:33:14 -04:00
Aaron Weiss
7bf6bf48e1 Enhanced documentation for user tracking API. 2015-05-21 22:33:14 -04:00
Aaron Weiss
624873fc85 Removed default multi-prefix request in identify(...). 2015-05-21 22:33:14 -04:00
Aaron Weiss
f270a9d323 Added a function to send capabilities requests. 2015-05-21 22:33:14 -04:00
Aaron Weiss
3a8aa7b738 Removed CAP CLEAR subcommand. 2015-05-21 22:33:14 -04:00
Aaron Weiss
fcca39a98d Fixed test compilation. 2015-04-26 00:11:51 -04:00
Aaron Weiss
87f3b65649 Replaced ToMessage with Into<Message>. 2015-04-26 00:01:33 -04:00
Aaron Weiss
d3ac72d513 Removed unnecessary copies in Command's ToMessage impl. 2015-04-25 23:43:16 -04:00
Aaron Weiss
83243ffec3 ToMessage now consumes the struct in the conversion. 2015-04-25 23:13:56 -04:00
Aaron Weiss
42454939d7 Servers now send any ToMessage type. 2015-04-25 23:13:33 -04:00
Aaron Weiss
2505cc5784 Removed stability attributes. 2015-04-24 02:10:05 -04:00
Aaron Weiss
1740a2e669 Removed FromPrimitive derivation. 2015-04-24 01:53:37 -04:00
Aaron Weiss
c26d297e62 Eliminated feature use for beta. 2015-04-04 23:06:13 -04:00
Aaron Weiss
23fa48d41e Updated for Rust master. 2015-04-03 00:56:42 -04:00
Aaron Weiss
0e6018c85f Updated to Rust master. 2015-03-29 13:26:22 -04:00
Aaron Weiss
a23fcd6ba2 Updated for latest Rust. 2015-03-26 21:50:38 -04:00
Aaron Weiss
b7912ee592 Fixed warnings on Rust master. 2015-03-21 23:08:41 -04:00
Aaron Weiss
aaf5013407 Updated parsing to support colons within arguments. 2015-03-09 22:06:43 -04:00
Aaron Weiss
c5d2cdb891 Config tests now use std::path. 2015-03-07 15:01:34 -05:00
Aaron Weiss
1425bc1327 Migrated to new std::path. 2015-03-07 12:15:22 -05:00
Aaron Weiss
8bc8b946f7 Migrated to new std::io. 2015-03-02 17:12:16 -05:00
Aaron Weiss
3274cf1107 Changed from split_str to split. 2015-02-26 21:52:42 -05:00
Aaron Weiss
758bcfa784 Added a private function to help reduce line-wrapping. 2015-02-24 17:34:25 -05:00
Aaron Weiss
cfe9d756a6 Cleaned up line-wrapping in Command::to_message. 2015-02-24 16:58:50 -05:00
Aaron Weiss
5f8b09cf57 Updated docs. 2015-02-24 10:55:08 -05:00
Aaron Weiss
e1ab26a4bd Fixes #18 by expanding the CAP command. 2015-02-24 10:45:42 -05:00
Aaron Weiss
27839902ad Converted Wrapper to ServerExt as per #19. Fixes #5, too. 2015-02-24 10:10:22 -05:00
Aaron Weiss
6fdea7302a Improved docs on from_message_io. 2015-02-24 01:21:41 -05:00
Aaron Weiss
5a801df82f Added ToMessage to Prelude. 2015-02-23 23:11:11 -05:00
Aaron Weiss
54aaec9c76 Merge pull request #17 from filipegoncalves/master
Implemented command iterator.
2015-02-23 23:07:02 -05:00
Aaron Weiss
fca193732d Cleaned up line-wrapping in command.rs. 2015-02-23 23:06:35 -05:00
Filipe Gonçalves
04dccf5ce2 Added Command iterator. Added a test and a use case example. 2015-02-23 23:57:13 +00:00
Filipe Gonçalves
a43db2b5da Refactored Command to own its data. Updated tests and examples. 2015-02-23 20:02:52 +00:00
Aaron Weiss
1828c16766 Added a client prelude. 2015-02-22 21:18:57 -05:00
Aaron Weiss
c997556501 Removed warning when no-default-features is used. 2015-02-22 12:12:18 -05:00
Aaron Weiss
6404bef80a More clean-up, and warning fixes. 2015-02-21 10:31:46 -05:00
Aaron Weiss
76e7aea8e7 Cleaned up code, and more warning fixes. 2015-02-21 10:18:53 -05:00
Aaron Weiss
dd4635d39f Updated for Rust master. 2015-02-21 09:28:12 -05:00
Aaron Weiss
01379667f1 Updated for Rust master. 2015-02-19 15:30:09 -05:00
Aaron Weiss
f91912af7f Updated stabilization. 2015-02-17 14:28:38 -05:00
Aaron Weiss
6d6e8e1765 Eliminated usage of MemWriter in tests. 2015-02-17 13:32:19 -05:00
Aaron Weiss
ed1c047124 Added unit test for #14. 2015-02-17 13:28:53 -05:00
Aaron Weiss
9a4418762c Cleaned up line-wrapping after #14. 2015-02-17 13:27:16 -05:00
Aaron Weiss
d6d332b6aa Simplified existing test. 2015-02-17 13:26:45 -05:00
Aaron Weiss
a820310b9c Clean up after #14. Updated test config script. 2015-02-17 13:20:59 -05:00
Filipe Gonçalves
62fa0fe524 Added config support to set umodes on connect. 2015-02-17 17:56:06 +00:00
Aaron Weiss
99f0789d35 Updated tests and examples for Rust master. 2015-02-13 10:58:40 -05:00
Aaron Weiss
2f79f180d8 Updated for Rust master. 2015-02-03 13:11:33 -05:00
Aaron Weiss
d63b1ab84e Added feature tags to eliminate warnings. 2015-01-30 12:22:08 -05:00
Aaron Weiss
7fe36d8fd4 Updated stabliziation. 2015-01-30 11:50:03 -05:00
Aaron Weiss
147af6c437 std::io -> std::old_io 2015-01-28 12:19:02 -05:00
Aaron Weiss
95c466056f Fixed compilation on Rust master. 2015-01-24 16:18:32 -05:00
Aaron Weiss
da29644eb1 Updated code for line-wrapping. 2015-01-13 04:07:04 -05:00
Aaron Weiss
87fde7b212 list_users(...) now just returns None when nochanlists is enabled. 2015-01-13 03:59:04 -05:00
Aaron Weiss
8a4a7d3414 Added more stability markers. 2015-01-13 03:51:18 -05:00
Aaron Weiss
2a8170b3ba Updated stability markers more. 2015-01-13 03:37:38 -05:00
Aaron Weiss
fb7853fbcd Changed config.json to client_config.json. 2015-01-13 03:01:18 -05:00
Aaron Weiss
c9a767c8ff Refactored library in preparation for server work. 2015-01-13 02:39:59 -05:00
Will Hipschman
32900f8d49 Add nochanlists feature.
This feature will disable user tracking including joins, parts, and modes.  This is useful for bots on severely crowded channels (tens of thousands of users) that have no need for maintaining a list of users.
2015-01-10 21:14:08 -08:00
Aaron Weiss
ef2dc880e2 Fixed compilation with no default features and bumped version to 0.7.11. 2015-01-09 19:24:02 -05:00
Aaron Weiss
3cc79c7d31 Fixed small bug and bumped version to 0.7.10. 2015-01-09 19:15:49 -05:00
Aaron Weiss
768c6f556f Updated to 0.7.9 and re-evaluated library stabilization. 2015-01-09 18:36:22 -05:00
Aaron Weiss
d0b54f8119 Updated for Rust master. 2015-01-09 17:38:46 -05:00
Aaron Weiss
e3365d235e Updated for Rust master. 2015-01-08 12:51:40 -05:00
Aaron Weiss
dba24dc5cd Removed old orphan check. 2015-01-06 18:37:54 -05:00
Peter Atashian
b2a1f2a6b9 closure syntax
Signed-off-by: Peter Atashian <retep998@gmail.com>
2015-01-06 05:33:40 -05:00
Aaron Weiss
01b2e218cd Fixed compilation for rust master. 2015-01-04 14:22:24 -05:00
Aaron Weiss
4e41d5a80d Fixed test compilation. 2015-01-04 01:24:08 -05:00
Aaron Weiss
2dc47006ce Fixed compilation for rust master. 2015-01-04 01:18:26 -05:00
Aaron Weiss
48788fee5f Added get_source_nickname() to Message. 2015-01-02 15:20:26 -05:00
Aaron Weiss
dace078b1c Updated for mutex changes. 2015-01-01 20:40:58 -05:00
Aaron Weiss
dbd0e4b65b More clean-up around ToMessage, and removed debug messages from CTCP
implementation.
2014-12-31 20:26:44 -05:00
Aaron Weiss
a6146bc135 Clean up after #11, including unit tests. 2014-12-31 20:05:10 -05:00
Simon Bernier St-Pierre
ed84a41e57 Implement ToMessage for Command and Message and use ToMessage in Connection. 2014-12-31 18:39:00 -05:00
Aaron Weiss
5a59945ffc Updated travis build file and added doc notes about CTCP requiring CTCP
feature.
2014-12-23 13:32:35 -05:00
Aaron Weiss
b9357ee671 Fixed CTCP tests. 2014-12-23 13:31:10 -05:00
Aaron Weiss
4fdf801fb3 Updated away from deprecated code in library. 2014-12-23 12:53:30 -05:00
Aaron Weiss
b44ff8b196 Fixed build. 2014-12-23 12:15:41 -05:00
Aaron Weiss
06cd54f39e Added CTCP response tests. 2014-12-22 17:24:56 -05:00
Aaron Weiss
fdfe03d1b2 Added colons to fix tests. 2014-12-22 17:15:35 -05:00
Aaron Weiss
ddda80d00e Added tests for sending CTCP requests. 2014-12-22 17:11:54 -05:00
Aaron Weiss
2cd160a72f Added commands to send CTCP requests as per #7. 2014-12-22 16:43:37 -05:00
Aaron Weiss
1b51c69a23 Added CTCP feature with automatic responses to a set of CTCP commands
as per #7.
2014-12-22 16:35:56 -05:00
Aaron Weiss
86a5faaa1d Reconnection no longer requires mutability, Wrapper now has
send_quit(...).
2014-12-20 20:12:29 -05:00
Aaron Weiss
49c96e9ece Removed unnecessary constructors that set timeouts on construction. 2014-12-20 17:57:55 -05:00
Aaron Weiss
5d45515578 Added set_timeout to Connection. 2014-12-20 17:53:27 -05:00
Aaron Weiss
3173accaa8 Added set_keepalive to Connection and the ability to reconnect to a
server.
2014-12-20 17:36:48 -05:00
Aaron Weiss
70031aa8d8 ServerIterator now iterates over IoResults. 2014-12-20 16:50:54 -05:00
Aaron Weiss
d76dd610de Fixed compilation, and updated README. 2014-12-19 10:48:59 -05:00
Aaron Weiss
467559b478 Changed behavior when using encoding to not fail on improperly encoded
text.
2014-12-17 01:31:24 -05:00
Aaron Weiss
0ec3f1f282 Updated to using #[deriving(Copy)]. 2014-12-14 19:21:14 -05:00
Aaron Weiss
e070639ffe Updated for explicit Copy implementations. 2014-12-13 03:24:41 -05:00
Aaron Weiss
7464dc2f0f No longer tries to identify without a password, and added a test for
nickserv identification.
2014-12-09 17:25:22 -05:00
Aaron Weiss
3146d6a87f Fixed nickserv identification. 2014-12-09 17:15:53 -05:00
Aaron Weiss
f9cb41fff3 Moved nickserv registration to just before channel joining. 2014-12-09 17:11:02 -05:00
Aaron Weiss
398cda4af6 Implemented password support for nickservs as per #9. 2014-12-09 17:01:47 -05:00
Aaron Weiss
31281d2820 Added support for connecting to a password-protected server. 2014-12-09 16:17:05 -05:00
Aaron Weiss
bdb04d693b Updated examples for if let addition, and a failure test with a message. 2014-12-08 15:00:10 -05:00
Aaron Weiss
5ec5ec29eb Updated for language changes. 2014-12-08 03:34:13 -05:00
Aaron Weiss
a222989cb4 Implemented #4 as a list of alternate nicknames. 2014-12-06 18:49:07 -05:00
Aaron Weiss
6b294036f2 Simplified config tests and added rustdoc test for README.md. 2014-12-05 10:27:58 -05:00
Aaron Weiss
3387f5d587 Updated configuration to be a lot more fluid, and easier to work with. 2014-12-04 21:04:22 -05:00
Aaron Weiss
3b5bf55d0c Updated for language changes. 2014-12-04 12:57:07 -05:00
Aaron Weiss
4cd500d892 Updated encoding library for language changes. 2014-12-04 12:54:25 -05:00
Aaron Weiss
afd14cb20a Completed #3 by taking advantage of new support for capabilities
protocol.
2014-12-02 16:35:34 -05:00
Aaron Weiss
8b72503e7d Added support for CAP and IRCv3 capabilities extension. 2014-12-02 14:41:09 -05:00
Aaron Weiss
116ac10e48 Improved access level tracking as per #3, but more improvements are
necessary still.
2014-12-02 14:10:33 -05:00
Aaron Weiss
b05994e65c Fixed typo in SSL implementation that went unnoticed. 2014-12-01 18:34:39 -05:00
Aaron Weiss
0588de82e0 Fixed encode tests. 2014-12-01 18:20:29 -05:00
Aaron Weiss
40d8f09528 Separated reading and writing once more, thanks to changes in
rust-openssl.
2014-12-01 18:17:03 -05:00
Aaron Weiss
da30e4bccd Updated handle_message(...) to use Response everywhere as needed. 2014-12-01 16:12:19 -05:00
Aaron Weiss
4a48093905 handle_command(...) implementation now uses responses, unit tests for
responses are now lincuded.
2014-12-01 14:32:45 -05:00
Aaron Weiss
7a4e1675b2 Added server response codes. 2014-12-01 14:19:14 -05:00
Aaron Weiss
faf54e1b52 Added warning for missing docs, and added missing docs. 2014-12-01 13:53:22 -05:00
Aaron Weiss
b4cda39134 Made encoding into a feature as encode. 2014-11-30 03:30:10 -05:00
Aaron Weiss
7b22fada51 Fixed SSL feature compilation. 2014-11-30 01:32:53 -05:00
Aaron Weiss
098f9dbbff Added support for non-unicode encodings. 2014-11-30 01:29:38 -05:00
Aaron Weiss
73fe293659 Added method to get options from Config options map. 2014-11-29 05:49:20 -05:00
Aaron Weiss
41c824ce47 Unused timeout variable is now unbound in connect_ssl_internal when
compiled without SSL support.
2014-11-29 04:57:38 -05:00
Aaron Weiss
575d37525a Fixed SSL timeout implementation. 2014-11-29 04:57:01 -05:00
Aaron Weiss
ebab05a6b8 Added the ability to set timeouts for live connections. 2014-11-29 04:52:50 -05:00
Aaron Weiss
74528c9d4c Added note in documentation about Wrappers not being thread-safe
currently.
2014-11-29 03:02:11 -05:00
Aaron Weiss
b199480025 Updated reference in Wrapper for RFC 248. 2014-11-29 02:58:05 -05:00
Aaron Weiss
d7517c9666 Updated license in lib.rs 2014-11-29 00:33:22 -05:00
Aaron Weiss
308a506d8f Stability annotations for user. 2014-11-29 00:32:35 -05:00
Aaron Weiss
7ee83a9b2d Added extra unit tests to User. 2014-11-28 17:12:02 -05:00
Aaron Weiss
ca3d52201d The nickname of Users is now accessible. 2014-11-28 16:47:29 -05:00
Aaron Weiss
09fa19a3d0 Collapsed feature attribute into one line. 2014-11-22 04:15:38 -05:00
Aaron Weiss
2ab1f65e1f Added send_notice(...) to Wrappers. 2014-11-19 22:02:52 -05:00
Aaron Weiss
b1a29523cd Reformatted code, and fixed compilation of tests for enum changes. 2014-11-18 19:15:29 -05:00
Aaron Weiss
18646ae291 Updated library for changes to enumerations. 2014-11-18 19:00:18 -05:00
Aaron Weiss
df0f05f4be Removed more unnecessary lifetime annotations. 2014-11-13 21:20:24 -05:00
Aaron Weiss
7c6843052f Removed unnecessary explicit lifetimes from IrcServer. 2014-11-13 21:18:23 -05:00
Aaron Weiss
dd6b6eebd3 Completed channel user list tracking. 2014-11-12 00:51:40 -05:00
Aaron Weiss
4e40fd8218 Started working on user tracking, but it's currently very broken. 2014-11-11 01:24:01 -05:00
Aaron Weiss
3f0c3ba175 Made documentation improvements. 2014-11-08 23:21:55 -05:00
Aaron Weiss
95234df31f Refactored library to be Stream-based, added a wrapper to create streams out of Buffers and Writers, and completed SSL support. 2014-11-08 23:07:57 -05:00
Aaron Weiss
a903dd9571 Added SSL support, but it's broken because of the duplicate SslStream creations. 2014-11-08 17:35:19 -05:00
Aaron Weiss
09f426cad5 Added unit tests for wrapper functionality. 2014-11-07 12:36:51 -05:00
Aaron Weiss
7d53e298ca Added license attribute to lib.rs. 2014-11-06 21:38:37 -05:00
Aaron Weiss
442115330e Refactored Command::from_message(...) to be more easily understood. 2014-11-06 20:54:51 -05:00
Aaron Weiss
2b7129c74a Rustdoc comments now end consistently in periods. 2014-11-06 15:23:02 -05:00
Aaron Weiss
8d37f71c3a Updated connect(...) with API changes for TcpStream. 2014-11-06 15:12:57 -05:00
Aaron Weiss
f229f4ebaf IrcServer::from_connection(...) no longer returns an IoResult. 2014-11-06 15:07:02 -05:00
Aaron Weiss
544ea11ab7 Added more unit tests for server. 2014-11-06 15:05:00 -05:00
Aaron Weiss
14f8f09374 Added iterator unit test and fixed a bug where parsing messages without suffixes caused them to incorrectly include a new line in their last argument. 2014-11-06 14:29:14 -05:00
Aaron Weiss
165e7969db Added some basic tests to newly redesigned library. Test coverage is still less than satisfactory. 2014-11-05 01:45:17 -05:00
Aaron Weiss
503f14ea5a Added more functionality to Wrapper. 2014-11-04 14:26:24 -05:00
Aaron Weiss
1f888281b0 Added exports to data module. 2014-11-03 16:41:30 -05:00
Aaron Weiss
6db71ded01 Provided access to internal connections where needed, and added multi-line support to send_privmsg(...). 2014-11-03 14:12:23 -05:00
Aaron Weiss
25532d145e Removed lifetime requirements from send_samode. 2014-11-03 13:51:21 -05:00
Aaron Weiss
039049ab32 Added documentation for Wrapper and utility functions. 2014-11-03 04:19:12 -05:00
Aaron Weiss
b3e0e2ea08 Refactored utilities into a Server Wrapper that provides added functionality. 2014-11-03 04:15:03 -05:00
Aaron Weiss
f0e3db4ce6 Added additional utilities. 2014-11-03 03:47:08 -05:00
Aaron Weiss
c7a0d4b83d Implemented join on connection. 2014-11-03 03:11:14 -05:00
Aaron Weiss
cd52c5b6a4 Messages now properly end with new-lines. 2014-11-03 03:02:35 -05:00
Aaron Weiss
16f29f179a Added basic message handling, and fixed a bug in message parsing. 2014-11-03 02:54:40 -05:00
Aaron Weiss
4479c59e79 Fixed bug with Message parsing causing suffixes to include colon prefix. 2014-11-03 02:42:06 -05:00
Aaron Weiss
c8dc582fd1 Fixed bug with message parsing, and updated example. 2014-11-03 02:30:58 -05:00
Aaron Weiss
c20038951e Added simple example, and changed how IrcServer creation works. 2014-11-03 02:11:51 -05:00
Aaron Weiss
42b4dcbf03 Added identify(...) utility, and clarified intent in some places using match. 2014-11-03 02:02:29 -05:00
Aaron Weiss
4d7c2065e9 Added FIXME to from_message(...) with details on how to rewrite it. 2014-11-03 01:47:36 -05:00
Aaron Weiss
25d4585fbc Commands now uses slices. 2014-11-03 01:45:00 -05:00
Aaron Weiss
fbcc3021a8 Added server utils module to hold shortcuts and the like. 2014-11-03 00:55:56 -05:00
Aaron Weiss
5bbde7e96c Added documentation everywhere. 2014-11-03 00:52:15 -05:00
Aaron Weiss
63f4ca5097 Implemented complete RFC 2812 as Commands. 2014-11-03 00:08:40 -05:00
Aaron Weiss
2e2d411907 Added Server trait and implemented basic Server functionality for IrcServer. 2014-11-02 18:39:00 -05:00
Aaron Weiss
4df7be1662 Added Config implementation. 2014-11-02 18:16:49 -05:00
Aaron Weiss
d97035cca9 Implemented ServerIterator and message parsing. 2014-11-02 18:08:56 -05:00
Aaron Weiss
6da40f2ad3 Implemented thread-safe Connection. 2014-11-02 17:25:45 -05:00
Aaron Weiss
b2006d044d Laid out basic structure of rewritten library. 2014-11-02 16:25:57 -05:00
Aaron Weiss
91aa5bcc6f Refactored for iterators. 2014-11-02 16:16:58 -05:00
Aaron Weiss
0ad276fdae Added load_utf8 to Config and load takes a Path. 2014-11-02 13:47:22 -05:00
Aaron Weiss
f8a6987fcf Config::load(...) now takes the path to the configuration file. 2014-11-02 13:32:02 -05:00
Aaron Weiss
aa6ff176f2 Added a bot constructor that takes an already-made configuration file. 2014-11-02 13:01:02 -05:00
Aaron Weiss
f174d17e4b handle_command(...) now calls the user's hook for all messages. 2014-10-29 17:02:06 -04:00
Aaron Weiss
3ee6ec76f1 Made colon before last argument optional depending on message type. 2014-10-29 03:43:15 -04:00
Aaron Weiss
445cfb1405 Added SAMODE with associated unit test. 2014-10-29 01:36:34 -04:00
Aaron Weiss
56ca5379e1 Added send_kill(...) and associated unit test. 2014-10-29 00:52:52 -04:00
Aaron Weiss
aad1d52b59 Added unit test for send_sanick(...). 2014-10-29 00:48:56 -04:00
Aaron Weiss
8924e4e578 Added send_sanick(...). 2014-10-29 00:47:39 -04:00
Aaron Weiss
803e1e8ff4 Added send_oper(...) to allow bots to oper up. 2014-10-29 00:17:49 -04:00
Aaron Weiss
7f67bd2905 Added options hashmap to config for custom bot configuration. 2014-10-29 00:13:18 -04:00
Aaron Weiss
f185106e08 Fixed a bug causing failure when user strings are empty. 2014-10-27 12:53:20 -04:00
Aaron Weiss
e48aca279d Simplified code with new syntax. 2014-10-27 00:44:17 -04:00
Aaron Weiss
35af08ef7c Removed unnecessary swearing. 2014-10-27 00:34:56 -04:00
Aaron Weiss
c669d44f15 User tracking keeps proper track of user rank now. 2014-10-27 00:33:17 -04:00
Aaron Weiss
729ff3874c Updated tests to make them more debuggable. 2014-10-26 23:47:00 -04:00
Aaron Weiss
f0bd2b99f1 Added kick command. 2014-10-26 23:29:31 -04:00
Aaron Weiss
d719cc006b send_privmsg(...) now supports multiline messages. 2014-10-20 03:47:46 -04:00
Aaron Weiss
f43634f58e Removed useless lifetime parameter from Bot trait. 2014-10-20 02:34:58 -04:00
Aaron Weiss
67a087cab3 Simplified connection tests a bit. 2014-10-10 13:20:37 -04:00
Aaron Weiss
6d5144c109 Simplified bot unit tests where possible. 2014-10-09 14:37:59 -04:00
Aaron Weiss
6261449e97 Added tests for the user tracking system. 2014-10-09 14:32:06 -04:00
Aaron Weiss
d6921eae74 Added tests of some of the handle_command(...) functionality. 2014-10-09 03:26:16 -04:00
Aaron Weiss
fb8081cf77 output(...) now returns an Err(...) if it fails to parse a line. 2014-10-08 22:29:41 -04:00
Aaron Weiss
21136c4ec2 Added unit test for identify(). 2014-10-08 22:20:50 -04:00
Aaron Weiss
6fcf3e2fc6 Implemented unit tests for the remainder of the send_* methods. 2014-10-08 22:17:39 -04:00
Aaron Weiss
a7d3a565b8 Added some unit tests for IrcBot, along with required changes to Connection. 2014-10-08 22:09:35 -04:00
Aaron Weiss
31e633763b Added unit tests for Connections and caught an inconsistency from the spec. 2014-10-08 21:33:20 -04:00
Aaron Weiss
f6915e2e53 Connections now support non-cloneable Readers (read: all of them). Thanks, @retep998. 2014-10-08 20:57:23 -04:00
Aaron Weiss
7efe3f3fdf Added some basic data tests. 2014-10-08 18:08:29 -04:00
Aaron Weiss
afa1fccff7 Modularized tests. 2014-10-08 16:11:20 -04:00
Aaron Weiss
57df922054 Moved IrcBot implementation to bot.rs. 2014-10-08 16:08:15 -04:00
Aaron Weiss
bb58dac93c Added from_connection(...) to make an IrcBot from any arbitrary connection. 2014-10-08 14:08:27 -04:00
Aaron Weiss
af1f8ecf14 config(...) returns a reference instead of a copy of the value. 2014-10-08 13:50:54 -04:00