https://github.com/azurejelly/nayuki
Discord suggestion management bot written in Go
https://github.com/azurejelly/nayuki
discord discord-bot discord-bots discord-go discord-slash-commands discordgo docker-compose docker-image go golang golang-application mongodb slash-commands
Last synced: 3 months ago
JSON representation
Discord suggestion management bot written in Go
- Host: GitHub
- URL: https://github.com/azurejelly/nayuki
- Owner: azurejelly
- License: mit
- Created: 2025-06-22T23:53:07.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-07-03T16:56:02.000Z (12 months ago)
- Last Synced: 2026-04-13T03:46:40.225Z (3 months ago)
- Topics: discord, discord-bot, discord-bots, discord-go, discord-slash-commands, discordgo, docker-compose, docker-image, go, golang, golang-application, mongodb, slash-commands
- Language: Go
- Homepage:
- Size: 297 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# nayuki  
nayuki is an easy to use discord suggestions bot written in go. it allows you to easily manage them, lets users in your server vote and even creates discussion threads. to get started, simply add it to your server using [this link](https://discord.com/oauth2/authorize?client_id=1381268909226987630&permissions=395137000512&integration_type=0&scope=bot+applications.commands).
## configuration
1. set the suggestions channel using `/config channel set`. this is where all suggestions will be sent to.
2. set the logging channel using `/config logs set` (optional, but recommended).
3. enable or disable discussion threads by using `/config threads enable` or `/config threads disable`.
4. try it out! use `/suggest` to make a new suggestion. its ID will be displayed at the bottom of the embed.
5. if a suggestion has a good amount of likes and you like the idea, accept it with `/accept`. otherwise, use `/decline`.
## project setup
to get started, you'll need:
- an internet connection
- a mongodb instance
- go >= 1.24.4
- git
first, clone the repository:
```shell
$ git clone https://github.com/azurejelly/nayuki
$ cd nayuki/
```
then, copy the `.env.example` file into `.env` and modify it accordingly:
```shell
$ cp .env.example .env
$ code .env # or just use your preferred editor (e.g. nano, vim)
```
to get a temporary development mongodb instance using docker, run:
```shell
$ docker run -d --rm \
--name "mongo" \
-p 127.0.0.1:27017:27017 \
mongo:latest
```
the default value for `MONGO_URI` in the `.env.example` file should work out of the box with this docker container.
if you no longer need the mongodb server, simply run the following command to remove it:
```shell
$ docker stop mongo
```
finally, you can run the bot using:
```shell
$ go run main.go
```
or compile it with:
```shell
$ go build main.go -o nayuki
$ ./nayuki
```
## with docker
clone the repository:
```shell
$ git clone https://github.com/azurejelly/nayuki
$ cd nayuki/
```
copy `.env.example` to `.env` and modify `TOKEN` and `GUILD_ID` (if needed):
```shell
$ cp .env.example .env
$ code .env # or just use your preferred code editor (e.g. nano, vim)
```
and finally, start the stack:
```shell
$ docker compose up -d
```
the existing [docker compose configuration](./docker-compose.yml) will automatically spin up a mongodb server for the bot to use. you'll need to edit it if you want to use an existing database.
## license
this project is licensed under the MIT license. you can read it [here](./LICENSE)