Commit Graph

  • 496ba89d94 Temporarily disable modules that no longer work. ssl_update Captain Beyond 2023-03-13 00:21:50 -05:00
  • ae9945403f add cat and dog modules Adrian Malacoda 2018-05-12 02:11:23 -05:00
  • 3a06d98247 increment version Adrian Malacoda 2018-05-12 01:37:20 -05:00
  • 9052a3b26b add method to get vec from config Adrian Malacoda 2018-05-12 00:41:04 -05:00
  • 4bfe6e2aec initial attempt at limiting to guilds Adrian Malacoda 2018-05-12 00:37:03 -05:00
  • a698450c1e add ability to specify a list of guilds for discord module. Intent is to be able to filter events to specific guilds. Adrian Malacoda 2018-05-12 00:28:39 -05:00
  • 0d4718c3f3 add a helper trait that extends Table for more convenient value retrieval Adrian Malacoda 2018-05-12 00:11:44 -05:00
  • cbf1688bdd make autolink pattern configurable Adrian Malacoda 2018-05-11 23:57:22 -05:00
  • 138e4edc08 add configuration option for autolink searcher Adrian Malacoda 2018-05-11 22:04:45 -05:00
  • 5fb167a8d0 add $sender variable to random response module Adrian Malacoda 2018-05-06 04:19:54 -05:00
  • 9271c39ce2 update irc module Adrian Malacoda 2018-05-06 04:03:37 -05:00
  • 4e6d648d18 fix autolink to use scryfall data type Adrian Malacoda 2018-05-06 03:55:14 -05:00
  • 1c870b58e4 update dependencies Adrian Malacoda 2018-05-06 03:44:43 -05:00
  • 45031b505f fix get_weekday() to return a better value master Adrian Malacoda 2018-04-30 10:30:48 -05:00
  • c2a8d5b938 use ipairs Adrian Malacoda 2018-04-29 20:35:28 -05:00
  • a65c36ad9b dailies 1.1 Adrian Malacoda 2018-04-29 17:47:25 -05:00
  • af59c8d360 fix typo Adrian Malacoda 2018-04-29 17:47:17 -05:00
  • 2414eefc5f add yugipedia searcher Adrian Malacoda 2018-04-29 16:23:33 -05:00
  • fb4e741386 fix issue where current_time was being reused Adrian Malacoda 2018-02-27 08:10:23 -06:00
  • 4ad7c33727 add lua module for sending a message on a certain day of the week Adrian Malacoda 2018-02-26 23:34:53 -06:00
  • 4e8e290730 allow discord channel id to have a # in front. This is mainly to work around a problem in the lua module where a string channel id becomes a float and loses precision, but to also allow for a use case where we allow channel names and not just ids. Adrian Malacoda 2018-02-26 23:34:30 -06:00
  • 80bcfe0580 initial stab at LuaPush implementation, doesn't currently work right now though. Also don't set type as that is a lua builtin. Adrian Malacoda 2018-02-26 23:31:17 -06:00
  • 44b6eecd70 make it possible to execute an lua file and code block in the same module Adrian Malacoda 2018-02-25 22:49:18 -06:00
  • fec6f7f274 beef up stdin module too. This can serve two purposes, to test/interact with other modules (e.g. like a one-person chatroom) or to bridge to irc/discord. Adrian Malacoda 2018-02-25 07:28:40 -06:00
  • b0c2928e78 beefed up lua scripting support, the message is now presented as a table/struct/object and lua now has access to a sender object which it can use to send messages downstream. Adrian Malacoda 2018-02-25 07:04:47 -06:00
  • c6dc3f15b8 add a rudimentary irc module Adrian Malacoda 2018-02-25 04:47:04 -06:00
  • 906b5709d0 expand on readme Adrian Malacoda 2018-02-25 03:09:53 -06:00
  • c0ee8b4d6d actually implement config reloading using notify Adrian Malacoda 2018-02-25 02:52:40 -06:00
  • 6fe20b8b86 reimplement reconfigure as an event that is transmitted to all modules whenever the config file changes. THis allows reconfiguration to be done in a threadsafe and relatively simple way. Adrian Malacoda 2018-02-25 02:33:04 -06:00
  • 9295b603aa expose a sender on the Module so we can send events directly to the module Adrian Malacoda 2018-02-25 02:20:26 -06:00
  • 6acffb59cc stub out config reloader thread, not currently functional Adrian Malacoda 2018-02-24 19:13:09 -06:00
  • a01ad46efa make it (theoretically) possible to reconfigure a module. Might have some sort of file watcher thread which periodically checks to see if config file has been modified and reconfigures if necessary. Adrian Malacoda 2018-02-24 18:54:44 -06:00
  • d9cfab7081 split off event filtering into own module Adrian Malacoda 2018-02-23 00:08:13 -06:00
  • 72eadd4549 add more events, dry up event filter code Adrian Malacoda 2018-02-23 00:03:05 -06:00
  • 93ee23c831 give the discord module the ability to recieve events and transmit messages Adrian Malacoda 2018-02-22 23:43:46 -06:00
  • a37b6ab627 increment version Adrian Malacoda 2018-02-22 21:44:40 -06:00
  • 69c16ccd5f example of trout slap command Adrian Malacoda 2018-02-22 20:55:38 -06:00
  • c774988fc9 overhaul random module to use regex instead of prefix match Adrian Malacoda 2018-02-22 20:52:47 -06:00
  • 240fb7f70e rules is now Optional Adrian Malacoda 2018-02-22 03:19:05 -06:00
  • 42fc884a58 add bulbapedia autolinker Adrian Malacoda 2018-02-22 03:14:21 -06:00
  • 6446bb87db there was a better way to do it Adrian Malacoda 2018-02-22 03:13:03 -06:00
  • bcbc14ed17 implement a simple cache for autolink module Adrian Malacoda 2018-02-22 03:07:27 -06:00
  • ca6f3391d4 simplify even more; just return an EventLoop (will probably be renamed something like Handler) Adrian Malacoda 2018-02-22 02:50:49 -06:00
  • 5c87b9001a simplify Envelope type, just have event loop threads generate Events which are then wrapped by Envelopes transparently Adrian Malacoda 2018-02-22 02:40:22 -06:00
  • 055a323d64 simplify loops, less work done in dispatcher thread Adrian Malacoda 2018-02-22 02:30:54 -06:00
  • 56ca5ae767 move to a model of one thread per dispatcher, instead of one main thread Adrian Malacoda 2018-02-22 02:04:09 -06:00
  • fcc86a671e rearchitect event transmission so that the parents/children of each module are explicitly specified and we establish the linkages between them Adrian Malacoda 2018-02-22 01:09:39 -06:00
  • 3614c7eb5d update all dependencies to latest version. Need to wait for discord-rs to update though Adrian Malacoda 2018-02-18 16:29:30 -06:00
  • 0b289b6956 prefer if let where possible, removes empty blocks and reduces nesting Adrian Malacoda 2017-05-17 21:23:00 -05:00
  • c69cc61114 prefer if let when possible Adrian Malacoda 2017-05-16 21:35:05 -05:00
  • 25d247f299 New filters implementation. "tags" are removed and replaced with an implementation that filters directly on the event, using an object/map instead of strings. Adrian Malacoda 2017-05-11 01:29:33 -05:00
  • 8cd8756722 add todo Adrian Malacoda 2017-05-10 02:28:04 -05:00
  • 97cc215f05 more tags Adrian Malacoda 2017-05-10 02:16:05 -05:00
  • 2c0e5170f4 properly implement discord channels, dry up code Adrian Malacoda 2017-05-10 02:13:56 -05:00
  • bb25846566 Add GCL to interwiki list Adrian Malacoda 2017-05-10 01:16:04 -05:00
  • 495e3129d4 split logic for filtering out events into Subscription struct Adrian Malacoda 2017-05-10 01:13:52 -05:00
  • 7c26e0294a Add tag filters. This is a primitive way to screen out events that do not match a certain criteria (e.g. from user Dave) Adrian Malacoda 2017-05-10 00:17:22 -05:00
  • 6dda3e227f add "Logger" module which logs all received events Adrian Malacoda 2017-05-09 23:39:21 -05:00
  • 2baffdacd3 implement Debug for all structs, provide implementation for message senders Adrian Malacoda 2017-05-09 23:36:56 -05:00
  • e8b944b836 implement run() which just forwards to event loop Adrian Malacoda 2017-05-09 22:48:04 -05:00
  • 9e9da11f79 begin tenquestionmarks 0.0.2. Separate Module trait into Module struct (which holds metadata and config about the module) and EventLoop trait, which implements the event loop. The constructors still return Modules, but they are structs and not boxes. Adrian Malacoda 2017-05-09 22:44:33 -05:00
  • 23e32f28fe update to discord 0.8.0 Adrian Malacoda 2017-05-09 19:50:33 -05:00
  • 21b312543b yugioh rules text shouldn't be bolded Adrian Malacoda 2017-03-12 18:58:20 -05:00
  • 33e83d63d9 expand on mtg/ygo autolink Adrian Malacoda 2017-03-12 18:48:34 -05:00
  • 4888029aff Data YES (thanks Ikewise) Adrian Malacoda 2017-03-05 17:18:00 +00:00
  • 9112b4ada6 add some yeses to balance out the nos Adrian Malacoda 2017-03-05 05:29:26 +00:00
  • 8c57bd6eb7 initial working implementation of autolink module Adrian Malacoda 2017-02-26 18:05:45 -06:00
  • 5551ebd552 WIP for autolinker module. Currently can't use stc and tqm together because of conflicting dependencies, so this is a placeholder. Adrian Malacoda 2017-02-26 17:17:22 -06:00
  • a7b9d801a1 Require echobox to have a parameter Adrian Malacoda 2017-02-26 03:05:40 -06:00
  • 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. Adrian Malacoda 2017-02-26 02:44:53 -06:00
  • 0a45cbb9f2 "general" as a header is reserved Adrian Malacoda 2017-02-26 02:19:46 -06:00
  • d9ab75a607 Initial implementation of lua module. Adrian Malacoda 2017-02-26 02:10:28 -06:00
  • 41fa36cccf Transmit selfjoin event on connect Adrian Malacoda 2017-02-25 23:52:43 -06:00
  • 109a9131f0 Parse loglevel from environment variable Adrian Malacoda 2017-02-25 23:52:31 -06:00
  • 709eff63e0 add timestamp to log message Adrian Malacoda 2017-02-25 23:34:01 -06:00
  • 57b52772f5 set default loglevel to info Adrian Malacoda 2017-02-25 23:25:09 -06:00
  • 8dad1fc4aa Do not send events to their originators, or to any event not specified in the "to" list. Adrian Malacoda 2017-02-25 21:31:32 -06:00
  • 1fbba2554d replace Sender with ExtSender from transformable_channels. Now we can tag each outgoing envelope with the name of its sender Adrian Malacoda 2017-02-25 21:11:25 -06:00
  • 544974117f rename various sender/receiver variables to be clearer Adrian Malacoda 2017-02-25 20:38:09 -06:00
  • 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 Adrian Malacoda 2017-02-25 20:33:47 -06:00
  • f22e4755d3 remove unused variable Adrian Malacoda 2017-02-25 20:20:01 -06:00
  • 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). Adrian Malacoda 2017-02-25 20:17:46 -06:00
  • 442b617f31 now with amazing echobox powers Adrian Malacoda 2017-02-22 23:40:30 -06:00
  • 2c893926c3 can finally commit more helpful example config Adrian Malacoda 2017-02-20 15:11:13 -06:00
  • 96bc25234e more event types Adrian Malacoda 2017-02-19 18:21:11 -06:00
  • ce35368676 tag senders/receivers with module names so we can eventually associate individual events to module names Adrian Malacoda 2017-02-19 17:31:37 -06:00
  • 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. Adrian Malacoda 2017-02-19 05:37:56 -06:00
  • b9d5b7916c cleanup Adrian Malacoda 2017-02-19 05:06:55 -06:00
  • 9b00500a77 pvn dependency Adrian Malacoda 2017-02-19 04:49:26 -06:00
  • c5a88b8405 initial pvn module implementation Adrian Malacoda 2017-02-19 04:49:06 -06:00
  • 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. Adrian Malacoda 2017-02-19 02:55:30 -06:00
  • 1a69349557 Add ability to specify the "playing" status string (with tenquestionmarks default) Adrian Malacoda 2017-02-17 02:44:00 -06:00
  • 5fc231eec6 Add logging Adrian Malacoda 2017-02-17 02:38:15 -06:00
  • 166805d1c2 actually add random module Adrian Malacoda 2017-02-16 13:00:17 -06:00
  • 26e56ebee9 Add random response module Adrian Malacoda 2017-02-16 02:00:38 -06:00
  • 2c87c586e2 Remove hello module Adrian Malacoda 2017-02-16 01:07:19 -06:00
  • 0a51c7294f rename plugin -> module Adrian Malacoda 2017-02-16 01:05:33 -06:00
  • bdee07143b finally a working implementation of Discord sender box_messagesender Adrian Malacoda 2017-02-16 00:27:53 -06:00
  • 7581521b61 try arc instead of box Adrian Malacoda 2017-02-16 00:16:48 -06:00
  • b238b98b82 start actually implementing discord plugin Adrian Malacoda 2017-02-15 23:45:14 -06:00