Commit Graph

497 Commits

Author SHA1 Message Date
skkiesel 1842aeba82 A new small tea-ture 2019-02-12 11:03:24 -05:00
Chris Sexton 74efe02c75 twitch: make stream announcements more complicated
And fun. Now they're templates.
2019-02-09 08:32:27 -05:00
Chris Sexton a20839cdd7 bot: Invert RegisterWeb 2019-02-07 11:30:42 -05:00
Chris Sexton 104ff85a0d downtime: remove dead plugin 2019-02-07 11:22:27 -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 00d998fc59 beers: be quiet 2019-02-05 21:32:33 -05:00
Chris Sexton c504173022 twitch: check gameID instead of title 2019-02-05 21:13:35 -05:00
Chris Sexton 287c26440e emojify: don't chomp up the rest of the pipeline
added bonus fix
2019-02-05 16:02:00 -05:00
Chris Sexton 5ee5f33e36 tests: refactor for new system 2019-02-05 15:02:15 -05:00
Chris Sexton 90e7b11308 plugins: add callback handler registrations 2019-02-05 14:41:38 -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 2e20971dd1 Merge branch 'master' into events
* master:
  twitch: configerize the stream word
2019-02-05 11:41:50 -05:00
Chris Sexton 1f69a653a9 tests: refactor mock to match new interface 2019-02-05 11:37:33 -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 0c93259c55 twitch: configerize the stream word 2019-02-04 22:17:33 -05:00
skkiesel 1726b83438 Limit the listing pain caused by inflicting reminder pain on others 2019-01-27 11:20:36 -10:00
Chris Sexton e161e9fece
Merge pull request #138 from velour/quiet
admin: be quiet
2019-01-25 10:09:44 -05:00
Chris Sexton 17afdda35e admin: be quiet
This will not silence any out of band messages such as Untappd checks,
Twitch notifications, or the startup message.

This will cause catbase not to know anything about the conversation,
which means quoting something during the quiet period is impossible.
Everything during quiet time is off the record.
2019-01-25 10:05:26 -05:00
Chris Sexton adb0eb9f45
emojify: add direct eq 2019-01-22 10:59:08 -05:00
Chris Sexton 2aaf18518a emojify: flipped lt 2019-01-22 10:52:28 -05:00
Chris Sexton 8795d956ff emojify: flipped lt 2019-01-22 10:51:19 -05:00
Chris Sexton aee106b21b emojify: make sure there are spaces around beginning/ending emojy 2019-01-22 10:43:10 -05:00
Chris Sexton 0593b4f164 config: set some defaults 2019-01-21 19:16:57 -05:00
Chris Sexton c07e612941 emojify: woops 2019-01-21 18:30:20 -05:00
Chris Sexton 4d188bdf20 emojify: handle plurals again 2019-01-21 18:05:35 -05:00
Chris Sexton 36320df725 emojify: change THE ALGORITHM 2019-01-21 18:00:51 -05:00
Chris Sexton 7a74ca0059 emojifyme: make it use ractions; add velour emojy 2019-01-21 17:15:46 -05:00
Chris Sexton 9ea1ba68f5 admin: add ability to get/set config values
* Users cannot get/set sensitive values
* Removed example lua config file
2019-01-21 16:26:54 -05:00
Chris Sexton 742c76f562 config: add defaults checking where necessary 2019-01-21 14:24:03 -05:00
Chris Sexton 15168f5db0 config: all tests passing
* Using in-memory but shared DB. ALL TESTS MUST CLEAR RELEVANT TABLES
* Removed problematic reminder test
2019-01-21 12:36:55 -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
Chris Sexton 3a7651d184 fact: add reaction type facts
If a user creates a fact with the verb <react>, catbase will try to
react with the emojy that the user specifies. It filters things with
spaces and fixes colons, but does not check if the emojy actually
exists. There will be no feedback in this case, which should probably
get fixed but meh.

