Chris Sexton
bbf5b27790
web: remove go template dependency
...
All vue pages now request `/nav` to get a JSON array of navigation
instead of relying on the Go template to have the nav built in. This
cleans up all of the crufty `{{ "{{ thing }}" }}` that was making it
hard to wriet vue.
This also paves the way to using the new Go resource embedding so that
the pages don't need to be wrapped in Go files.
2021-01-09 13:46:28 -05:00
Chris Sexton
9dbdd1f9a3
connectors: add translation layer
...
* URLs can be translated to slack/discord compatible
* Emojy have a connector-specific translation configuration
* Advent of Code plugin respects emojy and URLs
* Config can be wrapped in `` for JSON
2020-12-02 09:53:57 -05:00
Chris Sexton
a30be0df8f
meme/bot: add ephemeral messages
2020-10-24 10:04:53 -04:00
Chris Sexton
11224e0a2f
bot: only provide help for whitelist items
2020-10-16 15:57:04 -04:00
Chris Sexton
5df7644229
remove more logs
2020-10-09 13:58:25 -04:00
Chris Sexton
c8d01029ea
admin: enforce admin status of users
2020-10-09 13:14:25 -04:00
Chris Sexton
969cbb37a1
mock: fix interface
2020-10-09 12:04:33 -04:00
Chris Sexton
2fb84219a0
whitelist: add whitelist of plugins
2020-10-09 12:00:10 -04:00
Chris Sexton
a9937d9b8e
discord: add discord functionality
...
* added discord connector
* modified user to support image avatars instead of URL avatars
* modified meme to send IDs instead of names
2020-09-09 13:21:39 -04:00
Chris Sexton
7b3179fe1d
beers: reorder checkin logic
2020-06-17 14:31:30 -04:00
Chris Sexton
12ca34006f
bot: add ability to disable plugins per channel
...
admin: use 'enable/disable plugin <name>'
2020-06-09 13:52:23 -04:00
Chris Sexton
b13385774e
beers: host your own images
2020-05-25 14:47:02 -04:00
Chris Sexton
0057f91ce6
connectors: add profile to get user icon
2020-05-08 17:49:55 -04:00
Chris Sexton
cee267dbb8
admin: leave and come back
2020-04-29 17:48:55 -04:00
Chris Sexton
0b553da32d
bot: respond to commands given by a message suffix
2020-04-21 16:54:03 -04:00
Chris Sexton
32d1ebaa95
bot: add new variables
...
* $time: a made up time
* $now: current time
* $msg: the user's message
2019-12-29 10:10:18 -05:00
Chris Sexton
b6a89ff06a
web: use secret instead of human test
...
* Applies for services that modify data
* Anybody in the slack can ask for the daily secret
2019-06-13 10:04:06 -04:00
Chris Sexton
05fd032bea
web: bugfix pack
...
* menuize front page
* fix url bug
* fix cli
2019-06-09 00:54:05 -04:00
Chris Sexton
9ea45f0ad3
web: add a menu and redo index
...
We can add arbitrary links now with the `bot.links` config
2019-06-09 00:18:57 -04:00
Chris Sexton
3d51d33da9
slackApp: add logging function
2019-06-07 12:19:24 -04:00
Chris Sexton
fe8763f78a
first: change to per channel
...
And be sure not to pay attention to private/direct messages
2019-06-06 10:33:50 -04:00
Chris Sexton
20a56a4fcc
web: small improvements
2019-05-27 22:16:35 -04:00
Chris Sexton
42f7f52bfb
cli: make a new plugin
2019-05-27 19:23:05 -04:00
Chris Sexton
f267ae07e3
slack: add image support
...
* Make untappd checkins embed images
* Added attachment types as an optional send arg
2019-03-09 22:41:43 -05:00
Chris Sexton
a2d5d173f9
logging: switch to a logging library
2019-03-07 11:46:59 -05:00
Chris Sexton
47a824e8da
remember: fixed something? It works now.
2019-02-15 14:54:14 -05:00
Chris Sexton
32ca0c5bf7
help: fix the help system after I borke it
...
* Also fix twitch's help registration and message
2019-02-12 12:26:27 -05:00
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