Commit Graph

176 Commits

Author SHA1 Message Date
Derek 33fd5957ca [plugins] `set` can now make whole objects 2024-11-16 13:27:46 -05:00
Derek 711b1a46e9 [core] Global context get! 2024-11-16 13:27:17 -05:00
Derek 00bc1ff061 [plugins] Refactor: execute_kdl handles the whole block (list of nodes) 2024-11-16 13:26:55 -05:00
Derek c03459c7ae [plugins] Add close method (so that you dont have to overwrite __del__) 2024-11-03 20:54:25 -05:00
Derek 2458a6a138 [plugins] Add simple OSC control 2024-10-30 22:16:41 -04:00
Derek d257d63cab [plugins/Midi] Expand to (more or less) full midi IO 2024-10-30 22:14:30 -04:00
Derek 0cbd64fbb7 [core] Allow alias and subroutine syntax (alias:cmd.sub.routine)
This removes the need for the hacky `chat "Module:alias"` and `remeber` 
config! It is pretty hacky on its own, though. This should really be a 
terse script shouldnt it
2024-10-29 21:50:40 -04:00
Derek f8ba3ca698 pipenv -> PDM
Offers a much quicker and more consistent install experience.
Also has build tooling which will help us later!!
2023-09-08 12:01:18 -04:00
Derek b6a7e4f6b5 [plugin] Add new `log` builtin
Used for spitting data out to the log from your config! Useful for debugging or testing
complicated configurations
2023-09-01 16:26:09 -04:00
Derek 41383b0885 [core] Hide warnings when not in debug mode
This is mainly for async task awaiting warnings - in some cases, not awaiting
a task is expected behavior!!!
2023-09-01 16:26:09 -04:00
Derek e7d16f44f4 [plugins/Cue] [Breaking!] Simplified syntax, better accuracy, and cancellation, oh my!
Simplified syntax: `cue` no longer requires sub-nodes - simply specify `at` or your
interval options on the cue node itself, and set `repeat` to a boolean (previously done via using the `every` subnode vs `once`)

Better accuracy: scheduler now runs outside of tick, allowing sub-second accuracy in
ideal environments. This is still a long way from a proper realtime solution -
queuing is merely asyncio's best-effort, accuracy may vary wildly depending on load!

Cancelation: passing a string as the first argument to cue will give the event a name,
which can be used by a later call to set the event as enabled or disabled.
Additionally, toggling this flag / redefining a named cue will reschedule it if it is
an interval, which you can use to create timeout behaviors!
2023-09-01 16:26:09 -04:00
Derek 2ab370d4a0 [core] Fix (arg) type 2023-09-01 13:55:22 -04:00
Derek ebf3e4d19b [plugins/scene] Add better error handling 2023-08-25 03:51:14 -04:00
Derek ea5fef9321 [core] Improve traceback logging 2023-08-25 03:50:58 -04:00
Derek 3e5e7dd08a [cli] Hide filename and lineno when not in debug mode 2023-08-25 03:37:09 -04:00
Derek c18e47aec2 [plugins/remember] Alternate usage available - set
Allows for directly setting data in the context

With this and the (eval) type, i think config is now turing complete. 
lmao
2023-08-25 03:33:01 -04:00
Derek d21238282c [plugin/scene] Switch context from caller to entry (definition scope)
Caller context is still available via caller_ctx
2023-08-25 03:33:01 -04:00
Derek b7abd2941c [core] [Breaking!] Improvements to config parsing, `eval` kdl type
Added "eval" kdl type for direct python statement execution.
Use like (eval)"1 + 1", (eval)"upper(ctx['data'])", or commit crimes like (eval)"ctx['some_function']()"

"call_plugin_from_kdl" renamed "execute_kdl"