* Updated mock bot to check reactions, and do filtering correctly.
* Added a couple tests of the react functionality.
2019-01-20 12:33:19 -05:00
skkiesel b33eccaaa0 Add pokemon. Extra dune trigger. Actually have a test for each endpoint 2019-01-19 11:06:13 -05:00
Chris Sexton bfe910f4db tests: rm some beers tests, add gok and fix errs 2019-01-19 09:59:53 -05:00
skkiesel 91a334b32b Fixed babbler tests by not running go routines during testing. (go fmt on nerdepedia because of course this should all happen in one commit) 2019-01-19 09:53:41 -05:00
skkiesel 265fe441b4 I'll see your double escaping, and raise you triple unescaping. But seriously, double unescaping. 2019-01-19 09:51:08 -05:00
skkiesel 3aaed538dd LOTR 2019-01-19 09:51:08 -05:00
skkiesel 75dcb47d11 Kids gonna like dune 2019-01-19 09:51:08 -05:00
skkiesel 5dd7df164e This is my public shaming 2019-01-19 09:51:08 -05:00
skkiesel cf6e2a9c1c Don't panic. Unescape description. Add link. Remove 'make it so' 2019-01-19 08:27:24 -05:00
skkiesel 6e39e6ec2b Up your nerd game, nerd. 2019-01-18 19:48:12 -05:00
Chris Sexton 73dc6f047d twitch: streaming 2018-12-26 23:23:22 -05:00
Chris Sexton d63b33eacf Fix goroutine err 2018-12-24 22:18:47 -05:00
Chris Sexton a4d34fc117 leftpad: update dependency 2018-12-07 08:34:25 -05:00
Chris Sexton 66fa219f78 babbler: make recording new babbles _fast_
This is a hack. I am just pushing the processing off into a goroutine so
that we can return as quickly as possible from a non-event as far as the
bot's interaction with users is concerned. This is potentially harmful
if we have too many goroutines blocked writing babblers (hopefully
    sqlite is configured to be thread-safe). But if we have a bunch of
    babblers writing off to disk, it's no worse than blocking for each
    one sequentially, I guess.
2018-11-08 18:06:11 -05:00
Chris Sexton 4fed267911 reminder: you for real this time 2018-10-26 13:38:49 -04:00
Chris Sexton 4644f1893c reminder: accidentally a you 2018-10-26 13:31:07 -04:00
Chris Sexton 2ffbc6fb93 reminder: change the confirmation of remind me 2018-10-26 11:02:51 -04:00
Chris Sexton 03f979bde4 twitch: make things spooky 2018-10-22 16:19:03 -04:00
Chris Sexton 73f019a14a counter: change from Tea. Earl Grey. Hot. to all
Now we can say any valid counter with two more sentences and get the
Picard-alike results with counter.
2018-10-19 14:23:08 -04:00
skkiesel a9ba3135fb How long until he notices? 2018-10-07 18:54:24 -04:00
Chris Sexton 8d729f5d42 counter: make tea counter less strict 2018-10-07 08:48:13 -04:00
Chris Sexton b1a4fd2050 merge a spaced out count into one in the case of an emojy or anything with a space really 2018-09-27 22:48:11 -04:00
Steve McCoy 96a887917a Proper handling of the default pick quantity 2018-09-01 18:27:40 -04:00
Steve McCoy cafc31cfe6 Don't send the message along after a failed parse 2018-08-30 16:11:32 -04:00
Steve McCoy aa7a09937c Get *slightly* serious and fix the rest of the bugs 2018-08-30 16:05:03 -04:00
Steve McCoy fa7ed79ff6
"A" "better" "fix" 2018-08-30 14:23:19 -04:00
Steve McCoy 4cf4308ef8
Fix hilarious cat-astrophy 2018-08-30 14:20:44 -04:00
Steve McCoy 254d723ecf
I had parsing on the brain, I swear 2018-08-30 14:14:52 -04:00
Steve McCoy 197d6861de
Missing! 2018-08-30 14:04:36 -04:00
Steve McCoy 4886cd6b9d Use literal strings for these regexps 2018-08-30 13:51:24 -04:00
Steve McCoy 80d44a144d I will not test this 2018-08-30 13:49:51 -04:00
Steve McCoy 807e235489
This is scanf 2018-08-28 15:43:12 -04:00
Steve McCoy 9d68d4bf21 I did only as catbase commanded, and made it worse 2018-08-28 15:03:54 -04:00
Chris Sexton e15122cfe9 bot: refactor all rand seeds into main.go 2018-07-23 13:00:19 -04:00
Chris Sexton 01056f1956 Undo a horrible git thing 2018-06-22 14:31:33 -04:00
Chris Sexton 5d6f41db3c Fix CSW 2018-06-22 14:25:43 -04:00
skkiesel f03fdb4d4e This might be entertaining on occasion 2018-06-16 17:25:33 -04:00
Chris Sexton c639d460ac go fmt 2018-05-02 07:02:04 -04:00
Chris Sexton f164530359 first: change time format 2018-03-28 03:29:42 -04:00
Chris Sexton 0357e59858 db: Add plugin to access DB
Can now download the database at /db/catbase.db
2018-02-22 17:41:48 -05:00
skkiesel a272df5e05 Listing by user to or from 2018-02-05 16:04:40 -05:00
Chris Sexton 02f3587f52
Merge pull request #100 from velour/counter_alias
Counter alias
2018-01-19 14:22:08 -05:00
Chris Sexton e5829899b0 beers: discard checkins with incomplete photos 2018-01-19 14:20:22 -05:00
Scott Kiesel a20c323ac9
Fixed comment 2018-01-10 11:47:50 -05:00
Chris Sexton a671534d86 beers: booze->beer 2018-01-05 16:54:12 -05:00
Chris Sexton dadb51cec5 counter: mkalias 2018-01-04 12:23:59 -05:00
Chris Sexton e19d982fe5 counter: add leaderboards 2018-01-04 07:39:24 -05:00
Chris Sexton 22bca5bf4d picker: less strict (no command) 2017-12-19 13:42:30 -05:00
Chris Sexton 5e52c3bb16 Merge branch 'master' of github.com:velour/catbase
* 'master' of github.com:velour/catbase:
  Change to use the lua config…
  Oh, and handle the plurals…
  Don't count "a" and "it" toward the emojification score
  one more try
  grab the bot's bot id from the message response and use that to avoid self-reply loops
