Self-hosted alternative to one of the big bots managed by big companies…
Find a file
Knut Ahlers f7d1f09b5c
[core] Fix: Do not retry any request with body
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2021-12-24 22:14:24 +01: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
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 [ban] Add HTTP API route for banning users 2021-12-10 02:28:44 +01:00
plugins [core] Improve EventSub API request design 2021-12-24 19:59:20 +01:00
src [automessage] Add disable switch 2021-12-18 19:22:18 +01:00
twitch [core] Fix: Do not retry any request with body 2021-12-24 22:14:24 +01:00
wiki [core] Add "follow" event using EventSub 2021-12-24 20:26:14 +01: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 Breaking: Add configuration interface and switch to more generic config format (#7) 2021-09-22 15:36:45 +02:00
.repo-runner.yaml [editor] Rework to use esbuild / Vue component files (#12) 2021-12-06 17:25:19 +01:00
action_counter.go [lint] Properly format inputs 2021-11-25 23:48:16 +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 [lint] Properly format inputs 2021-11-25 23:48:16 +01: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
automessage.go [automessage] Add disable switch 2021-12-18 19:22:18 +01:00
botEditor.go [core] Improve EventSub API request design 2021-12-24 19:59:20 +01:00
botUserState.go [lint] Properly format inputs 2021-11-25 23:48:16 +01:00
config.go [lint] Properly format inputs 2021-11-25 23:48:16 +01:00
configEditor.go [editor] Rework to use esbuild / Vue component files (#12) 2021-12-06 17:25:19 +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 [lint] Properly format inputs 2021-11-25 23:48:16 +01:00
configEditor_global.go [lint] Properly format inputs 2021-11-25 23:48:16 +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 Breaking: Add configuration interface and switch to more generic config format (#7) 2021-09-22 15:36:45 +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] Rework to use esbuild / Vue component files (#12) 2021-12-06 17:25:19 +01:00
events.go [core] Add "follow" event using EventSub 2021-12-24 20:26:14 +01: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 [core] Allow the bot to track config editor changes through Git 2021-10-22 17:09:39 +02:00
go.sum [core] Allow the bot to track config editor changes through Git 2021-10-22 17:09:39 +02:00
helpers.go Breaking: Add configuration interface and switch to more generic config format (#7) 2021-09-22 15:36:45 +02:00
History.md prepare release v2.1.0 2021-12-24 18:28:46 +01:00
irc.go [core] Fix: PRIVMSG does not contain "login"-tag 2021-12-23 15:06:45 +01:00
LICENSE Add META 2020-12-21 01:55:48 +01:00
main.go [core] Add EventSub subscription prefetching 2021-12-24 21:40:55 +01:00
Makefile [editor] Rework to use esbuild / Vue component files (#12) 2021-12-06 17:25:19 +01:00
msgformatter.go [core] Fix: Strip newlines from message templates 2021-12-14 18:35:07 +01:00
package-lock.json [editor] Rework to use esbuild / Vue component files (#12) 2021-12-06 17:25:19 +01:00
package.json [editor] Rework to use esbuild / Vue component files (#12) 2021-12-06 17:25:19 +01:00
plugins.go [lint] Properly format inputs 2021-11-25 23:48:16 +01:00
plugins_core.go [core] Fix: send-message function passed to plugin was nil 2021-12-10 02:28:13 +01:00
plugins_unsupported.go Add plugin support to allow extending of functionality (#6) 2021-08-19 15:33:56 +02:00
README.md [core] Add EventSub support for Twitch-Events (#10) 2021-11-09 12:55:04 +01:00
status.go [core] Add status / health check API 2021-12-12 00:23:06 +01:00
store.go [lint] Properly format inputs 2021-11-25 23:48:16 +01: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 [core] Add "follow" event using EventSub 2021-12-24 20:26:14 +01:00
writeAuth.go [lint] Properly format inputs 2021-11-25 23:48:16 +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-file string        Where to store the data (default "./storage.json.gz")
      --twitch-client string       Client ID to act as
      --twitch-token string        OAuth token valid for client
  -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