Custom classes are now passed for dynamic parameters, but are still
transparently computed when using execute_kdl - you should only see
these when manually parsing _children, in which case, you can use
"core.Config.compute_dynamic" to deal with them!
2023-08-25 03:31:52 -04:00
Derek fe60c07f1a [plugins/scene] Fix execution order, improve UI 2023-08-24 23:11:26 -04:00
Derek d1d8611c68 [core/Clip] Fix waiting for sounds for non-async usage 2023-08-24 22:41:34 -04:00
Derek 91b8191c0e [plugins] New builtin - scene 2023-08-24 16:55:31 -04:00
Derek a3a3e3a375 [core] Allow builtin plugins to use quart 2023-08-24 16:54:03 -04:00
Derek bca46225a1 [core] Fix crash when config contains plugins
oops
2023-08-24 16:53:31 -04:00
Derek 311e01bf56 [core] Use alternative jinja markers buildless framework compat 2023-08-22 12:00:50 -04:00
Derek 0444a214e1 [core] Fix warm reload when chats are present
Dunno what fuckery hypercorn is up to beneath the sheets and i do NOT want to find out
2023-08-22 10:29:47 -04:00
Derek 2662634723 [core] Add EVBUS global to UI webserver template engine 2023-08-14 11:19:34 -04:00
Derek 36c2873532 [core] Re-organize 2023-08-14 11:19:34 -04:00
Derek 272532b389 [core] Additional warm reload logic + allow loading external plugins
The way we load external plugins is by providing a path to the
module folder (which as usual should have a "Plugin" attribute).
This is a bit silly, and doesnt fully manage our issues with, say,
dependencies, but is a step in the right direction maybe?
2023-08-14 11:18:15 -04:00
Derek bd45b8684b [core] Add initial reloading support
Currently "warm" reloading (system will drop messages / connections)
2023-08-11 15:59:29 -04:00
Derek 4efa4b25c9 [plugin] Fix blueprint system 2023-08-08 12:22:32 -04:00
Derek ee2267709c [core] Minor initalization improvements, add web ui listen customization 2023-08-08 12:21:14 -04:00
Derek 402227f731 [Misskey] Fix null text 2023-07-15 08:29:33 -04:00
Derek f6e4e24c51 Fix dependency locking
Move a few off of git as the appropriate fixes are upstreamed now, and 
makes minor changes to facilitate using those versions
2023-07-15 08:26:59 -04:00
Derek 4887f47647 [CLI] Add support for monitization in Message creator 2023-01-18 18:53:53 -05:00
Derek 8243ac4a3a [Core] Fix trigger monitization bug 2023-01-18 18:53:11 -05:00
Derek 198317a7e1 [CLI] Better subscription event gen 2022-12-05 18:11:49 -05:00
Derek 66de3e6d93 [Chat] Twitch: handle IRC connection better 2022-12-05 18:10:41 -05:00
Derek f10ad13982 [Chat] Twitch: Make eventsub optional 2022-12-05 18:10:09 -05:00
Derek cfd1422113 [Plugin] Allow trigger to check event value 2022-12-05 18:09:34 -05:00
Derek b15d52011b [Core] Integrate clip into core 2022-12-05 18:09:02 -05:00
Derek e0add05b2f Fix Jail plugin 2022-11-17 17:45:46 -05:00
Derek 7ae9f26930 [Chat] Support WIP peertube chat
With an equally WIP module~
2022-11-17 17:34:02 -05:00
Derek 65d724ae41 Fix readme links 2022-07-12 04:21:23 -04:00
Derek 67c244b556 Vtopia sauce 2022-07-12 04:20:03 -04:00
Derek 5d4ce64198 Readme streamline 2 2022-07-12 04:19:01 -04:00
Derek 3ddde90420 Streamline readme and config for first-time users 2022-07-12 03:33:06 -04:00
Derek 318fd4858c [Plugin] Add non-fatal plugin errors 2022-07-12 00:33:29 -04:00
Derek 500f0a0773 Even more readme (i should proofread sometimes) 2022-07-10 23:30:43 -04:00
Derek b5a72d4f3d Smol readme update 2022-07-10 23:24:50 -04:00
Derek 79b1158c3c [Core] User friendlyness update~
+ You no longer need to ctrl+c twice
+ A few common crashes have better errors
+ A readme thats actually useful
+ KDL arg types now strictly use getitem
2022-07-10 23:09:53 -04:00