Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/joecars/nerman

Nerman is not a Real Person, but he's great at listening
https://github.com/joecars/nerman

Last synced: 11 days ago
JSON representation

Nerman is not a Real Person, but he's great at listening

Awesome Lists containing this project

README

        

# Nerman

## Description

Nerman is a Discord governance bot designed with the express purpose of improving [Nouns](https://nouns.wtf/) community interactions, encouraging participation, and notifying community members of Noun proposals and sales.

## Development

### Requirements

---

To help develop Nerman, you will need the following:

- **[Git](https://git-scm.com/):** For source code version control.
- **[Node.js](https://nodejs.org/):** For the main development environment.
- **[MongoDB](https://www.mongodb.com/):** For the database.
- **[Discord](https://discord.com/):** To set up your own bot.
- **[Alchemy](https://www.alchemy.com/):** To track Nouns' blockchain activity.

### Installation

---

To install Nerman, simply execute the following commands in the terminal:

```
git clone https://github.com/JoeCars/Nerman.git
cd Nerman
npm install
```

### Additional Setup

---

1. **Create a Discord bot:** Follow this guide on [how to setup a Discord bot](https://discordjs.guide/preparations/setting-up-a-bot-application.html#your-bot-s-token).
2. **Setup A Database:** This can either be a cloud server or a locally-run MongoDB server.
3. **Add Environmental Variables:** Ensure you add the appropriate environmental variables.

Once everything is ready, you can start the bot using `npm start`.

### Bot Scopes

---

For the bot to work, you need to give it the following permissions and scopes. The reasons for needing each scope is provided.

guilds:

Used to get all the active guild members before filtering them for role type in the voter threshold.


guild.members.read:

Nerman needs this in order to analyze the users in possessions of the voting role, which are needed for voting threshold calculations.


bot:
Need this to place the bot in the user's guild


message.read:

Nerman requires this scope so that it can read messages from all channels, rather than being restricted to just the guilds/channels created by the app.


application.commands:

This scope is added so that Nerman can use the slash commands available in the guild.



### OAuth2 Template URL

---

To invite the bot, you may be required to provide an OAuth2 URL. Please use the following template. Replace the `#` symbols after `client_id` with the client id value found in the Discord development portal.

```
https://discord.com/api/oauth2/authorize?client_id=##################&permissions=36507543616&redirect_uri=https%3A%2F%2Fwww.google.com&response_type=code&scope=guilds%20bot%20guilds.members.read%20applications.commands%20messages.read
```