This website requires JavaScript.
4cdcc388b6
Fix bug where message params were not being trimmed properly
master
Alek Ratzloff
2020-11-16 18:20:23 -08:00
0bdb3e3e81
Change how docker-compose maps volumes
Alek Ratzloff
2020-08-19 16:27:31 -07:00
cd16b20270
Fix formatting for configuration docs in config.ex and README
Alek Ratzloff
2020-08-19 14:14:47 -07:00
99c59439cd
Add root 'channels' configuration docs to config.ex and README
Alek Ratzloff
2020-08-19 14:13:02 -07:00
74fc04fa63
Add LICENSE (AGPL3) and info about it in README
Alek Ratzloff
2020-08-19 14:09:09 -07:00
e4364bf380
Add instructions on how to configure the bot and run it in README
Alek Ratzloff
2020-08-19 14:02:32 -07:00
44e8a3358d
Update mix.lock
Alek Ratzloff
2020-08-18 17:31:34 -07:00
052bdcaabc
Add awareness of mix deps to docker stuff
Alek Ratzloff
2020-08-18 17:30:21 -07:00
ba877e5420
Set default markov reply chance to 0.00 in the chain
Alek Ratzloff
2020-08-18 17:01:40 -07:00
528334bff8
Rearrange lib/core.ex code some more
Alek Ratzloff
2020-08-18 16:41:51 -07:00
d3de274e48
Rearrange lib/core.ex code
Alek Ratzloff
2020-08-18 16:41:27 -07:00
a73d94376f
Add top-level channels to example config
Alek Ratzloff
2020-08-18 16:34:28 -07:00
09cb4ac752
Update config with some docs
Alek Ratzloff
2020-08-18 16:33:43 -07:00
8789f8b097
Add top-level channels to configuration
Alek Ratzloff
2020-08-18 16:28:45 -07:00
e288ee1e27
Ignore build data with docker-compose
Alek Ratzloff
2020-08-18 15:44:13 -07:00
feda81f205
Remove some stray comments from docker-compose.yml
Alek Ratzloff
2020-08-18 15:20:14 -07:00
88bd7a6231
Add Dockerfile, docker-compose.yml, and docker.env
Alek Ratzloff
2020-08-18 15:17:53 -07:00
5742bf52e2
Rename OMNIBOT_CFG env variable to OMNIBOT_CONFIG
Alek Ratzloff
2020-08-18 15:17:12 -07:00
fe0fb59977
Fix up logic for Omnibot.Core pinging and auto-reconnect
Alek Ratzloff
2020-08-12 18:25:24 -07:00
8d42e6ecb3
Add ping watcher to Omnibot.Core
Alek Ratzloff
2020-08-12 15:33:04 -07:00
a3e4a088b3
Add Omnibot.Plugin.Base.on_connect/1 callback
Alek Ratzloff
2020-08-12 15:31:40 -07:00
0f3edb52bc
Add cfg/1 to Omnibot.Plugin macro
Alek Ratzloff
2020-08-12 15:27:07 -07:00
c1602065ae
Update Omnibot.Core state to use a map for flexibility
Alek Ratzloff
2020-08-11 16:17:42 -07:00
aa6a4bf5fa
Move lib/core/core.ex -> lib/core.ex
Alek Ratzloff
2020-08-11 16:14:08 -07:00
906a20bda1
Update calls of Enum.member?/1 to be 'x in y' instead
Alek Ratzloff
2020-08-11 16:00:09 -07:00
1f574dd0eb
Remove lib/state.ex
Alek Ratzloff
2020-08-11 15:58:42 -07:00
3b7562a1d2
Add base moduledoc to Plugin.Supervisor
Alek Ratzloff
2020-08-11 15:55:36 -07:00
accfc2a7fe
Remove old TODO
Alek Ratzloff
2020-08-11 15:43:43 -07:00
66b20c976f
Remove Omnibot.State from process tree
Alek Ratzloff
2020-08-11 15:37:02 -07:00
2f378dd438
Finish removing Omnibot.State functions
Alek Ratzloff
2020-08-11 15:23:53 -07:00
2165167954
Remove usage of State.all_channels/0
Alek Ratzloff
2020-08-11 13:30:32 -07:00
2dc7bbd94d
Replace all other State.cfg/0 in favor of Irc.cfg/1
Alek Ratzloff
2020-08-11 12:52:37 -07:00
6110420015
Comment out !markov status command, since it's quite expensive
Alek Ratzloff
2020-08-11 12:50:33 -07:00
715480230a
Remove Omnibot.State.cfg/0 from Omnibot.Irc module
Alek Ratzloff
2020-08-11 12:48:28 -07:00
b423507796
Add deprecations for Omnibot.State functions
Alek Ratzloff
2020-08-11 12:46:54 -07:00
f89b31520b
Add some more fortunes for fortune module
Alek Ratzloff
2020-08-11 12:45:29 -07:00
192e1b2b08
Add Omnibot.Config documentation
Alek Ratzloff
2020-07-21 18:09:15 -07:00
0960d8f541
Fix test/util_test.exs formatting to move alias into defmodule body
Alek Ratzloff
2020-07-21 17:47:24 -07:00
6de47a2fec
Update example config 'modules' and 'module_paths' to use 'plugin(s)' instead
Alek Ratzloff
2020-07-21 17:45:03 -07:00
d91493fd46
Reformat markov bot's @default_config array
Alek Ratzloff
2020-07-21 17:11:05 -07:00
dac2c7438a
Minor change of 'if not' -> 'unless'
Alek Ratzloff
2020-07-21 14:59:55 -07:00
b1461e24db
Fix bug in Markov.Chain where reply_chance would get reset, add regression tests for this
Alek Ratzloff
2020-07-21 14:58:10 -07:00
ec1dd42ca1
Fix routing bug in IRC and base plugin
Alek Ratzloff
2020-07-18 14:09:17 -07:00
d2a1cb541d
Change message routing logic to be an implication instead of AND
Alek Ratzloff
2020-07-17 22:14:40 -07:00
b72071793b
Remove unnecessary kruft
Alek Ratzloff
2020-07-17 22:14:33 -07:00
9fac85cc9a
Remove extraneous IO.inspect calls
Alek Ratzloff
2020-07-17 21:43:48 -07:00
109cd67b37
Add reply_chance to markov chains and markov commands
Alek Ratzloff
2020-07-17 21:39:39 -07:00
e375f1604a
Finish up markov with implementation of !markov status
Alek Ratzloff
2020-07-17 20:51:01 -07:00
04a4c740bd
Add allchain and implement "all", "emulate" commands for markov plugin
Alek Ratzloff
2020-07-17 20:08:18 -07:00
9dc1033cd2
Add merge/1 and merge/2 to Markov.Chain
Alek Ratzloff
2020-07-17 20:07:02 -07:00
6f625c21ca
Add Markov.ChainServer for Markov plugin
Alek Ratzloff
2020-07-17 17:40:22 -07:00
9cfc77d1a4
Squash warning in wordbot re: function parens
Alek Ratzloff
2020-07-17 17:40:14 -07:00
880f363792
Remove (supervisor) opts from Omnibot.Plugin opts, update Plugin.Supervisor to use :one_for_all strategy by default
Alek Ratzloff
2020-07-17 17:37:55 -07:00
e88bd58229
Update markov chains to be backed by maps instead of lists
Alek Ratzloff
2020-07-17 17:33:52 -07:00
296f061a70
Bump us back up to Elixir 1.10
Alek Ratzloff
2020-07-17 17:15:27 -07:00
bb8ebca0b8
IRC messages are not routed if they are sent by the bot
Alek Ratzloff
2020-07-16 18:00:43 -07:00
02470bcf1d
Add "ignore" list to wordbot plugin
Alek Ratzloff
2020-07-16 17:54:34 -07:00
4c93b42fdc
Finish markov chain generation impl
Alek Ratzloff
2020-07-15 16:25:25 -07:00
c43c075588
Minor changes all around
Alek Ratzloff
2020-07-14 19:13:43 -07:00
522c62a55c
Finish plugin and routing overhaul, there's a new model in town:
Alek Ratzloff
2020-07-14 15:05:00 -07:00
9679c46e15
WIP: Supervisor-based plugin base
Alek Ratzloff
2020-07-12 12:19:14 -07:00
e2a746709d
Update Plugin.GenServer to match the same pattern that Plugin.Supervisor does, remove Omnibot.Plugin
Alek Ratzloff
2020-07-11 16:01:57 -07:00
9a8c6f2472
Finish up Plugin.Supervisor, replace markov and wordbot implementations with it
Alek Ratzloff
2020-07-11 15:43:07 -07:00
369c9824fb
Rename Plugin.Supervisor to PluginSupervisor
Alek Ratzloff
2020-07-09 16:39:24 -07:00
8cddd8e78e
Move markov to be a supervisor plugin
Alek Ratzloff
2020-07-09 14:51:33 -07:00
010d60f4f9
Actually remove Hooks from Plugin.Base - forgot to add this two commits ago oopz
Alek Ratzloff
2020-07-09 14:50:49 -07:00
06847b0028
Add logs/ directory to gitignore
Alek Ratzloff
2020-07-09 14:50:42 -07:00
9c69ca7b72
Markov chains appear to be training correctly
Alek Ratzloff
2020-07-08 17:25:26 -07:00
1a73a62a2c
Add train/2 and add_weight/4 implementations to Markov Chain
Alek Ratzloff
2020-07-08 12:59:34 -07:00
dd65d87fef
Remove binary_test because it's not actually needed
Alek Ratzloff
2020-07-08 12:59:19 -07:00
6d503089e4
Add binary search to Util
Alek Ratzloff
2020-07-08 11:29:13 -07:00
13ffcbbbc0
Add OnConnect plugin example
Alek Ratzloff
2020-07-06 18:13:37 -07:00
1105d6c0e1
Remove Plugin.Agent, replace everywhere with Plugin.GenServer
Alek Ratzloff
2020-07-06 17:12:35 -07:00
b12a7d76f8
Fix small bug where plugins that don't override on_msg/2 would report errors
Alek Ratzloff
2020-07-06 17:02:41 -07:00
e4062d06ef
Update mix.exs to require only version 1.7 (which is what Debian 10 uses)
Alek Ratzloff
2020-07-06 17:02:21 -07:00
d1428623a6
Add OnConnect plugin
Alek Ratzloff
2020-07-06 17:01:29 -07:00
a190114a30
Rename module_supervisor.ex -> plugin/supervisor.ex, and PluginSupervisor -> Plugin.Supervisor
Alek Ratzloff
2020-07-02 18:53:45 -07:00
d73dabef43
Rename lib/contrib/wordbot.ex -> lib/contrib/wordbot/wordbot.ex
Alek Ratzloff
2020-07-02 18:50:34 -07:00
96c5ed78cf
Rename lib/irc.ex -> lib/irc/irc.ex
Alek Ratzloff
2020-07-02 18:49:48 -07:00
8f112487c1
Update the instance of "module" with "plugin" and "mod" with "plug" where appropriate
Alek Ratzloff
2020-07-02 18:30:46 -07:00
62a1064e87
Remove a couple of files that were accidentally introduced in the last commit
Alek Ratzloff
2020-07-02 18:30:34 -07:00
f004b0ed01
Add lib/plugin that was removed in the last commit, whoops
Alek Ratzloff
2020-07-02 18:23:55 -07:00
4d7073cfcd
Rename Module -> Plugin with basic find/replace
Alek Ratzloff
2020-07-02 18:23:24 -07:00
fcfdb17daa
Format and add some comments to the linkbot module
Alek Ratzloff
2020-07-02 18:14:38 -07:00
e3f30d30c1
Make linkbot title parsing more robust
Alek Ratzloff
2020-07-02 18:09:09 -07:00
67192f2c5e
Fix small bug with wordbot word score choice
Alek Ratzloff
2020-07-02 18:04:13 -07:00
15fd7bf032
Update example config
Alek Ratzloff
2020-07-02 17:26:14 -07:00
d56c0bf75c
Update wordbot leaderboard and scoreboard to use "denotified" nicks
Alek Ratzloff
2020-07-02 17:23:29 -07:00
9b11c1c44d
Remove old TODO
Alek Ratzloff
2020-07-02 16:35:52 -07:00
0c15496579
Implement wordbot leaderboard command
Alek Ratzloff
2020-07-02 16:35:19 -07:00
7f8a886550
Polish off wordbot implementation, add Omnibot.Module.GenServer
Alek Ratzloff
2020-07-02 16:23:38 -07:00
67ba7a5847
WIP: Wordbot
Alek Ratzloff
2020-07-01 12:04:51 -07:00
871b7771fe
Further separate module agents and module impl
Alek Ratzloff
2020-06-14 18:46:19 -04:00
0b01f3524e
Add tests for Omnibot.Contrib.Linkbot
Alek Ratzloff
2020-06-14 18:10:34 -04:00
7f6a5e8a90
Fix small bug with linkbot where Regex.scan() would return a list of lists, instead of a list of strings
Alek Ratzloff
2020-06-14 18:10:10 -04:00
4b269675d5
Clean up tasks being started by Omnibot.Irc.route_msg/2
Alek Ratzloff
2020-06-14 18:00:31 -04:00
76d96c2fe2
Rename Omnibot.Module -> Omnibot.Module.Base, add Omnibot.Module with agent
Alek Ratzloff
2020-06-14 17:34:06 -04:00
95fc775349
Update main supervisor to only start the IRC connection if IEx is *not* running
Alek Ratzloff
2020-06-14 16:47:44 -04:00
f12bc13e13
Remove test code and add hostname blacklist to Linkbot
Alek Ratzloff
2020-06-14 16:41:40 -04:00
6b44e21e53
Fixup README
Alek Ratzloff
2020-06-13 22:15:46 -04:00