Creating a system to move topics based on given criteria such as a timestamp

Referencing the AI Bot integration see Discourse AI - AI bot - Documentation / Site Management - Discourse Meta

Extra note/edit: I am self hosting
Short Version if you don’t want to read the whole story: I want to use AI Bot to move topics based on “Expiration date” by checking the time stamps of a post.

So I have been thinking about ways to improve the management for my use case of Discourse. I run a Roblox Game community, and we utilize Discourse for our Moderation team to perform logging duties of Game moderation action, and Discord actions.

We have several categories, including temporary bans. When we do our logs, they are done as a post, and the moderator fills a format out, and inserts the Time Stamps relevant to teh action taken for example 7 day ban e.g. Duration: 2026-03-01T05:00:00Z2026-03-08T05:00:00Z (Timestamp is here)

From a management side, I added an Archived Bans for when a ban is over with. Before… you guessed it, we did it by hand, checking bans once a week.

Last fall, I made a python utility [see below] that runs locally, with the Discourse API, it opens a menu and I select which section of bans I want to archive, and it processes said bans by checking each post for a valid time stamp and if that time has passed. It works well, but I wanted to improve further…

And here we are.. I hope you are still here, probably could really summarize this down, but hey, discourse is about conversation right?

I want to enable my moderation team, particularly my most senior ranking ones, to be able to perform this task, without the need to use VS or download anything to their machine. So I attempted to make a plugin version, which I admit I used AI to try and accomplish. I am not sure where it went wrong, I tried to look through the documentation, and even give instructions to follow the processes, but nothing was successful.

My issue with integration via a plugin was stalled with not understanding (or AI) how to integrate into the Interface a Visual based interface (not as colorful as this is with the python version, but sensible in a way that could be understood) e.g. A Big button that says Run Archive process, and utilize the moderation api (?) to flag ones with no valid date or errors etc.

So… here we are at the end of the long version… I want some input that I cannot get from someone other than another human, which is why I am here.

  • Does the AI Bot have this ability?
  • If no, what sensible solution should I try?
  • What did I do wrong with the plugin path, that caused it to just simply not work/be painful (like common mistakes you have made when you first started in this community?)

Value your input. Thanks.

1 Like

I don’t think you need to reach to AI for any of this.

When you create these active ban topics why not also create a topic timer to move it to the correct category after a bunch of time passed, then it is automatic.

Also … any reason you are reaching away from Discourse core here, we already have logs for banned users, why not simply give your trusted users access to a data explorer query to look at history?

The discourse is used to log the bans…. That’s the entirety of the purpose. No players are on the forum…. Only moderator of the game/discord. I don’t think a topic timer would work since bans vary in time. I’m not so much steering away from Discourse Core as I am utilizing it for a specific use case. (See the image)