Commit Graph

797 Commits

Author SHA1 Message Date
Chris Sexton 2f8bf0edcb emojy: trim some characters here and there 2022-06-07 10:30:07 -04:00
Chris Sexton 61cdb66546 emojy: indicate if an emojy is on the server 2022-06-06 10:49:27 -04:00
Chris Sexton e8c7e1e07e emojy: make the web page nicer
- show custom emojy
- categorize by source type
- record emojy used in messages
2022-06-06 10:24:54 -04:00
Chris Sexton aa88ef44f5 emojy: redo database schema
- record emojy as timestamped log instead of a count
2022-06-02 11:03:45 -04:00
Chris Sexton 4e3cbbafad factoid: refactor and ignore reaction
- factoid is a mess, but I at least split it into a few parts
- need to move config values from factoid to fact
- need to rename the whole thing to fact
- probably need to go over it with a fine toothed comb
- 5 seconds, why 5 seconds? I still don't know
- added kind to the message type so we can filter reactions out
2022-05-31 11:27:34 -04:00
Chris Sexton 46e61f69d0 counter: use blank ID if none found
This fixes an issue where if the user hasn't spoken since the bot
restarted, the counter can't increment.
2022-05-30 19:15:17 -04:00
Chris Sexton 1c22632a41 emojy: create plugin
- added reaction type and event for discord connectors
- added web page to view emojy usage
- added new table for counting emojy
2022-05-30 16:38:05 -04:00
Chris Sexton 104f48b1c3 meme: configify the default meme config 2022-05-25 15:16:26 -04:00
Chris Sexton 69cee328e7 twitch: fix web server 2022-05-20 17:16:31 -04:00
Chris Sexton a4108ecc82 twitch: change some names to match the API 2022-05-18 10:46:37 -04:00
Chris Sexton 32cca1497a counter: add increment by N api 2022-05-05 18:15:38 -04:00
Chris Sexton 3964e1f4b2 meme: disable direct URL memes
GitHub noticed this is a security problem, so I am disabling it.
2022-03-22 20:30:07 -04:00
Chris Sexton 471c3ecff4 all: update to go1.18 and any interface 2022-03-21 21:36:04 -04:00
Chris Sexton 3af3633559 web: fix vue version references
3.x came out and @latest busted everything.
2022-02-18 07:20:02 -05:00
Chris Sexton 63c850f9ce beers: catbase more woke than you. bask in his virtue 2022-01-17 10:12:31 -05:00
Chris Sexton d036aacc0a mayi: add a should clause 2022-01-03 16:15:23 -05:00
Chris Sexton c5a13116fa roles: add help 2022-01-03 07:41:44 -05:00
Chris Sexton d89569cdc6 mayi: fix regex 2021-12-17 08:49:10 -05:00
Chris Sexton 9670e0e657 counter: reorder goal and count 2021-12-04 16:05:19 -05:00
Chris Sexton 6d004d8d1f counter: fix api and add a message when one exists 2021-11-28 14:22:22 -05:00
Chris Sexton 2a9ae13560 roles: add plugin 2021-11-20 15:34:38 -05:00
Chris Sexton d2c5489634 first: stop spitting out dumb logs 2021-11-19 13:35:30 -05:00
Chris Sexton 7af715aee9 gpt3: add stop configuration 2021-11-19 13:23:11 -05:00
Chris Sexton 46b2b0b57f gpt3: add plugin 2021-11-19 11:26:54 -05:00
Chris Sexton 338293cf42 counter: use channel in api update 2021-11-18 17:21:04 -05:00
Chris Sexton fd670339c0 counter: api should update goals 2021-11-18 16:50:50 -05:00
Chris Sexton 3343a98802 pubsub: add counter pub 2021-11-15 20:51:40 -05:00
Chris Sexton 4f9b50f47a impossible: eff these broken tests 2021-11-08 09:46:22 -05:00
Chris Sexton fc27096a6d impossible: change locale to time.Local 2021-11-08 09:46:22 -05:00
Chris Sexton fff478a9f6 meme: add font support 2021-10-22 16:48:59 -04:00
Chris Sexton 6bcf1142c4 mayi: add coinflip plugin 2021-10-13 21:15:14 -04:00
Chris Sexton 373929646c history: record history in bot 2021-10-05 19:12:35 -04:00
Chris Sexton 2cfca47d7d ngate: fix formatting for all platforms 2021-09-18 10:27:33 -04:00
Chris Sexton 6cacff4513 rest: add post and help 2021-09-16 18:23:53 -04:00
Chris Sexton 646282b233 rest: bypass jq when it's convenient
Adding a custom parser for GPT-2 queries because it's easier this way.
2021-09-03 09:51:28 -04:00
Chris Sexton da69df36d4 first/last: filter channels 2021-08-26 10:09:49 -04:00
Chris Sexton 5773141b1c goals: send goal messages to the correct channel 2021-08-23 11:47:57 -04:00
Chris Sexton d214fe0c45 goals: fix remaining regex 2021-08-23 11:34:39 -04:00
Chris Sexton cf30dad055 goals: fix goal reporting 2021-08-23 11:34:39 -04:00
Chris Sexton ba0f38b342 beers: change default beer item 2021-08-21 08:44:54 -04:00
Chris Sexton 02837bf136 first: fix time to use local 2021-08-21 07:27:31 -04:00
Chris Sexton cd5018af77 quotegame: tell us who it was when we lost 2021-08-11 12:43:11 -04:00
Chris Sexton b0dd44687a quotegame: remove debug, add time report 2021-08-11 12:25:00 -04:00
Chris Sexton 24668cf774 quotegame: add game 2021-08-11 12:12:26 -04:00
Chris Sexton 99abd9bb2f slack: update library 2021-08-11 12:12:26 -04:00
Chris Sexton 7464a7c84c quotegame: draft of game 2021-08-11 12:12:26 -04:00
Chris Sexton 792f8681ab beers: fix URL parameters for images 2021-08-05 11:02:19 -04:00
Chris Sexton 13e16c9f01 web: change to embedded pages
counter: embed counter page

