Commit Graph

142 Commits

Author SHA1 Message Date
Chris Sexton c42ae647f3 Update main.go 2019-10-20 11:30:40 -04:00
Chris Sexton c0feed1353 Update main.go 2019-10-20 11:30:40 -04:00
Chris Sexton 3966fd55f7 fuck: add a brainfuck interpreter to the bot 2019-10-20 09:21:27 -04:00
Chris Sexton 42c083314c twitter: add plugin 2019-10-17 09:40:40 -04:00
Chris Sexton 286582417b bid: connect scores/bids/etc to the chat 2019-07-15 16:55:35 -04:00
skiesel d372541735 stock checker 2019-06-07 14:32:20 -04:00
Chris Sexton 42f7f52bfb cli: make a new plugin 2019-05-27 19:23:05 -04:00
skiesel 650ccb190d TL;DR Latent Dirichlet Allocation summarizer 2019-03-21 20:12:15 -04:00
Chris Sexton 75c32566d1 logging: update configuration
* Turned stack trace on for Errs
* Turned file trace on for all logs
* Added error where a panic was detected earlier in the day
* Added `run.sh` to ignore
2019-03-07 15:36:59 -05:00
Chris Sexton a2d5d173f9 logging: switch to a logging library 2019-03-07 11:46:59 -05:00
Chris Sexton 30944bf620 Revert "main: removed zork plugin"
This reverts commit 6fb0990a11.
2019-02-15 15:00:01 -05:00
Chris Sexton 47a824e8da remember: fixed something? It works now. 2019-02-15 14:54:14 -05:00
Chris Sexton 6fb0990a11 main: removed zork plugin 2019-02-13 12:08:16 -05:00
Chris Sexton a1e170aa40 slackApp: stop racing to serve on the http port 2019-02-07 14:45:59 -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 287c26440e emojify: don't chomp up the rest of the pipeline
added bonus fix
2019-02-05 16:02:00 -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 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 0593b4f164 config: set some defaults 2019-01-21 19:16:57 -05:00
Chris Sexton 742c76f562 config: add defaults checking where necessary 2019-01-21 14:24:03 -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 0663c85b98 Up your nerd game, nerd. 2019-01-18 19:57:17 -05:00
Chris Sexton ae3750fa2a Merge branch 'ping'
* ping:
  Add a ping/pong message to slack.
2018-08-28 17:01:44 -04:00
Chris Sexton e15122cfe9 bot: refactor all rand seeds into main.go 2018-07-23 13:00:19 -04:00
Chris Sexton ae4e28c5be Add a ping/pong message to slack.
There was an error with buffers ending in \x00 unmarshaling the message when it was short:
{"type": "pong"}

