96 Commits

Author SHA1 Message Date
Adrian Malacoda
45031b505f fix get_weekday() to return a better value 2018-04-30 10:30:48 -05:00
Adrian Malacoda
c2a8d5b938 use ipairs 2018-04-29 20:35:28 -05:00
Adrian Malacoda
a65c36ad9b dailies 1.1 2018-04-29 17:47:25 -05:00
Adrian Malacoda
af59c8d360 fix typo 2018-04-29 17:47:17 -05:00
Adrian Malacoda
2414eefc5f add yugipedia searcher 2018-04-29 16:23:33 -05:00
Adrian Malacoda
fb4e741386 fix issue where current_time was being reused 2018-02-27 08:10:23 -06:00
Adrian Malacoda
4ad7c33727 add lua module for sending a message on a certain day of the week 2018-02-26 23:34:53 -06:00
Adrian Malacoda
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. 2018-02-26 23:34:30 -06:00
Adrian Malacoda
80bcfe0580 initial stab at LuaPush implementation, doesn't currently work right now though. Also don't set type as that is a lua builtin. 2018-02-26 23:31:17 -06:00
Adrian Malacoda
44b6eecd70 make it possible to execute an lua file and code block in the same module 2018-02-25 22:49:18 -06:00
Adrian Malacoda
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. 2018-02-25 07:28:40 -06:00
Adrian Malacoda
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. 2018-02-25 07:04:47 -06:00
Adrian Malacoda
c6dc3f15b8 add a rudimentary irc module 2018-02-25 04:47:04 -06:00
Adrian Malacoda
906b5709d0 expand on readme 2018-02-25 03:09:53 -06:00
Adrian Malacoda
c0ee8b4d6d actually implement config reloading using notify 2018-02-25 02:52:40 -06:00
Adrian Malacoda
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. 2018-02-25 02:33:04 -06:00
Adrian Malacoda
9295b603aa expose a sender on the Module so we can send events directly to the module 2018-02-25 02:20:26 -06:00
Adrian Malacoda
6acffb59cc stub out config reloader thread, not currently functional 2018-02-24 19:13:09 -06:00
Adrian Malacoda
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. 2018-02-24 18:54:44 -06:00
Adrian Malacoda
d9cfab7081 split off event filtering into own module 2018-02-23 00:08:13 -06:00
Adrian Malacoda
72eadd4549 add more events, dry up event filter code 2018-02-23 00:03:05 -06:00
Adrian Malacoda
93ee23c831 give the discord module the ability to recieve events and transmit messages 2018-02-22 23:43:46 -06:00
Adrian Malacoda
a37b6ab627 increment version 2018-02-22 21:44:40 -06:00
Adrian Malacoda
69c16ccd5f example of trout slap command 2018-02-22 20:55:38 -06:00
Adrian Malacoda
c774988fc9 overhaul random module to use regex instead of prefix match 2018-02-22 20:52:47 -06:00
Adrian Malacoda
240fb7f70e rules is now Optional 2018-02-22 03:19:05 -06:00
Adrian Malacoda
42fc884a58 add bulbapedia autolinker 2018-02-22 03:14:21 -06:00
Adrian Malacoda
6446bb87db there was a better way to do it 2018-02-22 03:13:03 -06:00
Adrian Malacoda
bcbc14ed17 implement a simple cache for autolink module 2018-02-22 03:07:27 -06:00
Adrian Malacoda
ca6f3391d4 simplify even more; just return an EventLoop (will probably be renamed something like Handler) 2018-02-22 02:50:49 -06:00
Adrian Malacoda
5c87b9001a simplify Envelope type, just have event loop threads generate Events which are then wrapped by Envelopes transparently 2018-02-22 02:40:22 -06:00
Adrian Malacoda
055a323d64 simplify loops, less work done in dispatcher thread 2018-02-22 02:30:54 -06:00
Adrian Malacoda
56ca5ae767 move to a model of one thread per dispatcher, instead of one main thread 2018-02-22 02:04:09 -06:00
Adrian Malacoda
fcc86a671e rearchitect event transmission so that the parents/children of each module are explicitly specified and we establish the linkages between them 2018-02-22 01:09:39 -06:00
Adrian Malacoda
3614c7eb5d update all dependencies to latest version. Need to wait for discord-rs to update though 2018-02-18 16:29:30 -06:00
Adrian Malacoda
0b289b6956 prefer if let where possible, removes empty blocks and reduces nesting 2017-05-17 21:23:00 -05:00
Adrian Malacoda
c69cc61114 prefer if let when possible 2017-05-16 21:35:05 -05:00
Adrian Malacoda
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. 2017-05-11 01:29:33 -05:00
Adrian Malacoda
8cd8756722 add todo 2017-05-10 02:28:04 -05:00
Adrian Malacoda
97cc215f05 more tags 2017-05-10 02:16:05 -05:00
Adrian Malacoda
2c0e5170f4 properly implement discord channels, dry up code 2017-05-10 02:13:56 -05:00
Adrian Malacoda
bb25846566 Add GCL to interwiki list 2017-05-10 01:16:04 -05:00
Adrian Malacoda
495e3129d4 split logic for filtering out events into Subscription struct 2017-05-10 01:13:52 -05:00
Adrian Malacoda
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) 2017-05-10 00:17:22 -05:00
Adrian Malacoda
6dda3e227f add "Logger" module which logs all received events 2017-05-09 23:39:21 -05:00
Adrian Malacoda
2baffdacd3 implement Debug for all structs, provide implementation for message senders 2017-05-09 23:36:56 -05:00
Adrian Malacoda
e8b944b836 implement run() which just forwards to event loop 2017-05-09 22:48:04 -05:00
Adrian Malacoda
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. 2017-05-09 22:44:33 -05:00
Adrian Malacoda
23e32f28fe update to discord 0.8.0 2017-05-09 19:50:33 -05:00
Adrian Malacoda
21b312543b yugioh rules text shouldn't be bolded 2017-03-12 18:58:20 -05:00