Chris Sexton
a1e170aa40
slackApp: stop racing to serve on the http port
2019-02-07 14:45:59 -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
4b5b66dd6d
bot: unroll args
2019-02-05 15:24:49 -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
5ee5f33e36
tests: refactor for new system
2019-02-05 15:02:15 -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
1f69a653a9
tests: refactor mock to match new interface
2019-02-05 11:37:33 -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
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
Chris Sexton
e15122cfe9
bot: refactor all rand seeds into main.go
2018-07-23 13:00:19 -04:00
Chris Sexton
c639d460ac
go fmt
2018-05-02 07:02:04 -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
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
cws
755cfc38cd
slack: mark channels read, keep a current marker
2017-07-25 13:58:04 -04:00
Scott Kiesel
e059b51fcf
Merge branch 'master' into emojifyme
2017-07-25 06:17:11 -04:00
skkiesel
1b09106356
Add missing methods (React and GetEmojiList) to mockbot
2017-07-25 06:15:44 -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
d5bc4d8f45
bot: add missing mock func to fix tests
...
skiesel forgot.
2017-07-24 07:38:03 -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
cws
ef0afc2ee0
Fix detection of users on incoming messages
2017-01-05 09:48:57 -05:00
cwsexton
0badd5f2ce
Add multiple command character support.
...
Now you can use ¡!
2016-09-27 12:42:00 -04:00
Chris Sexton
079c6ab2ec
Fix variable support
2016-05-20 16:28:48 -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
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
a34afa97ad
Switch web query to a regex
2016-03-29 12:34:04 -04:00
Chris Sexton
dc793a18c9
Fix help command to only respond when there is a space afterwards
2016-03-21 18:05:51 -04:00
Chris Sexton
2a702c7061
Fix license tags
2016-03-19 15:32:51 -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
56c6d84813
Add TODO, small fix to factoid web interface
2016-01-17 12:45:07 -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
a07a6adc0d
Fixes #46 : Filter self out of user list
2014-04-20 21:06:42 -04:00
Chris Sexton
1827765a4d
Fixes #56 again because I did it wrong.
2014-04-20 15:08:24 -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
449b9ca499
Fixing user assignment bug
2013-09-02 13:38:27 -04:00
Chris Sexton
d7389dfc5d
Removing debug stuff
2013-09-02 13:35:38 -04:00
Chris Sexton
d35fba2f87
Fixing admin rights & user entries
2013-09-02 13:34:20 -04:00
Chris Sexton
9e1d3de25c
Changing to match many people
2013-08-30 22:09:45 -04:00
Chris Sexton
0627f8a015
Fixes #41 : Don't require a space for a command
2013-08-26 12:18:57 -04:00
Chris Sexton
0acd004e59
Fixing self remembering problems stemming from lib change.
2013-06-17 00:04:10 -04:00
Chris Sexton
76e6644b8b
One more fix to the fact spitter.
...
Turns out channels have case.
2013-06-16 22:40:30 -04:00
Chris Sexton
eff200ee15
Fixing multi-channel factoid squirts.
2013-06-16 21:03:43 -04: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
2fc9fd1c84
Making index page a bit better
2013-06-01 13:39:17 -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
13fa9dd079
Removing unused variable
2013-05-07 20:58:20 -04:00
Chris Sexton
75e2c53bd1
Returning command check back to messy if/else. regexp was not good.
2013-05-07 20:56:09 -04:00
Chris Sexton
c3c19dda5f
Fixed crash on startup with empty message from server
2013-05-07 20:23:35 -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
076b985716
Adding the bot to its own list of users. (future usage)
2013-05-07 19:05:40 -04:00
Chris Sexton
03a20d0446
Fixes #11 : Change addressing scheme.
...
Check to be sure there's something other than a space after the bot's name for
addressing purposes.
2013-05-07 18:56:33 -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
84e7001165
Added a say command to talker
2013-05-06 01:11:53 -04:00
Chris Sexton
13b77ad2b1
Fixing case issues
2013-05-06 01:11:52 -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
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
4280440028
Added die roller, fixed bot command addressing.
2013-05-06 01:11:49 -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
0970ee980f
Quieting down the console
2013-05-06 01:11:47 -04:00
Chris Sexton
273b41fa3f
Fixed
2013-05-06 01:11:47 -04:00
Chris Sexton
ac8bc9a145
Added helptext to list variables
2013-05-06 01:11:47 -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
281b910dd6
Added <action> to factiod (or at least action actually working)
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
94063c3967
Added plugin ordering so that all queries are handled by the correct plugin
2013-05-06 01:11:46 -04:00
Chris Sexton
1551463c7f
Added short user name complaining
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
e4c755faaa
Made the bot a bit less verbose (axed some debug printing)
2013-05-06 01:11:45 -04:00
Chris Sexton
a71e743e79
Fixed bugs found on initial unveiling in beers and the handler code.
...
Beers now counts correctly and does not die when it can't find a user. The code
for nonexistant users was bogus and the code for setting beers was not counting
dates.
Handlers were not breaking after finding users (linear scan, ack). This should
probably be switched to a map[string]user type.
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