Commit Graph

47 Commits

Author SHA1 Message Date
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 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 c4605cfb77 git: don't unfurl links 2021-01-09 16:58:18 -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 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 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 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 47a824e8da remember: fixed something? It works now. 2019-02-15 14:54:14 -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 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 3620208f33 irc: Update IRC connector to new structure 2019-02-05 11:20:43 -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 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 d9bb7ec3c0 sometimes you have an id, sometimes a message, we should support relpying to both 2017-10-31 10:16:41 -04:00
skkiesel 3009a646e6 support replies 2017-10-31 10:07:20 -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 e56604f507 bot: change serve() to return an error
slack: don't fatal on EOF, reconnect
irc: don't fatal, just return error
2017-09-07 00:32:53 -04:00
skkiesel c6e1769f0f Parse incoming messages to see if we can annoy eaburns with emoji word replacements 2017-07-24 15:09:27 -04:00
skkiesel 8728d96639 initial implementation and POC to getting reactions pushed into slack via catbase 2017-06-17 16:20:06 -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 2a702c7061 Fix license tags 2016-03-19 15:32:51 -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