Prometheus Bot

Before I halted my active participation in MetaGame, I pushed a bot I had made to the metafam repo with the sole functionality of creating a voting poll to timeout any user, without requiring moderation perms. I have now added a new feature but first:

The timeout command works as follows:

  • any specified role(in MG, that can be Player) can invoke a poll to timeout any member(except server owner) for up to 28 days
  • the poll duration is dictated by the timeout specified. (currently it’s either timeout/5 or timeout/10)-configurable
  • the amount of emoji required is also dictated by the timeout duration (currently it’s 5, 8 or 13)-configurable
    It’s a slash command, therefore better ux:

Example of a vote failing(the bot determined that a timeout of 10 minutes would require 2 minutes of voting and 5 thumbs up):

Example of a vote passing(i changed the emoji req. for the example because i didn’t have 5 other peeps to test):

The member is indeed timed out:
image

Simple, community owned moderation tool. Can be used to gauge if the community agrees with the penalty or to have means to ‘moderate with the community’ as opposed to ‘moderating the community’ because doing it this way, one cannot blame a salty moderator for their ban/timeout reason.

In any case, this would probably be used once a year considering the transgression frequency in MetaGame (extremely rare considering everything).
This is also the first iteration, I’m working on adding a feature where if a mod takes action, an automatic poll is launched whether or not the rest of the community agrees with the mods decision and reverts it if not. That however, is out of scope for this thread.

NEW FEATURE

I’ve added a new feature to the bot, a report menu.
It’s made with sourcecred’s props mechanic in mind where the XP in majority flows to the person tagged, not to the person posting.

The report menu is an interactive selector where users can pick items from a dropdown, add a description and artefact from their contribution. The report can then be submitted to a specified channel(in MG that should be give-props).

Visual examples:


image
image
image

Once the options are picked, you would add a description and an artefact by clicking the blue:
image

Clicking it pops out a modal:

The bot hits you back with an ephemeral preview of your report card generated. If you wish to make any changes, now’s the time! Otherwise, click submit.

If you clicked submit, the bot informs you and shares a link:
image

Finally, the report is sent to the designated channel and the player composing the report is tagged:

By tagging the player and sending it to ‘#give-props’, the player will be collecting the xp, not the bot.

Recap

I made a bot that I think could be useful in MetaGame. I will be maintaining it and adding features as time passes regardless.
Current features:
-Invocation of a timeout without a moderator dictated by the results
-A report menu

Semantics could be changed of course but what I would like to know is your opinion on whether or not this could be something useful in mg and should there be any mechanical changes. There are certain limits imposed by discord with these but any suggestion is welcomed. For now, I’m willing to have the bot running from my machine until’ a more viable solution is found
Also, those technically inclined are ofc more than welcomed to look into this mess of a repo(the one in metafam was forked from this one so a simple merge should suffice i believe, when reviewed):
Github repo
I still need to push one more commit after which it should be ready. I never really dealt with these platforms, let alone coded so bare with me pls :pray:

Peace

4 Likes

Looks like the timeout feature solves our concerns with being able to act to prevent the situations that sparked this idea, instead of having a long debate case by case.

The report menu is pretty cool! I can’t say much about the technical aspect, but it looks like it would be cool to implement, and a cool SourceCred companion :smile: I also like it has right there a escale for impact and effort, so hopefully everyone is kinda of in the same page as to what each level means.

How could we get it working?

1 Like

Awesome work @Misanth. Thank you! Kudos for starting your builder journey!! I’d love to see both of these implemented into the MG discord ASAP. To echo @CamiArias, how do we get it working?

1 Like

@CamiArias
Yh, i felt like this would help standardize the reports and make them easier than going to the pinned message, copying the format, trying to understand what means what and reporting. I initially had more vague descriptions but expanded after @polimyl 's feedback. As I said, all those semantics can be altered to suit the needs, it’s more about the mechanics and structure.

@luxumbra
If the community would want to integrate something like this, I’ll simply just invite it to metagame’s server and setup the menu in a specific channel. That’s how I’m currently running it in my test server. This is still in production so if invited, it should initially be isolated in some kind of testing phase (not replace). Whoever wants to do this with me let me know.

One thing i conveniently forgot to mention here is that the bot is hooked up to a local sqlite DB, meaning the reports can and will be tracked to produce statistics as it stands currently. If that feature is something that the community is concerned with, I can remove it from MetaGame’s instance.

I’ll need a few days just to clean some things up and refactor some bits for multi server presence but the features already work and can be tested if someone wants and has room for another server in discord :rofl: : Invite

3 Likes