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

muhamm38

@muhamm38

Joined June 5th, 2026

  • 6Devlogs
  • 3Projects
  • 2Ships
  • 30Votes
Lebron's father

Promptly is gonna make me rich
Open comments for this post

56m 6s logged

Devlog 1

I set up the project using Tauri. I chose Tauri because it allows for very lightweight and fast projects to be made.


I built a clean simple ui using HTML and CSS styling. It has a simple text area where you can input assignment information and then generate reminders from that.


I used OpenRouter free API to integrate AI into it. The app is currently using Google’s free Gemma 4 model. Right now it just takes messy text and returns a clean list of due dates.


Next Steps:

  • Convert the AI output to clickable checkboxes to make it tasks you can complete.
  • Use Tauri plugins to add notifications
  • Add screenshot support
  • Flesh out ui more and add a bunch of QOL features.

That is all, thank you for reading my 1st devlog!

0
0
7
Ship

I made **Top Chatter**, a discord bot that tracks message data on servers and ranks people by who talks the most in the server. It has multiple commands so you can see who talked the most throughout different time periods. You can see in the last month, last week, last day, and all time who has the most messages.

---

It is running Python using the `discord.py` library. It uses a `sqlite3` database to store messages so the commands can run instantly. Instead of using Discord API's to scrape the messages which takes very long and can crash easily, I made it so when the bot joins the server it sends a dm to the owner asking permission to scan the entire server for its previous message data, then it adds it to its database. If for some reason the dm isn't sent (bot is offline or owner's dms are closed) if you try to do a command like `/all-time` it tells you the bot has not scanned the past messages and you need to have an admin do the `/setup` command to have it get all the previous message data.

---

### Challenges

Some challenges I went through were these:
- Transition to database storage. Initially every command was using discord apis to get the message data and display them in a leaderboard, that took very long and crashed very often. To solve this I switched to using a local sqlite3 database.
- When building the feature to scan old messages, the bot was accidentally wiping out data from previous channels as it moved to the next one. I had to completely rewrite the logic so the bot compiled everything across the entire server into a Python tracking dictionary first, and then saved it all to the database at the very end.
- Deploying the server had some issues but with the help of AI (yes I know ai everyone hates it but I had too) I was able to figure it out and get it hoted.

---

### How to Test

1. Click the link to invite the bot to a discord server.
2. If you are the owner it should dm you and then click the setup button to get it setup.
2.5 If owner has dm's closed or isn't responding to it, if you're an admin, run the `/setup` command to set it up manually
3. Type / to see the full UI menu of commands, ranging from /last-100-messages to /all-time, enjoy!

  • 4 devlogs
  • 7h
  • 7.76x multiplier
  • 52 Stardust
Try project → See source code →
Open comments for this post

1h 59m 31s logged

Devlog 4

I finally moved all the time-based commands like /last-hour, /last-day, and /last-week to pull directly from the SQLite database instead of using the discord api to scrape thousands of messages. This makes the bot way faster and more reliable since it doesn’t have to calculate everything on the fly anymore. I was also able to add a brand new /last-month command.


I also worked on polishing the experience and making the initial message scanning easier. Sometimes server owners have their DMs closed, so the bot would fail to send the automatic setup button when it joined. To fix this, I added a manual /setup command. Now, if the bot misses the DM, someone can just run the command themselves to start the background scan. It makes the onboarding process a lot smoother and prevents the bot from getting stuck.


I finally got the bot hosted on a server! I moved it off my local computer and onto Hack Club Nest. I used PM2 to keep it running in the background permanently.


This will probably be my final devlog as to be honest I’ve accomplished everything I wanted to with this bot and I feel very good about it because it has 1 core purpose and it does that purpose very well. I want to move on to other projects so I will probably ship it.

If you want to try the bot out for yourself and add it to your server you can use this link:

(https://discord.com/oauth2/authorize?client_id=1514369908085887037&permissions=8&integration_type=0&scope=bot+applications.commands)

0
0
2
Open comments for this post

1h 48m 31s logged

Devlog 3:

I’ve made a lot of progress on the bot and changed how it tracks server activity and message data!

I moved the bot away from using the Discord API to scrape the data because that took way too long and wasn’t efficient. For the all-time command, it now dms the owner of the server to ask them for permission to get the data from the server (using discord api) then it adds that data into an sqlite database.


I set up an automatic table layout that tracks users by their permanent Discord user_id rather than their display name. This completely prevents leaderboard tracking bugs if a user decides to change their server nickname.


Next, I added into the real-time event system. The bot now logs and adds to message counts instantly as they are sent in real-time, meaning we don’t have to wait for slow api scrapes anymore. I also updated the /all-time command to pull directly from this local database instantly. I might update the other commands but for now its just using the discord api.


To make the system scaleable, I added a full-server data sync. When the bot joins a new server, it sends a DM to the owner with a green setup button. Clicking it runs a background scan across all text channels to build the database. I ran into two big bugs while setting this up:

  • The bot was accidentally wiping out data from previous channels as it moved to the next one. I fixed this by making the bot compile everything across the entire server into a tracking dictionary first, and then saving it all to the database at the very end.
  • I had to restructure the database schema to use a combined primary key of (guild_id, user_id). This keeps counts completely isolated so a user’s stats on one server never leak into another server.

Lastly, I added stats.db to the .gitignore file so it isn’t committed to github.


Next steps:
I might just ship it with these core features (definitely not for a sticker or anything 😂 🙏)

I will try and continue to work on it and somehow find away to integrate VC support. This would need me to:

  • Build a VC tracking system to see who spends the most time in voice channels over days, weeks, and all-time.

I might also in the future update the leaderboard messages from the commands to have embeds so it looks cleaner and more professional using discord embeds.

Thank you for reading my 3rd devlog!

Edit:
OH YEAH I just remembered I’m gonna host it on a server so I don’t need it running locally all the time.

0
0
2
Open comments for this post

1h 38m 21s logged

Devlog 2:

I finally finished adding the core message tracking features! I made some slash commands that let users track the top chatters over different time periods.


I created the /last-hour, /last-day, and /last-week commands. I used Python’s datetime module to calculate an exact time period and then look back through the channel history to count up the messages. I also added a defer() function to each command so the bot can safely process the data without timing out or breaking.


When implementing the /all-time command, I realized that downloading every single message ever sent could easily crash the bot. To fix this, I built a custom warning button using. Now, the bot sends a warning message with a Confirm & Run button, and it will only start the process if a user explicitly clicks it.


I ran into a frustrating issue with Git where my .env file kept getting included in my commits even though it was listed in my .gitignore. I learned that because Git tracked the file early on, it was ignoring the ignore rules. I used the terminal to untrack it and was able to keep it ignored.


Next I will be working on moving the bot away from API scraping and into local storage. I will be working on the following thiings:

  • Setting up a SQLite database within the project.
  • Logging and counting messages in real-time as they are sent.
  • Rewriting the leaderboard commands to pull from the database instead of loading history from discord APIs.

Thank you for reading my 2nd devlog!

0
0
3
Open comments for this post

1h 14m 15s logged

Devlog 1:

I was able to get the discord bot online and running! Set up the basic framework using Python and the discord.py library. I got it connected to discord and online and made it print a confirmation message to terminal when it’s online.


I also used canva to make some custom art for the discord profile picture and the banner to make it look more professional and give it some personality.


I ran into some SSL certificate verification errors when running the bot which was annoying to debug and fix. I used Github Copilot to help me debug and solve the issues and I figured out that I had to point Python to the certifi certificate bundle. Once I restarted and ran it again, the bot connected successfully.


Next I will be working on the core features of the bot which are:

  • A command that lets you see who has the most messages in a server within the last day.
  • A command for most within the last week.
  • A command for most messages all time in the server.

These are the core basic features I plan to implement, I have other ideas like commands to see who spent time in vc (voice chat) in the same pattern as the messages commands and more things like that.

Thank you for reading my 1st devlog!

0
0
2
Ship

I made my 1st ever slackbot by using the guide stardance provides. This was my 1st stardance challenge project and I mainly did it to get some beginner experience and understand how the stardance challenge works. I've never made a slack bot before so it was cool to do. I was gonna add more features but to be honest I'm way too lazy and I have better ideas for me to work on.

Try it here in the stardance slack workspace:
https://app.slack.com/client/E09V59WQY1E/C0APH2MMHH7

To use it, click the link and join the slack workspace. Then in any channel you can use this command:

/mhdsb-help
This command shows a list of every command you can do and a short description of their function.

Try project → See source code →
Open comments for this post

24m 47s logged

I started the guide on making my 1st ever slack bot (as the title suggest its amazing and the best beginner one you’ll ever see).

Ran into 1 issue with commands where I renamed the commands on the slack api website (to distinguish it from the million other slack bots in the stardance slack channel). After doing this I kept getting an error when running commands.

After some trial and error and testing, I was able to figure out that the problem was within my code. I was using the base code the slack bot guide gives you and that gives you the basic command names (/dsb-ping). I had to go in the code and rename the command names to match what they were on the api wesbite.

Next I’m going to integrate more free apis (like a cool dog one) and publish it on nest.

0
0
2

Followers

Loading…