Message Counter Block – Track User Messages for Achievements

I’m suggesting a block that allows counting how many messages each user sends. The idea is to use this count as a condition to unlock achievements (for example: sending 100 messages = “Chatterbox” achievement).

The block should ideally:

  • Count messages per user (individually).
  • Be able to connect to a database to store the message count.
  • Allow setting goals as a condition to trigger other blocks (e.g. give a role or send a congratulatory message).

This would be very useful for bots that want to implement achievement or reward systems based on user activity.

if it is possible

Thank you for reading.

This is definitely something you should build yourself and use a database for, not something that should be built in to Inventor.

We don’t implement features that deviate too far from Discord’s API or “standard library” features you would expect from traditional programming languages.

We occasionally build helper features (like message cache) that extend beyond this, but typically only where (a) building an alternative is difficult, (b) we expect a large percentage of users to need the feature, and (c) we see it as a shortcoming/deficiency of Discord’s API. In the case of message cache, we also wanted to incentivise the solution that better protects end-user privacy by offering a storage discount.

In this case, you could argue for A but I don’t think any of the others apply.

This philosophy helps us reduce maintenance and development load while keeping Inventor blocks composable. It also prevents us from forcing people into hyper-specific implementation silos that result in lookalike bots.

1 Like