Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/target/flottbot

A chatbot framework written in Go. All configurations are made in YAML files, or inside scripts written in your favorite language.
https://github.com/target/flottbot

bot chatbot chatbot-framework chatops discord go golang google-chat hacktoberfest slack telegram yaml

Last synced: 28 days ago
JSON representation

A chatbot framework written in Go. All configurations are made in YAML files, or inside scripts written in your favorite language.

Awesome Lists containing this project

README

        


flottbot logo

Flottbot

---

[![GoDoc](https://godoc.org/github.com/target/flottbot?status.svg)](https://godoc.org/github.com/target/flottbot)
[![Build Status](https://github.com/target/flottbot/workflows/release/badge.svg)](https://github.com/target/flottbot/workflows/release)
[![GitHub release](https://img.shields.io/github/release/target/flottbot.svg)](https://github.com/target/flottbot/releases/latest)
[![Coverage Status](https://coveralls.io/repos/target/flottbot/badge.svg)](https://coveralls.io/r/target/flottbot)
[![Go Report Card](https://goreportcard.com/badge/github.com/target/flottbot)](https://goreportcard.com/report/github.com/target/flottbot)

Flottbot is a chatbot framework written in Go. But there's a catch, you don't need to know a lick of Go! Configure your bot via YAML files, extend functionality by writing scripts in your favorite language.

The philosophy behind flottbot is to create very simple, lightweight, "dumb" bots that interact with APIs and scripts which house a bot's business logic. The word **flott** comes from the German word meaning _quick_/_speedy_.

- [Installation](#installation)
- [Using go](#using-go)
- [Binaries](#binaries)
- [Docker Images](#docker-images)
- [Helm Chart](#helm-chart)
- [Available remotes](#available-remotes)
- [Documentation](#documentation)
- [Contributing](#contributing)
- [Credits](#credits)
- [Contributors](#contributors)

---

## Installation

### Using go

```sh
go get -u github.com/target/flottbot/cmd/flottbot
```

### Binaries

Binaries for Linux, macOS, and Windows are available as [Github Releases](https://github.com/target/flottbot/releases/latest).

## Docker Images

We currently provide a few Docker images:

[target/flottbot](https://hub.docker.com/r/target/flottbot) - Alpine image and flottbot binary installed

[target/flottbot:ruby](https://hub.docker.com/r/target/flottbot) - Alpine image, flottbot binary, and ruby v3.2 installed

[target/flottbot:golang](https://hub.docker.com/r/target/flottbot) - Alpine image, flottbot binary, and golang v1.23 installed

[target/flottbot:python](https://hub.docker.com/r/target/flottbot) - Alpine image, flottbot binary, and python v3.11 installed

_Note: We highly recommend pinning your image to a version, ie. `target/flottbot:0.10.0` or `target/flottbot:ruby-0.10.0`_

_Note: The images run with the unprivileged `flottbot` user (uid/gid 900) by default_

## Helm Chart

To install using the [Helm](https://helm.sh/) chart located in this repo, clone this repo, create [Kubernetes secrets](https://kubernetes.io/docs/concepts/configuration/secret/) for your Slack Token and Slack App Token in your namespace & install the chart:

```sh
helm install helm/flottbot/
```

## Available remotes

| Remote | Status | Documentation |
| ---------------------------------------------------------- | ------ | ------------------------------------------------------------------ |
| [Slack](https://slack.com) | ✔ | [Docs](https://target.github.io/flottbot-docs/basics/slack/) |
| [Discord](https://discordapp.com) | 🚧 | [Docs](https://target.github.io/flottbot-docs/basics/discord/) |
| [Google Chat](https://workspace.google.com/products/chat/) | 🚧 | [Docs](https://target.github.io/flottbot-docs/basics/google-chat/) |
| [Mattermost](https://mattermost.com/) | 🚧 | coming soon |
| [Telegram](https://telegram.org) | 🚧 | coming soon |

✔ = Done 🚧 = in progress (functional but some features may not work)

## Documentation

For installation and usage, please [visit the flottbot docs](https://target.github.io/flottbot-docs/)

For questions join the [#flottbot](https://gophers.slack.com/messages/flottbot/) channel in the [Gophers Slack](https://invite.slack.golangbridge.org/).

## Contributing

Please do! Check [CONTRIBUTING.md](./.github/CONTRIBUTING.md) for info.

## Credits

Inspired by [Hexbot.io](https://github.com/mmcquillan/hex)

## Contributors

- [List of contributors](https://github.com/target/flottbot/graphs/contributors)