admin: move vars and apppass to embedded

secrets: move to embedded

cli: move to embed

meme: move to embed

fact: move to embed

bot: move to embed

fix write command
2021-07-29 13:00:33 -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 64bce99455 first: add configurable jitter
This should prevent Slack's scheduled messages from gaming first
2021-07-03 13:11:52 -04:00
Chris Sexton 1619a7f7d4 achievements: add a list function 2021-06-17 16:24:01 -04:00
Chris Sexton 825a8d267f goals: fix default channel reporting 2021-06-17 14:26:19 -04:00
Chris Sexton 9eb801f570 newsbid: filter zero balances 2021-06-17 13:04:15 -04:00
Chris Sexton ec47c31a80 rest: add testwire, remove some secret leaks 2021-05-20 18:36:20 -04:00
Chris Sexton a1c5a4c580 secrets: add plugin
Also modify rest to use secrets plugin
2021-05-20 10:03:07 -04:00
Chris Sexton 0cd1b5e7ed rest: add jq parsing instead of field selection 2021-05-19 14:01:36 -04:00
Chris Sexton 086bc9f0f9 gpt2: remove plugin 2021-05-19 11:55:20 -04:00
Chris Sexton 1e5a82d281 rest: create plugin
RestPlugin allows users to dynamically create transports and integrate services
from outside of catbase.

New commands:
* wire `regex` to URL `field`
* list wires
* rm wire ID
2021-05-19 11:55:20 -04:00
Chris Sexton 2045fc4591 goals: fix ordering of commands 2021-05-04 14:08:33 -04:00
Chris Sexton e1250dd25e last: don't report a last if none exists 2021-04-30 09:11:38 -04:00
Chris Sexton 850f5248ef last: fix schema 2021-04-28 17:15:22 -04:00
Chris Sexton c5d468c723 last: add multichannel support
This
* ensures the last is between yesterday and yesterday
* adds a channel check to the query
* adds a command to check a specific channel
2021-04-28 16:52:07 -04:00
Chris Sexton 802911203f last: fix crash 2021-04-28 12:52:32 -04:00
Chris Sexton 19cbf5efd9 last: add filters for invalid messages 2021-04-28 12:15:09 -04:00
Chris Sexton 4c669e520f last: create plugin 2021-04-27 12:45:52 -04:00
Chris Sexton 40d057b6a6 your: refactor
Ref #346
2021-03-23 13:45:11 -04:00
Chris Sexton 67c88190ab giph: add not found message 2021-02-28 23:19:43 -05:00
Chris Sexton 5a7544d828 giph: add plugin 2021-02-28 23:19:43 -05:00
Chris Sexton fe5e9a6226 remember: refactor 2021-02-19 13:25:48 -05:00
Chris Sexton c7c315ad8c reaction: refactor 2021-02-19 12:23:40 -05:00
Chris Sexton 8cd79d486e picker: refactor 2021-02-19 12:14:59 -05:00
Chris Sexton defeb9b3b1 meme: maybe fix discord maybe not 2021-02-18 18:01:45 -05:00
Chris Sexton 91ac29d085 meme: memes generated at request time
* Moved meme generation to the URL service
* URLs now contain the meme configurations
* Cached by config (expires with bot restart)
2021-02-18 17:41:38 -05:00
Chris Sexton 332d992d05 counter: use IDs when available
This should help alleviate user name changes, but may not fix it
entirely. Had to update beers and goals to match an ID search.

