No description
Find a file
Felipe M. bbb48f49e2
All checks were successful
ci/woodpecker/tag/release Pipeline was successful
fix: embed templates directly
2025-04-21 15:10:08 +02:00
.woodpecker refactor: python -> go 2025-04-20 14:13:44 +02:00
assets What is my purpose? 2020-04-23 11:00:19 +02:00
cmd/butterrobot refactor: python -> go 2025-04-20 14:13:44 +02:00
docs refactor: python -> go 2025-04-20 14:13:44 +02:00
internal fix: embed templates directly 2025-04-21 15:10:08 +02:00
.env-example Added admin interface to manage channels and enabled plugins (#9) 2022-02-05 13:00:20 +01:00
.gitignore refactor: python -> go 2025-04-20 14:13:44 +02:00
.goreleaser.yml ci: fix deprecated attribute in goreleaser 2025-04-21 15:09:54 +02:00
Containerfile refactor: python -> go 2025-04-20 14:13:44 +02:00
go.mod refactor: python -> go 2025-04-20 14:13:44 +02:00
go.sum refactor: python -> go 2025-04-20 14:13:44 +02:00
Makefile refactor: python -> go 2025-04-20 14:13:44 +02:00
README.md refactor: python -> go 2025-04-20 14:13:44 +02:00

Butter Robot

Stable Master
Build stable tag docker image Build latest tag docker image
Test Test

Go framework to create bots for several platforms.

Butter Robot

What is my purpose?

Features

  • Support for multiple chat platforms (Slack, Telegram)
  • Plugin system for easy extension
  • Admin interface for managing channels and plugins
  • Message queue for asynchronous processing

Documentation

Go to documentation

Installation

From Source

# Clone the repository
git clone https://git.nakama.town/fmartingr/butterrobot.git
cd butterrobot

# Build the application
go build -o butterrobot ./cmd/butterrobot

Containers

The fmartingr/butterrobot/butterrobot container image is published on Github packages:

docker pull docker.pkg.git.nakama.town/fmartingr/butterrobot/butterrobot:latest
docker run -d --name butterrobot -p 8080:8080 docker.pkg.git.nakama.town/fmartingr/butterrobot/butterrobot:latest

Configuration

Configuration is done through environment variables:

  • DEBUG: Set to "y" to enable debug mode
  • BUTTERROBOT_HOSTNAME: Hostname for webhook URLs
  • LOG_LEVEL: Logging level (DEBUG, INFO, WARN, ERROR)
  • SECRET_KEY: Secret key for sessions and password hashing
  • DATABASE_PATH: Path to SQLite database file

Platform-specific configuration

Slack

  • SLACK_TOKEN: Slack app access token
  • SLACK_BOT_OAUTH_ACCESS_TOKEN: Slack bot OAuth access token

Telegram

  • TELEGRAM_TOKEN: Telegram bot token

Contributing

git clone git@github.com:fmartingr/butterrobot.git
cd butterrobot
go mod download

Create a .env-local file with the required environment variables:

SLACK_TOKEN=xxx
TELEGRAM_TOKEN=xxx
...

And then you can run it directly:

go run ./cmd/butterrobot/main.go

License

GPL-2.0