Commit Graph

85 Commits

Author SHA1 Message Date
Chris Sexton 748e39c290 wip 2021-12-20 23:31:19 -05:00
Chris Sexton fafbd2ce64 wip 2021-12-20 12:40:10 -05:00
Chris Sexton 373929646c history: record history in bot 2021-10-05 19:12:35 -04:00
Chris Sexton 7ba9d94ac2 counter: add api, bot: change routes
* many routes changed by adding the chi router
* counter has an authenticated API to increment and decrement
2021-07-28 11:41:01 -04:00
Chris Sexton c47a4f7c6f web: migrate endpoint registration to chi 2021-07-28 11:41:01 -04:00
Chris Sexton 31fe84b0ba apppass: add password generation page 2021-07-21 09:59:43 -04:00
Chris Sexton 4c669e520f last: create plugin 2021-04-27 12:45:52 -04:00
Chris Sexton 8cb6b485cb fact: refactor 2021-02-01 21:28:58 -05:00
Chris Sexton a6847a996f babbler: refactor 2021-02-01 10:48:06 -05:00
Chris Sexton 0e5f7eb2d5 newsbid: refactor 2021-01-31 18:24:42 -05:00
Chris Sexton aad4ecf143 bot: refactor callback handlers
New system:
* Each callback can filter for a regex
* Backwards compatability using a `.*` generic regex
* Handlers now accept a request object instead of bare arguments

All new plugins should use this new system.
2021-01-31 16:54:07 -05:00
Chris Sexton 1acb78bb5a bot: disable suffix commands 2021-01-09 17:27:52 -05:00
Chris Sexton bbf5b27790 web: remove go template dependency
All vue pages now request `/nav` to get a JSON array of navigation
instead of relying on the Go template to have the nav built in. This
cleans up all of the crufty `{{ "{{ thing }}" }}` that was making it
hard to wriet vue.

This also paves the way to using the new Go resource embedding so that
the pages don't need to be wrapped in Go files.
2021-01-09 13:46:28 -05:00
Chris Sexton c8d01029ea admin: enforce admin status of users 2020-10-09 13:14:25 -04:00
Chris Sexton 2fb84219a0 whitelist: add whitelist of plugins 2020-10-09 12:00:10 -04:00
Chris Sexton 7b3179fe1d beers: reorder checkin logic 2020-06-17 14:31:30 -04:00
Chris Sexton 12ca34006f bot: add ability to disable plugins per channel
admin: use 'enable/disable plugin <name>'
2020-06-09 13:52:23 -04:00
Chris Sexton cee267dbb8 admin: leave and come back 2020-04-29 17:48:55 -04:00
Chris Sexton 0b553da32d bot: respond to commands given by a message suffix 2020-04-21 16:54:03 -04:00
Chris Sexton b6a89ff06a web: use secret instead of human test
* Applies for services that modify data
* Anybody in the slack can ask for the daily secret
2019-06-13 10:04:06 -04:00
Chris Sexton 9ea45f0ad3 web: add a menu and redo index
We can add arbitrary links now with the `bot.links` config
2019-06-09 00:18:57 -04:00
Chris Sexton 20a56a4fcc web: small improvements 2019-05-27 22:16:35 -04:00
Chris Sexton 42f7f52bfb cli: make a new plugin 2019-05-27 19:23:05 -04:00
Chris Sexton a2d5d173f9 logging: switch to a logging library 2019-03-07 11:46:59 -05:00
Chris Sexton 47a824e8da remember: fixed something? It works now. 2019-02-15 14:54:14 -05:00
Chris Sexton a1e170aa40 slackApp: stop racing to serve on the http port 2019-02-07 14:45:59 -05:00
Chris Sexton a20839cdd7 bot: Invert RegisterWeb 2019-02-07 11:30:42 -05:00
Chris Sexton a25d7b9eff bot: get rid of a string
I introduced reflection earlier. I may as well go whole hog now.
2019-02-05 16:10:36 -05:00
Chris Sexton f661d7dca2 bot: update callback registry types
Unfortunately, we can't hash the plugins. I went ahead and hashed the
types instead.
2019-02-05 15:13:32 -05:00
Chris Sexton 933e514ddd bot: switch plugins to matching instance
instead of string
2019-02-05 13:58:12 -05:00
Chris Sexton 82dcf410f2 bot: hook connectors up to events
This includes a full test of `admin`
2019-02-05 13:42:15 -05:00
Chris Sexton d85c855d47 bot: rename a few things 2019-02-05 12:25:31 -05:00
Chris Sexton e7c88c0c9c events: refactor
Combining all of the various send/recv functions into one
2019-02-05 10:54:13 -05:00
Chris Sexton 0593b4f164 config: set some defaults 2019-01-21 19:16:57 -05:00
Chris Sexton 742c76f562 config: add defaults checking where necessary 2019-01-21 14:24:03 -05:00
Chris Sexton a8d0f3fd34 stats: remove unused plugin
config: checkpoint

config: checkpoint all but two tests passing

config: checkpoint all but one test suites pass
2019-01-21 12:36:56 -05:00
skkiesel 54b83cd444 listening to thread responses to rpg threads only 2017-10-31 14:14:45 -04:00
skkiesel d6c35b94ec cleanup! 2017-10-31 09:40:03 -04:00
Scott Kiesel 34e2404e8b hacked poc for edits as an animation mechanism 2017-10-31 06:22:36 -04:00
cws 9600e0dc63 inventory: initial sketch
Fixes #2
2017-09-29 00:58:21 -04:00
cws 755cfc38cd slack: mark channels read, keep a current marker 2017-07-25 13:58:04 -04:00
cwsexton 0badd5f2ce Add multiple command character support.
Now you can use ¡!
2016-09-27 12:42:00 -04:00
Chris Sexton 079c6ab2ec Fix variable support 2016-05-20 16:28:48 -04:00
Chris Sexton 8485ed9fe3 Fix Whoing a channel and factoid timer 2016-04-21 11:19:38 -04:00
Chris Sexton e449a82001 YOLO: DEAL WITH IT
Refactored a bunch of junk.
2016-04-01 10:20:26 -04:00
Chris Sexton ef40d335eb Make testing great again! Add examples in counter
* Made bot.Bot an interface and added a mock with an in-memory database
for plugins to use.
* Remove logger nonsense
* Rename Counter New
2016-03-30 12:41:22 -04:00
Chris Sexton a34afa97ad Switch web query to a regex 2016-03-29 12:34:04 -04:00
Chris Sexton ae5d7dec2e Migrate to sqlx; modularize counters 2016-03-19 14:02:46 -04:00
Chris Sexton dc1239783e Initial slack worky worky 2016-03-10 21:11:52 -05:00
Chris Sexton 51d7f7f067 Move IRC stuff to its own package 2016-03-10 13:37:07 -05:00