Note: this will bust badly for IRC
2021-02-14 17:00:56 -05:00
Chris Sexton 4e0c308253 refactor: nerdepedia the lazy way 2021-02-07 15:12:45 -05:00
Chris Sexton 7dfa5bf891 meme: refactor
impossible: fix bug where it was eating all messages
2021-02-07 15:09:52 -05:00
Chris Sexton 0891713523 leftpad: refactor 2021-02-07 14:23:18 -05:00
Chris Sexton 353f289cae impossible: refactor 2021-02-07 14:03:34 -05:00
Chris Sexton ca97a07a4d goals: refactor 2021-02-07 13:33:30 -05:00
Chris Sexton c802b52a3b inventory: refactor and fix regexes 2021-02-05 11:37:43 -05:00
Chris Sexton 8f391ee7bc git: refactor 2021-02-04 08:17:50 -05:00
Chris Sexton 1f954f301c fuck: refactor by removal 2021-02-03 21:02:59 -05:00
Chris Sexton 4a0ba76b89 first: refactor and add clear command 2021-02-03 20:38:21 -05:00
Chris Sexton 1d3748ed06 csw: refactor 2021-02-03 19:56:33 -05:00
Chris Sexton 9345e83adf picker: make picker less fair 2021-02-02 16:05:14 -05:00
Chris Sexton 8cb6b485cb fact: refactor 2021-02-01 21:28:58 -05:00
Chris Sexton 55a206760f dice: refactor 2021-02-01 15:59:46 -05:00
Chris Sexton 2b47654302 beers: add dynamic drinking word feature 2021-02-01 15:20:51 -05:00
Chris Sexton 41a757cd8b beers: refactor 2021-02-01 15:20:51 -05:00
Chris Sexton a6847a996f babbler: refactor 2021-02-01 10:48:06 -05:00
Chris Sexton b7576bd855 gpt2: refactor 2021-02-01 07:40:33 -05:00
Chris Sexton dfbcfafab9 aoc: refactor 2021-02-01 07:16:21 -05:00
Chris Sexton 951c345666 admin: refactor tests 2021-02-01 06:39:43 -05:00
Chris Sexton 8e4129ecb3 admin: refactor 2021-02-01 06:39:43 -05:00
Chris Sexton 00dae33e8a achievements: refactor
Refs #346
2021-01-31 22:17:59 -05:00
Chris Sexton e7ec092c64 counter: update tests 2021-01-31 21:53:48 -05:00
Chris Sexton 1292eaa564 counter: refactor into regex matchers 2021-01-31 21:53:48 -05:00
Chris Sexton 75a12ca9a5 zork: remove zork
ref #343
2021-01-31 18:24:42 -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 ba47710b46 meme: add confirm to deletion button 2021-01-11 17:30:09 -05:00
Chris Sexton 33372ed770 meme: add default to all new memes 2021-01-11 16:30:18 -05:00
Chris Sexton c4605cfb77 git: don't unfurl links 2021-01-09 16:58:18 -05:00
Chris Sexton bca96b6dcd meme: fix empty meme issue 2021-01-09 16:48:55 -05:00
Chris Sexton 841d4c000e meme: remove URL and format config on meme page 2021-01-09 16:30:49 -05:00
Chris Sexton 8408da48d4 meme: add config and delete
This updates the web view to provide a screen to edit any particular
config in a text area, update the image URL, and remove a meme.