My solution was to just include a timestamp to make the message large enough to fill the
initial buffer size. Perfect.
2018-06-27 08:41:23 -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 0357e59858 db: Add plugin to access DB
Can now download the database at /db/catbase.db
2018-02-22 17:41:48 -05:00
Chris Sexton 132fdd29be picker: add new plugin 2017-12-19 13:37:47 -05:00
Chris Sexton 1a420c1738 tell: create tell plugin 2017-11-16 17:06:48 -05:00
Chris Sexton 827879b72d sisyphus: add plugin 2017-11-03 19:03:19 -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 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
Chris Sexton 0220b8f266 main: fix flags to default to config.lua 2017-09-07 00:38:41 -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
cws 19578f7147 first: re-enable 2017-08-18 05:59:46 -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
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 9c39e3cd41 barebones rss headline skimmer 2017-05-10 15:19:07 -04:00
cws 1874f43e6c disable twitch 2017-01-05 09:49:47 -05:00
skiesel 5cf384e633 check twitch to see who is streaming 2016-08-08 21:15:09 -04:00
Ethan Burns 06eef50025 Add zork plugin. 2016-05-15 16:43:47 -04:00
skiesel 8c5a446b75 markov babbler plugin 2016-05-09 16:48:05 -04:00
skiesel 2764410ad4 new reminder plugin 2016-05-09 13:09:17 -04:00
cwsexton ebea6df461 Re-enable counter plugin 2016-04-04 10:33:32 -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 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 a14a2b2e61 Yup. Leftpad. 2016-03-25 12:25:00 -04:00
Chris Sexton 762ec13780 Fixes #20: move plugins to their own pkgs 2016-03-24 13:32:40 -04:00
Chris Sexton ae5d7dec2e Migrate to sqlx; modularize counters 2016-03-19 14:02:46 -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
Chris Sexton 74e981eedf Fix imports; Use SSL by default
Fix imports to point to github instead of code.google
2016-01-17 22:51:11 -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 c91f4a8535 Migrate factoids to SQL 2016-01-17 10:29:30 -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 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 1827765a4d Fixes #56 again because I did it wrong. 2014-04-20 15:08:24 -04:00
Chris Sexton 9952154433 Fixes #56: Add rate limit to outgoing messages 2014-04-20 12:54:01 -04: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 2c0dc55452 Big overhaul again! Replaced fluffle's goirc library with velour/irc.
Hopefully this new library will provide me with some benefits such as being able
to actually get and respond to a WHO message. Yet to do is to fix sendMessage to
be a channel on Bot with a goroutine that formats and sends messages on. Also,
figuring out how to handle the WHO response and populate users.
2013-06-01 22:06:31 -04:00
Chris Sexton 45b6ffa819 Fixes #18: Go fmt on everything. Turns out only main needed it 2013-05-09 18:31:57 -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 80295590af Adding your plugin 2013-05-06 01:11:53 -04:00
Chris Sexton ecdc1a7bb7 Adding support for QUIT 2013-05-06 01:11:52 -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 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 66e2c8265d Added functionality for downtime tracking 2013-05-06 01:11:50 -04:00
Chris Sexton 4280440028 Added die roller, fixed bot command addressing. 2013-05-06 01:11:49 -04:00
Chris Sexton b418096bf6 Added dynamic variables (I'm sure this is going to backfire) 2013-05-06 01:11:47 -04:00
Chris Sexton 6f3c817e7f Initial version of factoids seems to work. Probably some bugs to work out. Added
some $vars.
2013-05-06 01:11:46 -04:00
Chris Sexton c50a908af5 Added empty factoid plugin 2013-05-06 01:11:46 -04:00
Chris Sexton 3e7f8d4248 Reduced the messages on the console 2013-05-06 01:11:45 -04:00
Chris Sexton 9c721a0f58 Added generic Event handling to plugins, made Talker handle the OCD hivemind 2013-05-06 01:11:45 -04:00
Chris Sexton 3953f0a831 Massive improvements to the remember plugin, fixed some help issues, added ACTION parsing. 2013-05-06 01:11:45 -04:00
Chris Sexton 64394b90f9 Added remember plugin to remember quotes from IRC users. This has several
serious flaws:

* Things can be re-remembered. There needs to be safeies on checking for past
  remembered items
* This works across all channels that the bot is enabled in
* This allows users to remember themselves
* Probably something I forgot.
2013-05-06 01:11:45 -04:00
Chris Sexton 1dafd3af6e Added a lot more code to the beers plugin. Needs datastore still and some more
of its commands, but the skeleton is there. Added support for commands.
2013-05-06 01:11:44 -04:00
Chris Sexton 59b42b1556 Added a skeleton plugin (and beers based on that) and improved the help function
a bit.
2013-05-06 01:11:44 -04:00
Chris Sexton ad2e0f13e2 Added help command as a general builtin and created some record of the version
we're running. Help text refers to this repository.
2013-05-06 01:11:44 -04:00
Chris Sexton ce798b120a Moved all import paths to the bitbucket location 2013-05-06 01:11:44 -04:00
Chris Sexton f31362fca4 Added the felpsbot talker which exhibits the formatter a little bit. This is a
function that will be used to transform strings that include $variables into
strings that include the original meaning. This eventually needs to be some kind
of configurable thing so that new $vars can be added dynamically, however some
of the $vars are static and need not change.
2013-05-06 01:11:44 -04:00
Chris Sexton e1c841ecae Added mgo dependencies, basis for database access among modules 2013-05-06 01:11:44 -04:00
Chris Sexton 4b9b8fa682 Initial revision of the godeepintir bot. This is a revised version of deepintir,
a python bot which used ii to connect. This version houses its own IRC
connection and therefore is most useful with a bouncer such as ZNC. This initial
version does not exhibit much functionality. It can only show off how plugins
might be written in later versions and currently mimics anything said to it.
There may be bugs, and it will most certainly be altered in signifigant ways
before the API is stable.
2013-05-06 01:11:44 -04:00