10 Commits

Author SHA1 Message Date
Adrian Malacoda
fd1aecf4d3 add support for "general" config in the module loader. The "general" config is found under the "general" heading and is passed to each module constructor. 2017-02-26 02:44:53 -06:00
Adrian Malacoda
d9ab75a607 Initial implementation of lua module. 2017-02-26 02:10:28 -06:00
Adrian Malacoda
41fa36cccf Transmit selfjoin event on connect 2017-02-25 23:52:43 -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
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
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
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
0a51c7294f rename plugin -> module 2017-02-16 01:05:33 -06:00