Jack Hadrill 0b2118354f
Some checks failed
Build and Publish Docker Image / build_and_push (push) Failing after 1m17s
Add ngate
2025-02-02 23:06:52 +00:00
2024-12-10 21:57:52 +00:00
2024-09-12 14:37:08 +00:00
2025-02-02 23:06:52 +00:00
2024-09-12 14:37:08 +00:00
2024-09-16 14:29:51 +00:00
2024-09-12 14:37:08 +00:00
2024-09-18 16:28:41 +00:00
2024-09-12 14:37:08 +00:00
2024-09-16 14:54:16 +00:00
2024-09-03 21:14:46 +01:00
2025-02-02 23:06:52 +00:00
2025-02-02 23:06:52 +00:00
2024-09-12 14:37:08 +00:00
2024-09-16 09:56:40 +00:00

ButlerBot

Requirements

ButlerBot is deployed using Docker. To run ButlerBot, you will need to have Docker installed on your machine. You can download Docker here, or by using the following convenience script:

curl -fsSL https://get.docker.com | sh

Usage

Pre-built Docker Image

The easiest way to install ButlerBot is to use the provided Docker image with the supplied docker-compose.yml file, found in the project directory.

Edit the values in the .env file to match your environment. An example .env file is provided in the project directory as .env.example.

Before ButlerBot can be used, you will need to register any new commands with the bot. To do this, run the following command:

./scripts/register-slash-commands.sh

To run ButlerBot using the latest release version, use the following command:

./scripts/start.sh

To run ButlerBot using another version, first update the docker-compose.yml file to use the appropriate image. Release and development versions of ButlerBot are available on 3t.network's package repository.

Version Image
Latest git.3t.network/3t.network/butlerbot:latest
Development git.3t.network/3t.network/butlerbot:dev

Building the Docker Image

Alternatively, you can build the Docker image from source. To install ButlerBot, clone the repository and navigate to the project directory. Then, build the Docker image:

./scripts/build.sh

This will create a Docker image called butlerbot, tagged with the version number found in package.json. A docker-compose.override.yml file is created, which automatically overrides the project's docker-compose.yml file to use the newly built image.

Development

To run ButlerBot in development mode, you will need to have Node.js installed on your machine. You can download Node.js here. ButlerBot is built using the latest Node.js LTS version.

To install the project dependencies, run:

npm install

To update the bot's commands, run:

npm run register-slash-commands

To start ButlerBot, run:

npm run start

N.B. ButlerBot requires several environment variables to run. These are stored in a .env file in the project directory. An example .env file is provided in the project directory as .env.example.

DevOps

ButlerBot is deployed using Docker. The project includes a Dockerfile and docker-compose.yml file for building and running the bot. The docker-compose.yml file includes a butlerbot service, which runs the bot using the latest release version.

When a new release is ready, the version number in the package.json file should be updated using npm version patch, and merged into the main branch. This will trigger a new release on 3t.network's package repository, which can be used to update the bot's Docker image via Watchtower.

Description
No description provided
Readme 403 KiB
Languages
TypeScript 87.5%
JavaScript 6.9%
Shell 4.2%
Dockerfile 1.4%