Discord Bot Ecosystem

From the development guild call 17Nov, there is a lot of interest and utility for Discord Bots. Discord Bot permissions are per-bot, which (i believe) prevents us from having one bot to rule them all.

We should build a default bot that is set up as a monorepo and ready for extension through the creation of additional modules. This will aid in the creation of new bots and (ideally) prevent the duplication of bots that have overlap in permissions required.

I’d like feedback on this, preferably from people that have done things before in discord bots, as I have not. It would be a cool thing to build in guild, and I think that other guilds are our next customers after internal development, and then we could push on to maybe offering this up as a fully public good (with some battle testing prior to really making a big deal out of it).

5 Likes

Like a bootstrap bot template repo?

At least. Would be even better if it had some scripts to set up common, knowable configurations (permission sets or anything else often repeated).

1 Like

It is possible to have a bot with “Manage Server” permissions that can do everything. Having a singular bot that everyone can build on would have its own pros and cons. I run/maintain a couple of bots and I try to always stick commands and add functionality to the same bot as I find that cleaner. The two main factors I use to decide are permissions and bot database usage. As long as the existing bot has the permissions the new command needs and doesn’t mess with the DB in an unwanted way, I’ll use it instead of making a new one.

Permissions are based on Discord Application tokens, not bot code. These can’t be set via scripts or the Discord API, they need to be manually configured.

A template would definitely be helpful though. Would need to decide if we want it to be serverless or traditional plus other standards.

1 Like

We already have a Discord Bot project started. I think when it was set up, they followed the docs and so we ended up with the traditional way instead of serverless, but I don’t think it was a pondered decision.

Considering your experience almostefficient, it might be worth it for you to take a look at the repo.

We could also maybe use the repo for new issues of commands we want to add.

As I was diving into this topic as well, here’s what I learned of the current situation of bots in our DAO: The DEVIE bot and resource bot are going to be merged into one. Here’s an issue tracking this: Merge Devie into resource bot & relaunch as single bot. · Issue #1 · Developer-DAO/devie-bot · GitHub

Communication also happens in the “DAO Projects” > #discord-bot channel.

As the resource bot is more fleshed-out and mainly worked-on, I guess the approach would be to add DEVIE’s functionality into the resource-bot and name it something more generic (like DEVIE, lol).

Then this could be the main bot project going forward.

Can we get a bot RFC out of the existing bot creators/wranglers?

I think that would line up nicely with the general notion of documenting how we do things. Particularly with the power an admin-privilege bot has on Discord, poorly managed bots are a danger to the community, so it would be great to have standardized control of Bot rights and the review process before adding new features to bots with a given permission set.

2 Likes