No description
|
||
---|---|---|
.woodpecker | ||
assets | ||
cmd/butterrobot | ||
docs | ||
internal | ||
.env-example | ||
.gitignore | ||
.goreleaser.yml | ||
Containerfile | ||
go.mod | ||
go.sum | ||
Makefile | ||
README.md |
Butter Robot
Stable | Master |
---|---|
Go framework to create bots for several platforms.
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
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 modeBUTTERROBOT_HOSTNAME
: Hostname for webhook URLsLOG_LEVEL
: Logging level (DEBUG, INFO, WARN, ERROR)SECRET_KEY
: Secret key for sessions and password hashingDATABASE_PATH
: Path to SQLite database file
Platform-specific configuration
Slack
SLACK_TOKEN
: Slack app access tokenSLACK_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