Commit Graph

147 Commits

Author SHA1 Message Date
Chris Sexton 4c669e520f last: create plugin 2021-04-27 12:45:52 -04: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 ca97a07a4d goals: refactor 2021-02-07 13:33:30 -05:00
Chris Sexton 4a0ba76b89 first: refactor and add clear command 2021-02-03 20:38:21 -05: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 e7ec092c64 counter: update tests 2021-01-31 21:53:48 -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 c4605cfb77 git: don't unfurl links 2021-01-09 16:58:18 -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 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 a30be0df8f meme/bot: add ephemeral messages 2020-10-24 10:04:53 -04:00
Chris Sexton 11224e0a2f bot: only provide help for whitelist items 2020-10-16 15:57:04 -04:00
Chris Sexton 5df7644229 remove more logs 2020-10-09 13:58:25 -04:00
Chris Sexton c8d01029ea admin: enforce admin status of users 2020-10-09 13:14:25 -04:00
Chris Sexton 969cbb37a1 mock: fix interface 2020-10-09 12:04:33 -04:00
Chris Sexton 2fb84219a0 whitelist: add whitelist of plugins 2020-10-09 12:00:10 -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 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 b13385774e beers: host your own images 2020-05-25 14:47:02 -04:00
Chris Sexton 0057f91ce6 connectors: add profile to get user icon 2020-05-08 17:49:55 -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 32d1ebaa95 bot: add new variables
* $time: a made up time
* $now: current time
* $msg: the user's message
2019-12-29 10:10:18 -05: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 05fd032bea web: bugfix pack
* menuize front page
* fix url bug
* fix cli
2019-06-09 00:54:05 -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 3d51d33da9 slackApp: add logging function 2019-06-07 12:19:24 -04:00
Chris Sexton fe8763f78a first: change to per channel
And be sure not to pay attention to private/direct messages
2019-06-06 10:33:50 -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 f267ae07e3 slack: add image support
* Make untappd checkins embed images
* Added attachment types as an optional send arg
2019-03-09 22:41:43 -05: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 32ca0c5bf7 help: fix the help system after I borke it
* Also fix twitch's help registration and message
2019-02-12 12:26:27 -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 980b079bf3 slackApp: create new connector for an app
* Using a library because I'm lazy.
* Fixed a few noisy things in Twitch and Untappd
* Moved connectors to a common place
2019-02-05 22:52:49 -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 4b5b66dd6d bot: unroll args 2019-02-05 15:24:49 -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 5ee5f33e36 tests: refactor for new system 2019-02-05 15:02:15 -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 1f69a653a9 tests: refactor mock to match new interface 2019-02-05 11:37:33 -05:00
Chris Sexton 3620208f33 irc: Update IRC connector to new structure 2019-02-05 11:20:43 -05:00