Chris Sexton
60678fcad2
add rate limit middleware
2022-07-07 11:28:22 -04:00
Chris Sexton
56120b168c
emojy: add swap and disallow upload overwrites
2022-06-08 21:24:44 -04:00
Chris Sexton
feb42b8293
emojy: allow creation and removal of emojy
...
- includes a web interface for uploading new images
- includes a web interface for viewing 'possible' images
2022-06-08 21:03:21 -04:00
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
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