Potato Bot —Dev Blog #1

Potato Bot emblem

Notice: In this article I say “we” and “our”, because this isn’t just MY bot (technically it is), this is OUR bot comrades! (i’m not actually a communist but that’s funny)

As you may know, Potato Bot is one my most successful projects in a while. There are some other devs who want to make bots too, but don’t know where to start… today, I’ll be giving tips on how to start a bot, and what I did to make Potato Successful.

It started with a theme, there were multiple themes I could have picked, but the one person who suggested a Potato theme, was Corrupted Potato, whose discord account is now terminated for violating the ToS. Originally, I was planning on making *him* a bot for *his* server only, but then when I was finished, he thought it was so good, I should make it public. So I did, the first place I submitted Potato to was a site called TOP.GG. Without them, Potato would be nothing, since most of our users come from there, and how we got Potato verified as well. Of course, there were guidelines we had to follow, but, on our FIRST ATTEMPT, on September 13, Potato was approved. In such short notice, we went from 10 servers to TWO HUNDERED. In just 24 hours. That’s insane. After that, I submitted my bot into verification, and even Discord was surprised, as they questioned how Potato got into so many servers. But, in the end, we got verified, and I haven’t stopped developing since.

Now of course, the actual content. How did we make it happen? I’ll tell you. For our programming language we used JavaScript with discord.js, and for our servers, we use a service called Heroku. With these tools we were able to connect to services to bring you the commands we have. A full list of services (aka node modules) that we use are listed below:
- dblapi.js v2.4.1
- discord.js v12.5.1 (soon to be v13)
- fs 0.0.1
- got v11.8.1
- mongoose v5.11.9
- node-fetch v2.6.1
- parse-ms v2.1.0

**THE NEXT SECTION IS INTENDED FOR PEOPLE WHO LEGITIMATELY WANT TO KNOW HOW THE BOT WORKS. IF YOU DO NOT UNDERSTAND JAVASCRIPT, I SUGGEST YOU STOP HERE.**

Now, for holding our P-Coin data we use a service called MongoDB. This data can only be accessed and changed by me, and anyone else I invite to the Admin team. Here’s a full JSON breakdown of what data is stored:
Name: <username>
ID: <user ID>
Money: <p-coin balance>
Daily: <epoch time of last collected daily reward>
Vault: <vault balance>

Statuses: (true or false for each)

Admin:
Donor:
Banned:

Yep, that’s all the data associated with users that we collect.

And, I know it’s not much, but that’s all for Dev Blog 1. Tune in next month for Dev Blog 2!

Potato Bot Owner