2017-12-19 13:38:31 -05:00
Chris Sexton 6bc72b93d1 dice: clean up 2017-12-19 13:38:02 -05:00
Chris Sexton 132fdd29be picker: add new plugin 2017-12-19 13:37:47 -05:00
Steve McCoy 5794c73efd Change to use the lua config… 2017-12-03 13:04:55 -05:00
Steve McCoy 85b649bc98 Oh, and handle the plurals… 2017-11-27 22:09:55 -05:00
Steve McCoy 83289d65f0 Don't count "a" and "it" toward the emojification score
Fixes #95.
2017-11-27 22:07:59 -05:00
Chris Sexton 9f332909b5 tell: fix empty lists and user case 2017-11-17 08:39:35 -05:00
Chris Sexton 408c37b7c7 tell: create tell plugin 2017-11-16 17:05:22 -05:00
Chris Sexton 7e1c4e1106 sisyphus: modify min/max times a little more 2017-11-06 14:40:43 -05:00
Chris Sexton df956513c2 sisyphus: config-ize timing 2017-11-06 14:32:49 -05:00
Chris Sexton 827879b72d sisyphus: add plugin 2017-11-03 19:03:19 -04:00
skkiesel 1ac566c2c2 sokobass. 2017-11-02 16:32:02 -04: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
Chris Sexton 6af9114a37 babbler: create tables no matter what 2017-10-25 18:45:45 -04:00
Chris Sexton df29c89d84 Merge branch 'aliases'
* aliases:
  fact: fix reverse detection
2017-10-25 18:17:10 -04:00
Chris Sexton c708aec4a4 fact: fix reverse detection 2017-10-25 18:16:38 -04:00
Chris Sexton be919f9fab Merge pull request #86 from velour/aliases
fact: add protection for aliases
2017-10-25 18:08:59 -04:00
Chris Sexton c6709ae521 fact: add protection for aliases
* No circular aliases may be created
* Must have a resolvable destination
2017-10-25 18:08:32 -04:00
Chris Sexton ea59e84fb1 Merge pull request #85 from velour/aliases
factoid: learn and spit out aliases
2017-10-25 12:15:15 -04:00
Chris Sexton d04e6741ea factoid: learn and spit out aliases
* Added datatype for aliases
* Added table for aliases
* Added resolving mechanism after factoid miss
2017-10-25 12:14:22 -04:00
cws a4abcb4bc1 beers: make untappd icons square
* Added all image formats to checkin structure
* Changed which image is selected for display in the channel
2017-10-05 15:00:23 -04:00
cws eae49ebe18 twitch: Add URL to stream when streams are active 2017-09-30 12:53:37 -04:00
cws 9600e0dc63 inventory: initial sketch
Fixes #2
2017-09-29 00:58:21 -04:00
cws 20c038d57c twitch: add HTTP output 2017-09-27 16:29:04 -04:00
cws 403c6dae0a twitch: update to current API
* Added OAuth abilities
* Added full API spec for endpoint response
* Use net/url to build request
2017-09-27 14:47:16 -04:00
cws d2fdb01f08 stats: fix crash 2017-09-01 14:58:44 -04:00
Chris Sexton 885fe097c0 Merge pull request #76 from velour/more_reactions
Fix Probabilities
2017-08-31 08:53:56 -04:00
skkiesel c856c55150 fix probability of generating a reaction so that it matches better with the spirit of the config value 2017-08-31 08:51:28 -04:00
Chris Sexton c157adb3c8 Merge pull request #43 from velour/your_refactor
Your refactor
2017-08-30 14:43:26 -04:00
skkiesel 980359b4e1 supplement catbase's ability to react 2017-08-30 13:54:45 -04:00
skkiesel e65afb915a look for common plural suffixes for more emoji hits 2017-08-30 09:26:11 -04:00
Chris Sexton 20842c3ada Merge pull request #73 from velour/fixfirst
first: re-enable
2017-08-19 08:00:38 -04:00
cws 19578f7147 first: re-enable 2017-08-18 05:59:46 -04:00
svohr 8119df6dea emojifyme Chance weighted on number of emojies
The chance of an emojified message being sent is now
proportional to the number of emojies that can be
substituted in the message.
2017-07-31 11:16:59 -07:00
cws f004cecf3a emojify: configurize the chance 2017-07-25 14:44:36 -04:00
Scott Kiesel e059b51fcf Merge branch 'master' into emojifyme 2017-07-25 06:17:11 -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
cws 148f9635a0 counter: Change regex to be more accepting
Fixes #66
2017-07-24 07:40:13 -04:00
skkiesel 1bf6997144 initial implementation and POC to getting reactions pushed into slack via catbase 2017-07-24 07:38:03 -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 e45c335bd3 Merge pull request #62 from velour/more_babbler_stuff
update test case to test exactly what we want
2017-06-16 18:49:12 -04:00
skkiesel dcf45d2145 update test case to test exactly what we want 2017-06-16 15:19:11 -04:00
Chris Sexton 4664ffec58 Merge pull request #61 from velour/more_babbler_stuff
quiet down the babbler
2017-06-16 15:10:22 -04:00
skkiesel 8735a2283b quiet down the babbler 2017-06-16 15:02:28 -04:00
cws 3607a7ee23 Merge branch 'master' of github.com:velour/catbase
* 'master' of github.com:velour/catbase:
  try to force the bridge command to give less deterministic results
  add middle out compression, I mean babbles
  update babbler syntax
