Commit Graph

827 Commits

Author SHA1 Message Date
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
Chris Sexton 6c1a8c13fc sms: add help text 2020-05-17 11:00:47 -04:00
Chris Sexton e78b22e93e sms: send and receive 2020-05-17 10:56:48 -04:00
Chris Sexton 0b78b99ee9 sms: rudimentary sms sending 2020-05-17 10:56:48 -04:00
Chris Sexton 280bb39125 sms: add skeleton 2020-05-17 10:56:48 -04:00
Chris Sexton d5a2bec582 meme: okay, scale the right thing with respect to the right thing 2020-05-08 18:05:57 -04:00
Chris Sexton 10a1745502 meme: add signature icon 2020-05-08 17:49:55 -04:00
Chris Sexton 0057f91ce6 connectors: add profile to get user icon 2020-05-08 17:49:55 -04:00
Chris Sexton c6559530e7 meme: add rm and bully 2020-05-05 16:25:33 -04:00
Chris Sexton 2395f7b33d meme: empty text 2020-05-04 17:31:28 -04:00
Chris Sexton b0aa04ce78 meme: add placeholder text in web form 2020-05-04 13:46:15 -04:00
Chris Sexton d7b0bed0db untappd: defer checkins without media 2020-05-04 13:46:15 -04:00
Chris Sexton 07c4950b2d admin: forbid better 2020-05-01 12:34:09 -04:00
Chris Sexton 8d775e95f2 meme: add web interface 2020-05-01 12:34:09 -04:00
Chris Sexton 3ad15c5f3e meme: fix another crash 2020-05-01 10:42:24 -04:00
Chris Sexton 699532d789 meme: fix a crash 2020-05-01 09:13:56 -04:00
Chris Sexton cee267dbb8 admin: leave and come back 2020-04-29 17:48:55 -04:00
Chris Sexton 1166fc732e admin: add setkey 2020-04-29 17:48:55 -04:00
Chris Sexton c7810e9f33 meme: resize images 2020-04-29 15:37:46 -04:00
Chris Sexton dcb6c3740d meme: change fonts 2020-04-29 12:14:24 -04:00
Chris Sexton 49991e530a meme: font size selection and top text 2020-04-29 12:01:01 -04:00
Chris Sexton bcb5d43ea6 meme: rm images after a while 2020-04-29 11:33:28 -04:00
Chris Sexton a5f0380585 meme: make messages commands 2020-04-29 11:33:28 -04:00
Chris Sexton 66460159cd meme: fix shortcuts 2020-04-28 15:16:45 -04:00
Chris Sexton 9704406fe5 meme: text 2020-04-28 15:00:44 -04:00
Chris Sexton 5a1e572645 meme: use urls 2020-04-28 14:58:23 -04:00
Chris Sexton 2e746f7b80 meme: add user name 2020-04-28 11:48:39 -04:00
Chris Sexton 13a3af1e55 meme: add plugin 2020-04-28 11:39:33 -04:00
Chris Sexton c7a3200a23 achievements: add message for invalid awarding 2020-04-24 16:29:43 -04:00
Chris Sexton e91d0bdf95 achivements: first draft 2020-04-24 16:29:43 -04:00
Chris Sexton 888216647f achievements: add award struct and db table 2020-04-24 16:29:43 -04:00
Chris Sexton 30077d1b6c achievements: sketch 2020-04-24 16:29:43 -04:00
Chris Sexton 21d4b11df9 admin: add reboot command 2020-04-21 16:54:03 -04:00
Chris Sexton d0998d0a63 emojifyme: don't crash when github isn't available
Note: we probably need some command to re-slurp this address or a
command to restart the bot in the event that something went terribly
wrong.
2020-04-21 16:54:03 -04:00
Chris Sexton d99ee28370 counter: add rmalias and some help 2020-04-20 06:22:53 -04:00
Scott Kiesel 4a45b21ffb Merge branch 'master' into ImpossibleGame 2020-03-26 15:51:00 -04:00
Scott Kiesel 788e6bdb4a add ability to give up 2020-03-26 15:48:06 -04:00
Chris Sexton 7148848f77 twitter: stop trying to filter RTs
* Also remove a %w causing warnings
2020-03-26 14:02:53 -04:00
Scott Kiesel fcfec95c2f go fmt because apparently we're all too amazing to handle ill-formatted code, wimps 2020-03-13 10:33:16 -04:00
Scott Kiesel 3cb54e6262 A great stupid plugin where you guess the random wikipedia article 2020-03-13 10:33:16 -04:00
Scott Kiesel 6c27e0cafd go fmt because apparently we're all too amazing to handle ill-formatted code, wimps 2020-03-13 10:23:00 -04:00
Scott Kiesel 859fb258d2 A great stupid plugin where you guess the random wikipedia article 2020-03-13 10:16:32 -04:00
Chris Sexton a4fd340a53 newsbid: sort reverse 2020-03-11 13:15:12 -04:00
Chris Sexton e2352a214b newsbid: sort scores by score 2020-03-11 12:29:36 -04:00
Chris Sexton 81cc0dc55b config: add push command
* you can now run `push <setting> <value>` to add values to a setting
2020-01-29 12:35:34 -05:00
Chris Sexton 4275619e49 twitter: filter out retweets 2020-01-28 14:50:55 -05:00
Chris Sexton fc18fba2d8 counter: use absolute value for counter 2020-01-24 16:56:22 -05:00
Chris Sexton 7f183b4f2a counter: make matched things decrement sometimes 2020-01-21 16:29:43 -05:00
Chris Sexton 99817ad621 picker: make pick a command 2020-01-08 08:20:50 -05:00
Chris Sexton 595492a16b fact: add image verb
This will attach the last URL it sees as an image attachment. It will
fail if that is not a valid image (IDK, slack will get mad) and if no
image is found, it will send as text. The text in the message that is
not a URL will be sent as the image title.
2019-12-30 10:30:37 -05:00
Chris Sexton 47c3def722 newsbid: make the !bids command look nicer 2019-12-22 09:05:27 -05:00
Chris Sexton 2625671ed6 bid: show string in bid list 2019-12-22 08:07:02 -05:00
Chris Sexton 408794fe58 newsbid: improve display of news items 2019-12-22 08:07:02 -05:00
Chris Sexton 7b8f37d67d wip 2019-12-22 08:07:02 -05:00
Chris Sexton b3f3e09d89 hn: remove more scrapes 2019-12-22 08:07:02 -05:00
Chris Sexton af9fc12038 hn: use api 2019-12-22 08:07:02 -05:00
Chris Sexton 958a454271 aoc: add link to leaderboard 2019-12-07 21:46:08 -05:00
Chris Sexton 95cbada51d aoc: filter for users that have stars 2019-12-03 10:14:52 -05:00
Chris Sexton 4c69cefa39 aoc: add plugin 2019-11-30 23:59:52 -05:00
Chris Sexton 72da1d3c78 git: order gitea commits 2019-11-29 11:10:59 -05:00
Chris Sexton 6e66498d25 git: add filter for branches on github 2019-11-26 17:53:11 -05:00
Chris Sexton b2136c1b41 counter:add unicde filter to getItem 2019-11-25 14:31:54 -05:00
Chris Sexton 3ad86f2308 pick: fix broken pick
* simplified picking regex
* added test case for previously broken message
2019-11-22 11:55:58 -05:00
Chris Sexton 905da629b9 bids: get a vote:comment ratio for scoring
* Ratio defaults to 1.0 on error
* Ratio bonus if a 0 comment article wins
* Remove buggy tests
* Add example scraping util for debugging
2019-11-14 10:15:39 -05:00
Chris Sexton 30cd91079c react: add searched reactions 2019-11-11 18:13:05 -05:00
Chris Sexton a31d2b446e go fmt 2019-11-08 10:20:01 -05:00
Chris Sexton 4b749d316d bids: mark bids instead of deleting them 2019-11-08 10:20:01 -05:00
Chris Sexton 3a4d69bae0 git: move icons to each commit/event 2019-11-04 08:19:51 -05:00
Chris Sexton 7f5f62d04a git: fix icon 2019-11-03 08:27:50 -05:00
Chris Sexton 97ca444df9 git: don't show empty changeset 2019-11-03 08:10:01 -05:00
Chris Sexton d1149e7022 git: actually do the thing 2019-11-03 07:59:53 -05:00