actual code... real development...

Most Recent Project:

Advent Calendar Bot

Created for Senior Team, the Advent Calendar bot allowed all members of a Discord guild to react to a message once a day to receive a random reward. This bot features a full-fledged inventory system, random reward generation system, reward limits, and has multiple commands such as "inventory" to access your inventory, "delitem" to delete items from inventories, and "advent" to post the advent message.

The Sintyx Bot

User Profile Editing

Users can set their own custom slogan that appears on their profile, includes a custom filter system that prevents setting of any "illegal" slogans.

Complex Message Event

Our huge message event handles everything from database creation/handling, to suggestions, to ticket logging, giving XP, levelling up and giving coins to the standard processing commands, but is surprisingly efficient with a response time of only 1ms.

Blacklist System

Banning is never an option for us, but we needed a sophisticated way to punish people for breaking the rules, hence our blacklist system that allows us to give users a role that disallows them access to any part of the Discord until the blacklist is over.

Application System

An automated application system built into Discord, users can simply open an application ticket, answer all the questions and their application will be handled by the bot.

The largest project coded solo by myself, completely for free, for the network I own. It's purpose is to be used by hundreds of people on the Discord guild for the upcoming Sintyx Minecraft server. It includes many features not seen before on Discord bots, including achievements, supply drops and more... take a look at the photos and gain an insight into the most complex bot I have developed.

Supply Drops

A random implementation, but one that will allow activity to rise, the supply drop system randomly spawns a message in the main channel of the Sintyx Discord roughly every 1-2 hours on a random time basis. The first user to claim the supply drop, or otherwise click the tick reaction, gains the reward it states on the message.

Achievement System

The most remarkable feature of the bot is the achievement system. With many kinds of achievement that automatically track all users, achievements are unlocked simply by typing, opening crates or other simple things. The achievements you have unlocked can be viewed with commands, similarly, you can view the achievements you haven't unlocked.

Full-fledged logging system

As tracking user data is important to allow the bot to function and for our staff members to be able to track user actions on our bot, our logging system logs all actions on the bot to a specific channel on our internal Discord. This file also supports debugging which is enabled in the authentication file, debugging logs all actions to console along with logging it into channels.

Suggestion System

I like coding to make the process for the user as intuitive as possible. Using the message event, I constructed a system to allow users to directly type into the suggestions channel rather than using a command. Intuitive? I think so.

Music System

A music system implemented directly into the bot allows users of our Discord to listen to music without interruptions and drops in sound quality due to the low load on the bot compared to public bots.

User Settings

I have also implemented a system to allow users to change the way the bot behaves with them. Introducing settings. With options such as pinging for receiving XP and Coins and mentioning in tickets, users can change the way the bot acts individually with them.

Shop System

Along with the implementation of XP, levelling and Coins, we needed a use for the Coins themselves, so I implemented a shop. Users can purchase items that we set on the shop using Coins, this is then added to their inventory.

Idle Miner Tycoon

An interesting concept of mine, produced in a Discord bot, attempting to replicate the likes of the tycoon application often seen in the Play Store and App Store. Although not complete, it provides an enjoyable experience already. This is another solo project of mine and I have earned no money off this at all. When starting, users are given one one-star mine for free, from here, they venture out, and sell the materials the mine idly mines. Every prestige, which can be initiated once you reach mine level 250, you are given points. Points can be used to purchase mine crates to unlock more mines. The higher the rarity of the mine, the more money you earn from the mine. Rebirths take place when all 5 mines - the maximum limit - are prestige 50 level 250, this clears all of your mines, data etc., and "restarts" you - but, with benefits.

Sell System

The custom sell system integrates itself with the virtual backpack system, meaning you cannot sell more than your backpack's allowance. Backpacks are upgraded as you level up your mine, prestige and rebirth. Sell prices are calculated on a fixed rate, defined in a static file, and then multiplied by the percentage increase of leveling up, prestiging and rebirthing. When you sell, it appears as if you are selling the weight of material mined, rather than the minerals you have mined from the mine.

Prestige System

This system is concise, but allows users to prestige their mines once they reach level 250. By saving data into a database, it resets the mine to level 1, and increments the prestige, allowing the user to earn more from selling and have an increased backpack size. This command also handles giving users points.

An effective starting system

The number one thing I kept in mind when developing this bot is that users will be unsure of how the bot works. I wanted to alleviate this through our start command. This command constructs all of the user's databases that are required and provides them with the free mine crate they need to begin on their adventure. Until this command is ran, users cannot run any other commands to prevent errors.

Crates System

A fully integrated crates system that currently handles the awarding of mines. It allows a user to select from 5 emojis that are reacted to the message each with a random reward based on the rarity of the crate. Once the user selects a crate, it 'opens' and awards the user the mine seamlessly.