2017-06-08 10:02:20 -04:00
cws 973900dd54 fact: fix syntax 2017-06-08 10:02:10 -04:00
Chris Sexton e453f740c9 Merge pull request #60 from velour/more_babbler_stuff
More babbler stuff
2017-06-08 09:59:53 -04:00
skkiesel 11c4f78bbd try to force the bridge command to give less deterministic results 2017-06-07 20:07:26 -04:00
skkiesel bd7cf6be7c add middle out compression, I mean babbles 2017-06-07 20:02:42 -04:00
skkiesel 8edba10b5d update babbler syntax 2017-06-07 20:02:18 -04:00
cws 07f5749f1a fact: add back global check 2017-06-07 14:56:14 -04:00
cws b4c0f36260 Merge branch 'fix_ownership'
* fix_ownership:
  fact: remove owner check from edit
2017-06-07 14:51:43 -04:00
cws f7bd5a8eb4 fact: remove owner check from edit 2017-06-07 14:51:26 -04:00
cws 94d373c567 Merge branch 'master' of github.com:velour/catbase
* 'master' of github.com:velour/catbase:
  Even more custom babbling... with bookends! closed #58
2017-06-07 14:46:54 -04:00
cws 59b92bdf3c fact: remove ownership check for delete 2017-06-07 14:46:34 -04:00
skkiesel 9734845146 Even more custom babbling... with bookends! closed #58 2017-06-06 20:03:07 -04:00
cws 2ebc5fe18f stats: Fix hour keys 2017-06-06 07:24:44 -04:00
cws 1d290c287e stats: fix hours bucket; standardize date format 2017-06-06 06:30:12 -04:00
cws b998347f33 stats: forgot to close the file in web serving 2017-06-06 05:57:33 -04:00
cws ae75b23252 Merge branch 'stats'
* stats:
  stats: Add a dumb URL for getting all stats from the db
  gitignore: get rid of swp files
2017-06-05 21:45:50 -04:00
cws 30789669b7 stats: Add a dumb URL for getting all stats from the db 2017-06-05 21:45:34 -04:00
Chris Sexton 1bb3f17dc1 Merge pull request #56 from velour/stats
Stats plugin
2017-06-05 21:21:24 -04:00
cws 4213243744 stats: Add a day categorization above all others 2017-06-05 21:20:08 -04:00
cws de19f6a4e9 stat: change encoding to JSON 2017-06-05 21:03:23 -04:00
cws e1e58591ec stats: Add tests and clean a few things up
* Make statFromDB return 0 if no stats are in the DB instead of error
* Convert tests to use the assert library
* Add tests for actual messages
2017-06-05 20:54:19 -04:00
cws 95616e0fb8 stats: WIP demo of stats
* Added a plugin for stats
* Using BoltDB for ease of not screwing with SQL
** Perhaps everything should be Bolt...
* Should be relatively easy to add new stat counters:
** Create a function that makes the stat{} struct
** Add it to the list of active counters
* Should be relatively easy to add a views page later
2017-06-05 20:52:35 -04:00