fixes #330
2021-01-09 16:18:56 -05:00
Chris Sexton 8d52a3d1bd meme: add capitalization to configs, true default
fixes #331
2021-01-09 15:27:32 -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 44159c26fc newsbid: update for season 2
Fixes #326
2020-12-31 14:08:38 -05:00
Chris Sexton c20b4c8b17 countdown: fix timer 2020-12-31 12:36:48 -05:00
Chris Sexton eefd5974d2 update gpt2 interface 2020-12-07 17:45:01 -05:00
Chris Sexton 9dbdd1f9a3 connectors: add translation layer
* URLs can be translated to slack/discord compatible
* Emojy have a connector-specific translation configuration
* Advent of Code plugin respects emojy and URLs
* Config can be wrapped in `` for JSON
2020-12-02 09:53:57 -05:00
Chris Sexton aa9dc12c9b countdown: maybe use actually January 2020-11-30 14:59:05 -05:00
Chris Sexton f57487868a github: fix commenter fields 2020-11-22 14:04:59 -05:00
Chris Sexton 7b98da6286 github: convert filter to array 2020-11-14 08:35:36 -05:00
Chris Sexton 05ba571f34 github: fix github event URLs and owners 2020-11-09 03:34:40 -05:00
Chris Sexton 910b28666b github: add issue events 2020-11-08 11:55:13 -05:00
Chris Sexton 3e8a474f13 meme: make bully position default to botright even for bad configs 2020-11-02 11:01:23 -05:00
Chris Sexton 9617e02d72 meme: make bully positionable 2020-11-02 11:01:23 -05:00
Chris Sexton 8817df15f0 nerdepedia: fix failing tests and add config 2020-10-24 14:12:13 -04:00
Chris Sexton af5717e9c1 meme: maybe fix the bully meme 2020-10-24 13:47:45 -04:00
Chris Sexton a30be0df8f meme/bot: add ephemeral messages 2020-10-24 10:04:53 -04:00
Chris Sexton fed1951e66 meme: add missing error check 2020-10-23 10:10:20 -04:00
Chris Sexton ac3d037fa4 meme: fix default config 2020-10-23 09:54:33 -04:00
Chris Sexton 789409e159 meme: add web config 2020-10-21 16:03:04 -04:00
Chris Sexton 250ce836bf meme: add configurable memes 2020-10-21 11:24:03 -04:00
Chris Sexton bd2e28f72a first: disallow empty messages 2020-10-19 21:32:00 -04:00
Chris Sexton 021cbee40a meme: add extra split for discord 2020-10-13 09:43:04 -04: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 4ba240c37d go: fix some format strings 2020-10-09 10:54:09 -04:00
Chris Sexton 51592724c8
Merge branch 'master' into discord 2020-09-09 13:31:16 -04:00
Chris Sexton a9937d9b8e discord: add discord functionality
* added discord connector
* modified user to support image avatars instead of URL avatars
* modified meme to send IDs instead of names
2020-09-09 13:21:39 -04:00
Chris Sexton 33cea91f6f gpt2: add customizable error message 2020-08-31 12:27:59 -04:00
Chris Sexton cdeae1b019 gpt2: clean up text 2020-08-21 10:22:50 -04:00
Chris Sexton c6cb8053c0 gpt2: add plugin 2020-08-20 17:23:51 -04:00
Chris Sexton d69d708245 reaction: add emojy language model 2020-07-24 12:36:30 -04:00
Chris Sexton 030d0371f9 countdown: add NYE countdown 2020-07-13 17:02:21 -04:00
Chris Sexton f6b7bcf4ff goals: add remaining/ahead text 2020-07-13 11:38:48 -04:00
Chris Sexton 7b3179fe1d beers: reorder checkin logic 2020-06-17 14:31:30 -04:00
Chris Sexton 45adb3a242 meme: handle bad URL errors 2020-06-10 15:37:54 -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 c68ca70964 goals: fix register bug 2020-05-26 12:09:04 -04:00
Chris Sexton ccfdb5a715 goals: mostly done, time to try it 2020-05-26 11:41:28 -04:00
Chris Sexton b1f46d6517 goals working-ish 2020-05-26 11:41:28 -04:00
Chris Sexton b13385774e beers: host your own images 2020-05-25 14:47:02 -04:00
Chris Sexton 645a533f49 add text if missing 2020-05-21 15:02:22 -04:00
Chris Sexton 4cefc8a784 sms: register somebody else 2020-05-17 11:16:32 -04:00