37 Commits

Author SHA1 Message Date
Adrian Malacoda
41fa36cccf Transmit selfjoin event on connect 2017-02-25 23:52:43 -06:00
Adrian Malacoda
109a9131f0 Parse loglevel from environment variable 2017-02-25 23:52:31 -06:00
Adrian Malacoda
709eff63e0 add timestamp to log message 2017-02-25 23:34:01 -06:00
Adrian Malacoda
57b52772f5 set default loglevel to info 2017-02-25 23:25:09 -06:00
Adrian Malacoda
8dad1fc4aa Do not send events to their originators, or to any event not specified in the "to" list. 2017-02-25 21:31:32 -06:00
Adrian Malacoda
1fbba2554d replace Sender with ExtSender from transformable_channels. Now we can tag each outgoing envelope with the name of its sender 2017-02-25 21:11:25 -06:00
Adrian Malacoda
544974117f rename various sender/receiver variables to be clearer 2017-02-25 20:38:09 -06:00
Adrian Malacoda
4d5a412395 we're sending Envelope and transmitting Arc<Envelope>, since we're wrapping the Envelope in an Arc to transmit it, we (probably) don't need to wrap the Event in an Arc too 2017-02-25 20:33:47 -06:00
Adrian Malacoda
f22e4755d3 remove unused variable 2017-02-25 20:20:01 -06:00
Adrian Malacoda
37a9645f5b Simplify module trait by combining produce/consume event methods into a single run method that runs in the module's own thread and can produce and/or consume events. Introduce an Envelope struct that encapsulates event + to/from so we can (eventually) tag every event and also limit where events are sent (e.g. you can have a specific module configured to talk or listen only to a certain other module). 2017-02-25 20:17:46 -06:00
Adrian Malacoda
442b617f31 now with amazing echobox powers 2017-02-22 23:40:30 -06:00
Adrian Malacoda
2c893926c3 can finally commit more helpful example config 2017-02-20 15:11:13 -06:00
Adrian Malacoda
96bc25234e more event types 2017-02-19 18:21:11 -06:00
Adrian Malacoda
ce35368676 tag senders/receivers with module names so we can eventually associate individual events to module names 2017-02-19 17:31:37 -06:00
Adrian Malacoda
0f945ec604 create a dedicated Message struct and implement reply(&str) on there, since it seems to be a commonly used thing. Begin implementing helpers for command parsing. 2017-02-19 05:37:56 -06:00
Adrian Malacoda
b9d5b7916c cleanup 2017-02-19 05:06:55 -06:00
Adrian Malacoda
9b00500a77 pvn dependency 2017-02-19 04:49:26 -06:00
Adrian Malacoda
c5a88b8405 initial pvn module implementation 2017-02-19 04:49:06 -06:00
Adrian Malacoda
84d2921f8f send/receive Arc<Event> instead of Event so we don't have to clone objects all over the place. This might also enable us to be a bit more flexible with what we send with Events, and might simplify things elsewhere. 2017-02-19 02:55:30 -06:00
Adrian Malacoda
1a69349557 Add ability to specify the "playing" status string (with tenquestionmarks default) 2017-02-17 02:44:00 -06:00
Adrian Malacoda
5fc231eec6 Add logging 2017-02-17 02:38:15 -06:00
Adrian Malacoda
166805d1c2 actually add random module 2017-02-16 13:00:17 -06:00
Adrian Malacoda
26e56ebee9 Add random response module 2017-02-16 02:00:38 -06:00
Adrian Malacoda
2c87c586e2 Remove hello module 2017-02-16 01:07:19 -06:00
Adrian Malacoda
0a51c7294f rename plugin -> module 2017-02-16 01:05:33 -06:00
Adrian Malacoda
bdee07143b finally a working implementation of Discord sender 2017-02-16 00:27:53 -06:00
Adrian Malacoda
7581521b61 try arc instead of box 2017-02-16 00:16:48 -06:00
Adrian Malacoda
b238b98b82 start actually implementing discord plugin 2017-02-15 23:45:14 -06:00
Adrian Malacoda
66180578d6 alternate implementation using Box<MessageSender> and clone 2017-02-15 23:41:29 -06:00
Adrian Malacoda
5b9f1610dd attempt to flesh out send support for channel/message. Currently does not build 2017-02-15 22:41:52 -06:00
Adrian Malacoda
d414e65fd9 begin fleshing out discord module. Implement sender/channel as struct for now, there might be a performance hit from copying so much data around but we can look at optimization later 2017-02-13 22:13:33 -06:00
Adrian Malacoda
6424a7a37f Remove unused imports, stub out send() for user and channel. 2017-02-13 21:44:37 -06:00
Adrian Malacoda
9bb6887bed make plugin produce/consume events api symmetrical 2017-02-13 00:55:30 -06:00
Adrian Malacoda
edef05d123 actually write somewhat of a readme 2017-02-13 00:27:02 -06:00
Adrian Malacoda
26a6b77632 Flesh out plugins event handling, add example stdin plugin (event producer) and echo plugin (event consumer). Next step: fleshing out user/channel structs 2017-02-13 00:22:06 -06:00
Adrian Malacoda
a31b060dd3 Beginning of rust implementation for tenquestionmarks. 2017-02-08 03:25:03 -06:00
Adrian Malacoda
a3bed71cdd Initial commit 2017-02-04 21:11:19 -06:00