You are browsing as a guest. Sign up (or log in) to start making projects!

Polokalap

@Polokalap

Joined June 1st, 2026

  • 17Devlogs
  • 1Projects
  • 0Ships
  • 0Votes
meow~
Open comments for this post

5h 15m 59s logged

Added /admin-profile and retired tiers for normal /profile command
(I also fixed some smaller stuff, but the bot is pretty much done at this point!)

Added /admin-profile and retired tiers for normal /profile command
(I also fixed some smaller stuff, but the bot is pretty much done at this point!)

Replying to @Polokalap

0
2
Open comments for this post

2h 49m 11s logged

Did very little work today, I just cannot concentrate.

Added a high tier ticket system ui, will make the backend later today or tomorrow.

Did very little work today, I just cannot concentrate.

Added a high tier ticket system ui, will make the backend later today or tomorrow.

Replying to @Polokalap

0
3
Open comments for this post

16h 12m 20s logged

Added a queue system that I’ll make a video on when the bot releases.
Yes 3 lines for 16h

Added a queue system that I’ll make a video on when the bot releases.
Yes 3 lines for 16h

Replying to @Polokalap

0
4
Open comments for this post

3h 37m 56s logged

Added queue ping selector :O
Yes this took this many hours, because I had to create bugfixes, literally remake the db, and update the db creds. in the bot, the api.

Added queue ping selector :O
Yes this took this many hours, because I had to create bugfixes, literally remake the db, and update the db creds. in the bot, the api.

Replying to @Polokalap

0
3
Open comments for this post

2h 16m 30s logged

Added the ability to look up profiles by /profile minecraft_name:Polokalap

Also started working on tier testing and swapped displaying tiers from text to emojis.

Added the ability to look up profiles by /profile minecraft_name:Polokalap

Also started working on tier testing and swapped displaying tiers from text to emojis.

Replying to @Polokalap

0
2
Open comments for this post

47m 24s logged

I’m pretty sure I added archiving, I don’t really know. Also, I swapped out .env to data.json for channel ids

I’m pretty sure I added archiving, I don’t really know. Also, I swapped out .env to data.json for channel ids

Replying to @Polokalap

0
3
Open comments for this post

1h 59m 14s logged

Now you can create and close tickets!! It also sends a cute lil’ embed that you can edit in json :D

Now you can create and close tickets!! It also sends a cute lil’ embed that you can edit in json :D

Replying to @Polokalap

0
4
Open comments for this post

51m 18s logged

Hello :3
I made the bot time out the user if they spammed blocked content!

Hello :3
I made the bot time out the user if they spammed blocked content!

Replying to @Polokalap

0
5
Open comments for this post

2h 10m 52s logged

Dear diary,

Today, I added listeners when a message gets updated, so people can’t bypass the filter system by sending a message then editing it to a url, or something blocked. I also added another detection method that works the following way:

Message is:
https://youtube.com meow uwu :3 also look at this 18+ video https://blocked.url

The old system would’ve allowed this, because it’s remove any white spaces, so the message becomes:

https://youtube.commeowuwu:3alsolookatthis18+video https://blocked.url

Then, it’d check if it contains a blocked sequence of characters, which is “://” in that case. Then, it’d check if it contains any of the “good” domains, and if it does, it’d allow the user to send the message. That was a bad system, and I rushed it.

The new system does this:

Message gets chunked:
[“https://youtube.com”, “meow”, “uwu”, “:3”, “also”, “look”, “at”, “this”, “18+”, “video”, “https://blocked.url”]

And it iterates trough every field. So now, if a url is present in a chunk, it’d only check that url.

Also I added new translation keys.

Dear diary,

Today, I added listeners when a message gets updated, so people can’t bypass the filter system by sending a message then editing it to a url, or something blocked. I also added another detection method that works the following way:

Message is:
https://youtube.com meow uwu :3 also look at this 18+ video https://blocked.url

The old system would’ve allowed this, because it’s remove any white spaces, so the message becomes:

https://youtube.commeowuwu:3alsolookatthis18+video https://blocked.url

Then, it’d check if it contains a blocked sequence of characters, which is “://” in that case. Then, it’d check if it contains any of the “good” domains, and if it does, it’d allow the user to send the message. That was a bad system, and I rushed it.

The new system does this:

Message gets chunked:
[“https://youtube.com”, “meow”, “uwu”, “:3”, “also”, “look”, “at”, “this”, “18+”, “video”, “https://blocked.url”]

And it iterates trough every field. So now, if a url is present in a chunk, it’d only check that url.

Also I added new translation keys.

Replying to @Polokalap

0
6
Open comments for this post

45m 23s logged

I added a system that sends the moderators a report about a flag in their own channel. I also added flags for encouraging self-harm.

I added a system that sends the moderators a report about a flag in their own channel. I also added flags for encouraging self-harm.

Replying to @Polokalap

0
8
Open comments for this post

3h 28m 20s logged

Added a language and a moderation system. You have a filter.json in src/resources and you can set up rules in it without ever touching code.
Here’s the syntax:
{
“flags”: [
{
“name”: “Gyűlölkődés”,
“description”: “A gyűlölködő meggnyílvánulások nem megengedettek a szerveren!”,
“punishment”: “ONE_HOUR”,
“flags”: [
],
“ignore”: [
],
“always”: [
“nigger”,
“nigga”,
“cigány”,
“cigris”,
“cigo”,
“nigris”,
“nigg”,
“buzi”
]
}
]
}

When someone types one of the words out form “always”, it’ll punish them no matter what. If they send something that’s in “flags”, it’ll check if it also contains something from “ignore”. This is a bad system, but it works fine for now. Also, it punishes the user from the “punishment” field. You can set the following parameters: NONE, FIVE_MIN, ONE_HOUR, ONE_DAY, THREE_DAYS, SEVEN_DAYS, KICK, BAN.
As you can see from the linked image, it lets people bypass the moderation system with one of the following permissions: MANAGE_CHANNEL, MESSAGE_MANAGE.
I also added a language system, so what value you set in .env for “LANGUAGE”, it’ll use that +”.json” for every message. That’ll be useful when translating.

Added a language and a moderation system. You have a filter.json in src/resources and you can set up rules in it without ever touching code.
Here’s the syntax:
{
“flags”: [
{
“name”: “Gyűlölkődés”,
“description”: “A gyűlölködő meggnyílvánulások nem megengedettek a szerveren!”,
“punishment”: “ONE_HOUR”,
“flags”: [
],
“ignore”: [
],
“always”: [
“nigger”,
“nigga”,
“cigány”,
“cigris”,
“cigo”,
“nigris”,
“nigg”,
“buzi”
]
}
]
}

When someone types one of the words out form “always”, it’ll punish them no matter what. If they send something that’s in “flags”, it’ll check if it also contains something from “ignore”. This is a bad system, but it works fine for now. Also, it punishes the user from the “punishment” field. You can set the following parameters: NONE, FIVE_MIN, ONE_HOUR, ONE_DAY, THREE_DAYS, SEVEN_DAYS, KICK, BAN.
As you can see from the linked image, it lets people bypass the moderation system with one of the following permissions: MANAGE_CHANNEL, MESSAGE_MANAGE.
I also added a language system, so what value you set in .env for “LANGUAGE”, it’ll use that +”.json” for every message. That’ll be useful when translating.

Replying to @Polokalap

0
9

Followers

Loading…