Self-hosted alternative to one of the big bots managed by big companies…
Find a file
2022-09-06 00:52:23 +02:00
.github [docs] Update README and funding 2021-10-22 21:37:48 +02:00
ci [editor] Rework to use esbuild / Vue component files (#12) 2021-12-06 17:25:19 +01:00
crypt [#26] Fix: Modify channel module not working for editor-bots (#27) 2022-04-23 17:24:49 +02:00
docs Allow to customize token 2021-04-04 20:26:32 +02:00
editor [editor] Rework to use esbuild / Vue component files (#12) 2021-12-06 17:25:19 +01:00
examples/plugin [lint] Properly format inputs 2021-11-25 23:48:16 +01:00
internal Lint: Fix broken / missing nosec / nolint comments 2022-09-06 00:35:20 +02:00
plugins [#26] Fix: Modify channel module not working for editor-bots (#27) 2022-04-23 17:24:49 +02:00
src [editor] Add explanatory hint for exceptions 2022-06-20 19:02:00 +02:00
twitch Lint: Fix broken / missing nosec / nolint comments 2022-09-06 00:35:20 +02:00
wiki Add randomString template function 2022-08-16 17:55:23 +02:00
.dockerignore [editor] Rework to use esbuild / Vue component files (#12) 2021-12-06 17:25:19 +01:00
.eslintrc.js [editor] Rework to use esbuild / Vue component files (#12) 2021-12-06 17:25:19 +01:00
.gitignore [editor] Rework to use esbuild / Vue component files (#12) 2021-12-06 17:25:19 +01:00
.golangci.yml Lint: Remove deprecated linters 2022-09-06 00:11:52 +02:00
.repo-runner.yaml CI: Fix missing tooling in CI image 2022-09-06 00:06:41 +02:00
action_counter.go [counter] Add template support for counter step 2022-01-31 01:50:08 +01:00
action_script.go [lint] Properly format inputs 2021-11-25 23:48:16 +01:00
action_setvar.go [lint] Properly format inputs 2021-11-25 23:48:16 +01:00
actions.go [core] Fix: Notify event handlers before rules to prevent delays 2022-05-02 00:12:57 +02:00
actorDocs.go [lint] Properly format inputs 2021-11-25 23:48:16 +01:00
actorDocs.tpl [quotedb] Add new actor 2021-10-19 00:22:05 +02:00
auth.go [#26] Fix: Modify channel module not working for editor-bots (#27) 2022-04-23 17:24:49 +02:00
automessage.go [automessage] Add disable switch 2021-12-18 19:22:18 +01:00
botEditor.go [core] Implement dynamic token update and broadcaster permissions (#13) 2021-12-31 13:42:37 +01:00
botUserState.go [lint] Properly format inputs 2021-11-25 23:48:16 +01:00
config.go Lint: Replace deprecated io/ioutil package 2022-09-06 00:34:30 +02:00
configEditor.go [editor] Add bot version to frontend 2022-01-20 01:16:20 +01:00
configEditor_automessage.go [lint] Properly format inputs 2021-11-25 23:48:16 +01:00
configEditor_dev.go [editor] Rework to use esbuild / Vue component files (#12) 2021-12-06 17:25:19 +01:00
configEditor_general.go [#26] Fix: Modify channel module not working for editor-bots (#27) 2022-04-23 17:24:49 +02:00
configEditor_global.go [editor] Fix: Upgrade contains a header send, error must not send headers 2022-02-10 00:30:40 +01:00
configEditor_prod.go [editor] Rework to use esbuild / Vue component files (#12) 2021-12-06 17:25:19 +01:00
configEditor_rules.go [lint] Properly format inputs 2021-11-25 23:48:16 +01:00
configwatch.go Fix: Do not spam events when file is gone for longer 2021-05-24 18:00:50 +02:00
cors.go [core] Fix: Allow PATCH method in CORS 2022-03-29 00:56:10 +02:00
default_config.yaml Breaking: Add configuration interface and switch to more generic config format (#7) 2021-09-22 15:36:45 +02:00
Dockerfile [editor] Update nodejs build version and deps 2022-02-26 17:26:02 +01:00
events.go [core] Add support for "annoumcement" event type 2022-04-01 02:02:14 +02:00
fields.go Expose user_id in events 2022-06-17 22:13:47 +02:00
functions.go [editor] Rework to use esbuild / Vue component files (#12) 2021-12-06 17:25:19 +01:00
functions_counter.go [lint] Properly format inputs 2021-11-25 23:48:16 +01:00
functions_irc.go [lint] Properly format inputs 2021-11-25 23:48:16 +01:00
functions_twitch.go [core] add streamUptime / formatDuration template functions 2021-10-13 14:30:45 +02:00
git.go [core] Allow the bot to track config editor changes through Git 2021-10-22 17:09:39 +02:00
go.mod [customevent] Add API module to create custom events 2022-03-31 00:23:19 +02:00
go.sum [overlays] Add overlays server capability (#14) 2022-02-08 19:58:19 +01:00
helpers.go Lint: Fix daedcode / error message 2022-01-31 02:14:36 +01:00
History.md prepare release v2.7.1 2022-09-06 00:52:23 +02:00
irc.go [core] Make number of subscribed months available for subgift 2022-07-31 14:06:43 +02:00
LICENSE Add META 2020-12-21 01:55:48 +01:00
main.go Lint / SEC: Add mitigation for slowloris DoS attack vector 2022-09-06 00:35:40 +02:00
Makefile [wiki] Update actor documentation 2022-02-10 02:02:25 +01:00
msgformatter.go [msgformatter] Fix: Trim leading / trailing spaces 2022-07-16 21:45:14 +02:00
package-lock.json [editor] Update nodejs build version and deps 2022-02-26 17:26:02 +01:00
package.json [ci] Ensure build dependencies are available for prod builds 2022-01-20 02:20:22 +01:00
plugins.go [lint] Properly format inputs 2021-11-25 23:48:16 +01:00
plugins_core.go [template] Add inList function 2022-06-20 21:55:24 +02:00
plugins_unsupported.go Add plugin support to allow extending of functionality (#6) 2021-08-19 15:33:56 +02:00
README.md [docs] Update README 2022-01-05 18:17:07 +01:00
scopes.go [#26] Fix: Modify channel module not working for editor-bots (#27) 2022-04-23 17:24:49 +02:00
status.go [status] Fix: Add missing API docs 2022-03-31 00:29:27 +02:00
store.go [#26] Fix: Modify channel module not working for editor-bots (#27) 2022-04-23 17:24:49 +02:00
swagger.go [lint] Properly format inputs 2021-11-25 23:48:16 +01:00
swagger.html [openapi] Allow subdir serving 2021-10-10 01:40:44 +02:00
timers.go Add plugin support to allow extending of functionality (#6) 2021-08-19 15:33:56 +02:00
twitchWatcher.go [#26] Fix: Modify channel module not working for editor-bots (#27) 2022-04-23 17:24:49 +02:00
writeAuth.go [overlays] Add overlays server capability (#14) 2022-02-08 19:58:19 +01:00
wrNoOpCloser.go Add raw-log functionality 2021-04-09 18:14:44 +02:00

Go Report Card

Luzifer / twitch-bot

Twitch-Bot is intended as an alternative to having a bot managed by Streamlabs or Streamelements and therefore having more control over it, the availability and how it works.

At the moment it is a work-in-progress and does not yet implment all features it shall in the future.

Configuration

Please see the Wiki for documentation of the configuration file.

# twitch-bot --help
Usage of twitch-bot:
      --base-url string                  External URL of the config-editor interface (set to enable EventSub support)
      --command-timeout duration         Timeout for command execution (default 30s)
  -c, --config string                    Location of configuration file (default "./config.yaml")
      --log-level string                 Log level (debug, info, warn, error, fatal) (default "info")
      --plugin-dir string                Where to find and load plugins (default "/usr/lib/twitch-bot")
      --rate-limit duration              How often to send a message (default: 20/30s=1500ms, if your bot is mod everywhere: 100/30s=300ms, different for known/verified bots) (default 1.5s)
      --storage-encryption-pass string   Passphrase to encrypt secrets inside storage (defaults to twitch-client:twitch-client-secret)
      --storage-file string              Where to store the data (default "./storage.json.gz")
      --twitch-client string             Client ID to act as
      --twitch-client-secret string      Secret for the Client ID
      --twitch-token string              OAuth token valid for client (fallback if no token was set in interface)
  -v, --validate-config                  Loads the config, logs any errors and quits with status 0 on success
      --version                          Prints current version and exits
# twitch-bot help
Supported sub-commands are:
  actor-docs                     Generate markdown documentation for available actors
  api-token <name> <scope...>    Generate an api-token to be entered into the config
  help                           Prints this help message