Allows registering gitea accounts via the gitea API from within a discord server.
Go to file
Florian Beisel e19b8dfc7c
Test Changes on Push / build-vet-test (push) Successful in 21s Details
refactor(Docker): 💥 Changes Dockerfile to more closely adhere to best practice
This commit changes the Dockerfile to adhere closer to the standards set by tools like Sonarqube et al. It enforces the usage of a nonroot user, copies files explicitly between build stages and makes the binary filename consistent with our binary releases

fix: #3
2024-01-12 20:12:34 +01:00
.gitea/workflows feat: Implement GitHub Actions Workflows for CI/CD 2024-01-12 00:40:29 +01:00
Dockerfile refactor(Docker): 💥 Changes Dockerfile to more closely adhere to best practice 2024-01-12 20:12:34 +01:00
LICENSE docs: 📝 Adds license and README with usage examples 2024-01-12 13:22:36 +01:00
README.md docs: 📝 Adds license and README with usage examples 2024-01-12 13:22:36 +01:00
go.mod Initial commit 2024-01-10 00:10:39 +01:00
go.sum Initial commit 2024-01-10 00:10:39 +01:00
main.go Initial commit 2024-01-10 00:17:15 +01:00

README.md

Gitea account registration Bot for Discord

This repository contains the source code for a Discord bot that interacts with Gitea to allow user self-registration from within Discord. It's designed to work across multiple platforms, including Docker, Windows, Linux, and macOS.

Description

This Discord bot is designed to react to commands on Discord and interact with the Gitea API to create and manage user accounts. It currently supports the !register command to facilitate user registration through Discord.

Environment Variables

The bot requires the following environment variables to be set:

  • DISCORD_TOKEN: The token for your Discord bot.
  • GITEA_TOKEN: The API token for accessing Gitea.
  • GITEA_URL: The base URL of your Gitea instance.

Build it yourself

To build the bot from source, follow these steps:

  1. Clone the repository:

    git clone https://git.beisel.it/beisel.org/gitea-register-account-bot.git
    
  2. Navigate to the cloned directory:

    cd gitea-register-account-bot
    
  3. Build the binary (ensure you have Go installed):

    go build -o gitea-register-account-bot
    

Creating a Docker Image

You may also create a Docker image using the provided Dockerfile:

  1. Build the Docker image:

    docker build -t gitea-register-account-bot:latest .
    
  2. Run the Docker container:

    docker run -d --name gitea-register-account-bot -e DISCORD_TOKEN=your_token -e GITEA_TOKEN=your_token -e GITEA_URL=your_url gitea-register-account-bot:latest
    

Using the Prebuilt Images and binaries

We provide versioned as well as nightly builds through our CI/CD pipeline, where :nightly refers to an automatic build from the latest commit on the main branch. The latest release-version can be found with the latest Tag.

Using the Prebuilt Docker Image

To use the prebuilt Docker image:

  1. Pull the latest image from the registry:

    docker pull git.beisel.it/beisel.org/gitea-register-account-bot:latest
    
  2. Run the Docker container:

    docker run -d --name gitea-register-account-bot -e DISCORD_TOKEN=your_token -e GITEA_TOKEN=your_token -e GITEA_URL=your_url git.beisel.it/beisel.org/gitea-register-account-bot:latest
    

Running Prebuilt Binaries

Prebuilt binaries for Windows, Linux, and macOS are available in the releases section of this repository.

To run the binary:

  1. Download the appropriate binary for your system.

  2. Make it executable (Linux/macOS):

    chmod +x gitea-register-account-bot-nightly-[linux-amd64,darwin-amd64]
    
  3. Run the binary:

    DISCORD_TOKEN=your_discord_token GITEA_TOKEN=your_gitea_token GITEA_URL=your_gitea_url ./gitea-register-account-bot-nightly-[linux-amd64,darwin-amd64]
    

For Windows, simply execute the .exe file after setting your environment variables.

Contributing

Contributions to this project are welcome. Please ensure you follow the existing code style.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

For support, please open an issue in the repository, or hit me up on the Gitea discord @pacey.