Commit Graph

684 Commits

Author SHA1 Message Date
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
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
Chris Sexton 0144e7ee6a Changing parting function to split because | counts as a field 2013-05-06 01:11:51 -04:00
Chris Sexton b692f54346 Added properties for other users 2013-05-06 01:11:51 -04:00
Chris Sexton 544ed0e092 Fixing things to be 80-chars wide 2013-05-06 01:11:51 -04:00
Chris Sexton 130e471c8e Fixing insertion of counters for negative counts 2013-05-06 01:11:51 -04:00
Chris Sexton dbb2e97ba3 Small improvement to the situation with no counters 2013-05-06 01:11:51 -04:00
Chris Sexton 5fc0d31db5 Added an inspect and clear operation for counters 2013-05-06 01:11:51 -04:00
Chris Sexton 32b62cf18e Initial version of counters 2013-05-06 01:11:51 -04:00
Chris Sexton f31e43e3bc Accidentally killed ACTION at some point, adding back in 2013-05-06 01:11:50 -04:00
Chris Sexton 2cb0eba9b8 Added new mode support for downtime. Some of the additions in main are not needed, and it may be breaking other plugins. 2013-05-06 01:11:50 -04:00
Chris Sexton a27368af7e Removing extraneous println 2013-05-06 01:11:50 -04:00
Chris Sexton bcbd41a9b6 Fine tuning the dicks 2013-05-06 01:11:50 -04:00
Chris Sexton 66e2c8265d Added functionality for downtime tracking 2013-05-06 01:11:50 -04:00
Chris Sexton ce94b0b258 more dick checking 2013-05-06 01:11:50 -04:00
Chris Sexton a887d0bba9 fixing more things because of assholes 2013-05-06 01:11:50 -04:00
Chris Sexton 4af719fe5b fixing things because of assholes 2013-05-06 01:11:50 -04:00
Chris Sexton 5d90f7a920 Check errors 2013-05-06 01:11:50 -04:00
Chris Sexton ae42e62872 Fixed the name of the bot to always be current (could remove from config.json) 2013-05-06 01:11:50 -04:00
Chris Sexton 8ffac9291b Whoops, we want nicks not users 2013-05-06 01:11:50 -04:00
Chris Sexton 015a4018fe Added a beers-- action 2013-05-06 01:11:49 -04:00
Chris Sexton fbb4250ab7 Fixing some output issues with the dice 2013-05-06 01:11:49 -04:00
Chris Sexton 4280440028 Added die roller, fixed bot command addressing. 2013-05-06 01:11:49 -04:00
Chris Sexton 1099b66492 Fuck Untappd and their representation of empty items in JSON. Just don't include
the fucking field if you don't have data for it!
2013-05-06 01:11:49 -04:00
Chris Sexton 0552c5048d Moved welcome messages to config file for easier updating 2013-05-06 01:11:49 -04:00
Chris Sexton 172567004a Fixed the replacer to ignore "!" on secondary factoid searches. 2013-05-06 01:11:49 -04:00
Chris Sexton c0e41f6940 Fixed the punctuation remover 2013-05-06 01:11:49 -04:00
Chris Sexton 57138b507c Introduced a bug in merge, nick vs user: nick 2013-05-06 01:11:49 -04:00
Chris Sexton acdd5d7403 added 'bourbon counter', heh 2013-05-06 01:11:49 -04:00
Chris Sexton c8f999ac9d Added commetn to untappd checkin 2013-05-06 01:11:48 -04:00
Chris Sexton a05252a2b0 Moved sleep back to the beginning of the for so that he wouldn't spit beers out too quickly on start 2013-05-06 01:11:48 -04:00
Chris Sexton 62bef551a6 Fixed offset checking (broken on Untappd's end 2013-05-06 01:11:48 -04:00
Chris Sexton 396992f838 mistyped the ' key 2013-05-06 01:11:48 -04:00
Chris Sexton 522a1f1c35 testing new remember with fallback 2013-05-06 01:11:48 -04:00
Chris Sexton 7cba01dd20 Removed the is/are function, all triggers must have a <> verb 2013-05-06 01:11:48 -04:00
Chris Sexton 1f88ffdea3 Added untappd support 2013-05-06 01:11:48 -04:00
Chris Sexton 83b28412a7 Changed random quote functionality to only spit out a quote minutes after somebody (other than the quote timer) has said something. The channels may be a bit buggy, but they don't seem to get stuck or spam, so it should be okayish. 2013-05-06 01:11:48 -04:00
Chris Sexton cebe9272e4 Added idea for downtime plugin 2013-05-06 01:11:48 -04:00
Chris Sexton 22fef34db5 Quick formatting fix for searching for factoids 2013-05-06 01:11:48 -04:00