Commit Graph

421 Commits

Author SHA1 Message Date
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
skkiesel aaba7c5bff allow babbles to formed with suffixes (closes #55) 2017-06-05 19:53:19 -04:00
skkiesel df50130389 limit babble lengths... loops are not for kids 2017-05-25 15:22:58 -04:00
Chris Sexton 4fcc279433 Merge pull request #53 from velour/babbler_persist
Some sexy new features
2017-05-19 08:55:03 -04:00
skkiesel 9e56b54680 it was a disaster before, now it is less. 2017-05-17 10:06:10 -04:00
Chris Sexton 6da17f7dc1 Merge pull request #51 from velour/rss
barebones rss headline skimmer
2017-05-15 13:00:24 -04:00
skkiesel 64ed2bf9de back up the reminders in the database for a better msherms pestering experience 2017-05-11 12:40:59 -04:00
skkiesel 889372dcb4 add paging to rss feeds 2017-05-10 15:56:03 -04:00
skkiesel 9c39e3cd41 barebones rss headline skimmer 2017-05-10 15:19:07 -04:00
skkiesel e97ce576b8 probably not a huge memory savings, but only represent each unique word once and then reference them by their key for each babbler 2017-05-10 12:43:41 -04:00
skkiesel efde5d804d add feedback for when a seed isn't found 2017-05-10 10:11:49 -04:00
skkiesel 24f373d20f when read through the whole set of quote rows before beginning adding back into the babbler 2017-05-10 09:50:37 -04:00
skkiesel f28dabf0ba clean up and ignore empty strings when adding to the markov chain 2017-05-10 09:42:27 -04:00
skkiesel 8c98734e7e Add useful error messages when a babbler isn't found or when a user hasn't said something yet 2017-05-10 08:41:41 -04:00
Chris Sexton 419c188085 Merge pull request #50 from velour/babbler_persist
refactoring this to use a db took more time than all previous work co…
2017-05-09 20:06:48 -04:00
skkiesel de4defde1b refactoring this to use a db took more time than all previous work combined on this plugin. 2017-05-09 19:41:40 -04:00
skkiesel e22890cd83 cancel reminders 2017-05-09 10:12:24 -04:00
skkiesel 3c7af6c51f batch adding of reminders for msherms 2017-05-01 11:54:44 -04:00
skkiesel b2dc49d715 reminder listing 2017-04-27 12:47:18 -04:00
skkiesel 57eb211983 Remove the responses when we think we have a babble request but there is no babbler or the babbler is empty 2017-04-12 09:02:00 -04:00
skkiesel c8ea09fc1d allow the babbler to be seeded with a full phrase 2017-04-07 15:45:15 -04:00
skkiesel 2b9cdda019 move the specification of replacements into the config file 2017-03-13 13:44:44 -04:00
skkiesel f2309b9090 give catbase some negative back talk 2017-03-13 12:41:17 -04:00
svohr 39d5dec694 Updated tea test to replace 🍵 with 🍵 2017-02-20 12:19:49 -08:00
svohr 8087f23d53 Merge branch 'master' of https://github.com/velour/catbase into tea-bug
Resolved new regex with change replacing 🍵 with 🍵
2017-02-20 12:06:30 -08:00
svohr ae3a4eee52 Fixed tea regex to fix bad matches that ended in iced
Added a test based on skiesel's quote that triggered it.
2017-02-20 11:57:12 -08:00
Chris Sexton 4f7908370f Change emoji 🍵 to 🍵 2017-02-16 16:28:45 -05:00
svohr 6917e091af "Tea. Earl Grey. Hot." generalized for any tea, hot or iced. 2017-02-14 20:56:29 -08:00
cws cdb77a5119 Tea. Earl Grey. Hot. 2017-01-31 15:35:05 -05:00
cws 2957b6f4d5 Add reset me command 2017-01-23 21:13:21 -05:00
Steve McCoy c261b53ae6 Fix obvious problems 2017-01-23 10:10:54 -05:00
Steve McCoy 10beb0a34f This looks like += and -= 2017-01-17 17:57:39 -05:00
cws 7a3646049c go fmt 2017-01-05 09:49:27 -05:00
Scott Kiesel a86ef4bebd stk5's wish come true 2016-10-20 06:19:59 -04:00
Chris Sexton 7b7c0dc5bb Add a ducking filter 2016-08-30 15:40:55 -04:00
Chris Sexton 2f9abf660d Merge pull request #33 from velour/feeling_twitchy
check twitch to see who is streaming
2016-08-14 17:30:41 -04:00
skiesel 5cf384e633 check twitch to see who is streaming 2016-08-08 21:15:09 -04:00
Steve McCoy 74c666fe75 Handle "remind me" 2016-08-06 21:22:03 -04:00
skiesel 3f056ee611 mergable (in memory) markov chains 2016-05-26 11:06:22 -04:00
Chris Sexton b4c26956ab Fix empty string indexing crash 2016-05-24 10:07:36 -04:00
Chris Sexton 078eea0ca3 Merge pull request #29 from velour/fixVariables
Fix variable support
2016-05-20 16:30:12 -04:00
Chris Sexton 079c6ab2ec Fix variable support 2016-05-20 16:28:48 -04:00
Chris Sexton 46deb933da Add some misc little fixes to web views and factoid timing 2016-05-17 22:19:46 -04:00
Chris Sexton b048890b05 Merge pull request #25 from velour/MarkovBabblerPlugin
do not learn from commands to the babbler
2016-05-16 12:30:40 -04:00
Ethan Burns 06eef50025 Add zork plugin. 2016-05-15 16:43:47 -04:00
skiesel b59cd6441f batch learning for the babbler 2016-05-11 13:07:16 -04:00
skiesel ac3e1da9e5 do not learn from commands to the babbler 2016-05-11 12:11:21 -04:00
Chris Sexton 19754a07a5 Change Splits to Fields where appropriate 2016-05-11 12:10:15 -04:00
Chris Sexton e4f4cae6a7 Merge pull request #24 from velour/MarkovBabblerPlugin
Markov babbler plugin
2016-05-10 21:18:15 -04:00
Chris Sexton e6324ad5a2 babbler: Add all users in chan, add cfg'd users
Also misc small updates to the mock object for easier config usage
2016-05-10 21:15:52 -04:00
skiesel 8c5a446b75 markov babbler plugin 2016-05-09 16:48:05 -04:00
skiesel cf088bf8ad remove a few debugging lines 2016-05-09 16:46:29 -04:00
skiesel a3312c7c50 miscounted tokens in reminder plugin 2016-05-09 13:27:28 -04:00
skiesel 2764410ad4 new reminder plugin 2016-05-09 13:09:17 -04:00
Chris Sexton b687078c1a Add Untappd photos 2016-05-01 16:56:58 -04:00
Chris Sexton 1e6f0474d3 Add rating score into untappd checkin comments 2016-04-24 20:07:01 -04:00
Chris Sexton 9bff7bf79a Simplify remember code a bit 2016-04-22 13:48:43 -04:00
Chris Sexton 8485ed9fe3 Fix Whoing a channel and factoid timer 2016-04-21 11:19:38 -04:00
Chris Sexton e77c082db6 Switch fact back to like matching from regexp 2016-04-15 14:48:35 -04:00
Chris Sexton d24f48862c Add corner case test, change factoid plugin name 2016-04-08 12:18:34 -04:00
Chris Sexton af6c69c9fc Fix hilariously broken factoid searching 2016-04-05 09:46:03 -04:00
Chris Sexton f2f1326a19 Config-ize factoid 2016-04-01 10:48:54 -04:00
Chris Sexton a63c22c00e Add leftpad limit 2016-04-01 10:37:44 -04:00
Chris Sexton e449a82001 YOLO: DEAL WITH IT
Refactored a bunch of junk.
2016-04-01 10:20:26 -04:00
Chris Sexton c75a52e68c Update leftpad to use JAVASCRIPT and test 2016-03-30 23:09:35 -04:00
Chris Sexton 1254754e22 Beers tests. Untappd can go to hell 2016-03-30 22:47:21 -04:00
Chris Sexton a9a2c97c56 Add talker tests 2016-03-30 19:25:02 -04:00
Chris Sexton a38a28636c Add dice tests 2016-03-30 19:11:35 -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 a34afa97ad Switch web query to a regex 2016-03-29 12:34:04 -04:00
Chris Sexton 9d9771c097 Enable web interface 2016-03-29 10:20:44 -04:00
Chris Sexton de3aba210a Stop trying to process Untappd after it fails 2016-03-28 15:34:40 -04:00
Chris Sexton 0e69e58ff5 Fix goatse in talker
Note: This makes the goatse very Slack specific with preformatting and
newlines.
2016-03-25 15:10:56 -04:00
Chris Sexton 3cdb40ab5c Fix leftpad query 2016-03-25 12:42:21 -04:00
Chris Sexton a14a2b2e61 Yup. Leftpad. 2016-03-25 12:25:00 -04:00
Chris Sexton a829c94349 Add config values for your 2016-03-24 13:49:44 -04:00
Chris Sexton 762ec13780 Fixes #20: move plugins to their own pkgs 2016-03-24 13:32:40 -04:00
Chris Sexton 0eaadee120 Remove the beers table 2016-03-19 15:05:15 -04:00
Chris Sexton 15602defbc Merge branch 'counterstuff'
* counterstuff:
  Fix #19: Merge beers and counters
  Migrate to sqlx; modularize counters
  Move counter to its own package
  Fix a few minor govet issues
2016-03-19 14:30:22 -04:00
Chris Sexton 6938efc430 Fix #19: Merge beers and counters 2016-03-19 14:27:02 -04:00
Chris Sexton ae5d7dec2e Migrate to sqlx; modularize counters 2016-03-19 14:02:46 -04:00
Chris Sexton 28ccc4f0c2 Move counter to its own package 2016-03-19 11:44:27 -04:00
Chris Sexton b6d63f6432 Fix a few minor govet issues 2016-03-19 11:38:18 -04:00
Chris Sexton 92aa5a1214 Merge pull request #17 from chrissexton/fix-what-was-format
Change ID from nullable field to its value
2016-03-13 10:14:43 -04:00
Chris Sexton d7056e3ec7 Fix number of fields for counter inventory
Fixes #11
2016-03-13 10:13:41 -04:00
Chris Sexton e53e305653 Change ID from nullable field to its value 2016-03-13 09:55:48 -04:00
Chris Sexton df0fee0237 Fix untappd integration 2016-03-11 12:52:28 -05:00
Chris Sexton dc1239783e Initial slack worky worky 2016-03-10 21:11:52 -05:00
Chris Sexton d261fcc406 AlePale -> Catbase => velour 2016-01-17 13:00:44 -05:00
Chris Sexton 1d62e6173f Migrate remember to SQL 2016-01-17 12:45:21 -05:00
Chris Sexton 5b7fef27bb Fix talker crash, factoid printing, add TODO item 2016-01-17 12:45:21 -05:00
Chris Sexton 56c6d84813 Add TODO, small fix to factoid web interface 2016-01-17 12:45:07 -05:00
Chris Sexton c91f4a8535 Migrate factoids to SQL 2016-01-17 10:29:30 -05:00
Chris Sexton 88c2736f5a Fix bug with empty commands 2016-01-17 10:29:14 -05:00
Chris Sexton 72b71de10e Convert downtime to SQL 2016-01-15 13:37:54 -05:00
Chris Sexton 92e1ea5d42 Update first plugin for SQL 2016-01-15 11:54:09 -05:00
Chris Sexton 1e96546d62 Remove feed plugin 2016-01-15 10:33:02 -05:00
Chris Sexton 40ed53b120 Remove lisp plugin. There's no chance it works 2016-01-15 10:13:40 -05:00
Chris Sexton b345506e7f Fix beer plugin bugs 2016-01-15 09:44:22 -05:00
Chris Sexton 25f32918b1 Improve talker to disable nick length constraints 2016-01-15 09:43:31 -05:00
Chris Sexton 782d074bdf Get the bot online; make counters work
Mostly just silly stuff to get everything working.
2016-01-15 08:59:51 -05:00
Chris Sexton 1efa7ebcd4 Initial mongo->sqlite move
Tons of bugs, I'm sure. This commit  mostly gets the bot moving towards
SQLite. It builds, but many plugins have a log.Fatal to prevent their
use and it has not been tested.
2016-01-15 08:17:26 -05:00
Chris Sexton d298dac814 Fixes #30: Lowercasing the search 2014-04-20 21:12:08 -04:00
Chris Sexton 49939d62c0 Fixes #35: Remove dependency on count function
Using aggregation to check the largest count instead of basically doing
the same amount of work using a server side function. The bot should
install without incident for other users now.
2014-04-20 21:08:16 -04:00
Chris Sexton 04839d5d2e Hopefully fixs #54. Use HTTPS 2014-04-20 15:24:45 -04:00
Chris Sexton b9d4ce273f Added license to feed 2014-03-06 10:50:41 -05:00
Chris Sexton 00df26d004 Update admin.go
Remove space trimming.
2014-01-17 11:49:41 -05:00
Chris Sexton 00d0d8e069 Adding WIP feed plugin 2013-12-10 20:40:47 -05:00
Chris Sexton 7f093b003e Added AUTHORS file and info in all files.
Thanks to https://github.com/eaburns/license
2013-12-10 18:37:07 -05:00
Chris Sexton 95c8c36447 Make first filter a regexp 2013-12-10 18:24:05 -05:00
Chris Sexton 592adfb482 Adding the fucking switcher 2013-09-13 23:27:11 -04:00
Chris Sexton e56f2d7270 Reallowing is/are for fact entry 2013-09-04 21:56:03 -04:00
Chris Sexton 374ea3fc7f Removing some noisy debug output 2013-09-02 22:29:00 -04:00
Chris Sexton cfbe0dc4bc Small log fix 2013-08-31 23:41:15 -04:00
Chris Sexton 90b86aaf7d Removing an extra log entry 2013-08-31 23:34:23 -04:00
Chris Sexton 2acf375997 Fixing small remember bug (trim snips) 2013-08-31 23:33:15 -04:00
Chris Sexton 54899c74ca Fixes #1: Make quotes multiline 2013-08-31 23:05:00 -04:00
Chris Sexton 74a5647d2d Upping startup chime fact wait 2013-08-31 22:29:13 -04:00
Chris Sexton 1a41358d64 Activate beers only for certain channels (exclude control channel) 2013-08-31 22:24:46 -04:00
Chris Sexton 776d363595 Fixes #32: Make quote/remember case insensitive keywords 2013-08-31 22:24:10 -04:00
Chris Sexton b97886fdde Finishing a few things, still need to clean it up 2013-08-31 15:58:15 -04:00
Chris Sexton a9fcee9a34 Fixing empty BSON id issue 2013-08-31 15:57:30 -04:00
Chris Sexton 3a45156b9d Small fix to stop flooding 2013-08-31 00:24:55 -04:00
Chris Sexton 549ebc5f4e Moving untappd to check stream instead of user checkins 2013-08-31 00:11:54 -04:00
Chris Sexton 43a8bec86b Spit out a start up message to the chan 2013-08-27 21:52:27 -04:00
Chris Sexton f715ab93e1 Fixing unneeded panic issue! 2013-08-26 12:18:57 -04:00
Chris Sexton ff661b1d27 Fixing minor go vet issue 2013-08-25 23:44:30 -04:00
Chris Sexton f655366930 Fixes #39: Added lisp plugin 2013-07-04 18:39:18 -04:00
Chris Sexton 0acd004e59 Fixing self remembering problems stemming from lib change. 2013-06-17 00:04:10 -04:00
Chris Sexton a91ebde376 Fixing quoting split function... again 2013-06-16 23:44:24 -04:00
Chris Sexton bddd4038bb Added datatables to web interface 2013-06-16 23:23:58 -04:00
Chris Sexton eff200ee15 Fixing multi-channel factoid squirts. 2013-06-16 21:03:43 -04:00
Chris Sexton 276cc3e2fe Fixes #8
This may have some bugs. It's a bit impossible to test as my only Untappd info
is used up on the live bot. #YOLO!
2013-06-16 11:53:32 -04:00
Chris Sexton 8cf2b997a2 Fixes #13: UTC vs not UTC, I don't know which one is right, but let's pick one! 2013-06-01 21:58:20 -04:00
Chris Sexton be1739d316 Linkifying images in web site 2013-06-01 17:24:05 -04:00
Chris Sexton 79bec9fc21 Changing factoid random a bit to improve efficiency, added 'factoid' command for random fact 2013-06-01 16:46:16 -04:00
Chris Sexton 11feafbee0 Changing URLs to GET for sharing 2013-06-01 16:20:45 -04:00
Chris Sexton a87835b54a Fixes #21 2013-06-01 15:14:54 -04:00
Chris Sexton a086f2bc6e Fixing remember plugin 2013-06-01 15:00:57 -04:00
Chris Sexton 42e17ae755 Removing secondary URL 2013-06-01 14:40:06 -04:00
Chris Sexton b5003e82b5 Adding a regex to web find 2013-06-01 14:34:07 -04:00
Chris Sexton 38bfc59871 Fixes #15: Factoid interface is bangin 2013-06-01 14:17:13 -04:00
Chris Sexton 242be51029 Making the web interface a bit better 2013-06-01 13:29:12 -04:00
Chris Sexton edd941fe46 Initial (ugly) web interface 2013-06-01 13:10:33 -04:00
Chris Sexton 377de90c31 Fixes #19: Removing logging statements. 2013-05-09 18:31:48 -04:00
Chris Sexton 42c934f091 Fixes #10: Bot can quote and count himself 2013-05-07 20:08:18 -04:00
Chris Sexton 46fa81cd68 Making the counters aware of the bot itself. 2013-05-07 19:32:03 -04:00
Chris Sexton e8ff495c2f Actual width 2013-05-07 19:31:54 -04:00
Chris Sexton 8eb5a563fb Fixing column width in code formatting 2013-05-07 19:28:34 -04:00
Chris Sexton 5433f51508 Removing requirement that you not try to quote yourself.
Multiline quotes cannot reasonably enforce this policy.
2013-05-07 18:41:51 -04:00
Chris Sexton 14b0e02235 Fixing twitter import 2013-05-06 22:04:45 -04:00
Chris Sexton d87f7779ab Renaming project to reflect bot's actual name. 2013-05-06 01:11:54 -04:00
Chris Sexton ea60a899c7 Converting imports to github, added license & full readme 2013-05-06 01:11:54 -04:00
Chris Sexton cc58de580a Enabling new stuff 2013-05-06 01:11:53 -04:00
Chris Sexton 543526478e Embiggening the exclusions list 2013-05-06 01:11:53 -04:00
Chris Sexton 9b51ce79ba Taking care of obnoxious users calling first. 2013-05-06 01:11:53 -04:00
Chris Sexton ee1962b71c Adding ~= and =~ equality for factoids 2013-05-06 01:11:53 -04:00
Chris Sexton 340b7ee1ae Cleanup 2013-05-06 01:11:53 -04:00
Chris Sexton 80295590af Adding your plugin 2013-05-06 01:11:53 -04:00
Chris Sexton ebb76e5d9c Removed channel specific setting in talker 2013-05-06 01:11:53 -04:00
Chris Sexton 84e7001165 Added a say command to talker 2013-05-06 01:11:53 -04:00
Chris Sexton 7f4c9cf311 Simple twitter stuff, nothing working yet 2013-05-06 01:11:53 -04:00
Chris Sexton 0bc60518ee Adding twitter plugin (non-functional) 2013-05-06 01:11:52 -04:00
Chris Sexton aec9b8e743 Making first still reply 2013-05-06 01:11:52 -04:00
Chris Sexton ecdc1a7bb7 Adding support for QUIT 2013-05-06 01:11:52 -04:00
Chris Sexton a779dc4720 Added ball tattoo 2013-05-06 01:11:52 -04:00
Chris Sexton 535f1152eb Added goatse response 2013-05-06 01:11:52 -04:00
Chris Sexton ee15217634 Made first an announcing event 2013-05-06 01:11:52 -04:00
Chris Sexton 1e32fbf5ea Making downtime also remove reference to self 2013-05-06 01:11:52 -04:00
Chris Sexton 18dcb5884d Fixing a counter crash; trying to get more info on zombie downtime users 2013-05-06 01:11:52 -04:00
Chris Sexton 66a149f2e8 Making idle return true 2013-05-06 01:11:52 -04:00
Chris Sexton 0fc2f81f17 Reversing idle list and fixing insert/upsert 2013-05-06 01:11:52 -04:00
Chris Sexton 290d687be4 Added an idle command to list all idles 2013-05-06 01:11:52 -04:00
Chris Sexton de5c2f808c whoops, crashed when no first previously existed 2013-05-06 01:11:51 -04:00
Chris Sexton 6434b27626 Added first plugin to track who said first in the channel 2013-05-06 01:11:51 -04:00
Chris Sexton 64d0d73734 Oops, unused import 2013-05-06 01:11:51 -04:00
Chris Sexton 1a0747c3fa Removing idle code because it crashes 2013-05-06 01:11:51 -04:00