Inspiration

While Discord provides the Audit Log, which lets server owners see changes made by other users, the Audit Log does not provide as much information as a server owner could want in order to properly run a server. Edited and deleted messages do not show their original content, and many changes made to a server may just not be noticed. This program aims to fix that, by providing an easy to understand and detailed look at changes made on a Discord server.

What it does

The program pulls information from any Discord server that the bot is in, and will then send that information to a webpage for viewing by a user. The program is designed to make moderating large Discord communities easier, as more information can be seen, such as edited and deleted messages.

How I built it

The program pulls information from the Discord API, and then sends that information to a html page utilizing Socket.IO. Discord's API makes it easy to find and access this information, and the whole process generally takes less than a second to complete resulting in a quick way to access this information.

Challenges I ran into

Originally, the program logged all of its changes into a Discord channel. While testing out the program on a larger server, however, a large amount of the information was not submitted due to ratelimiting errors. Because of this, I moved the information over to a separate webpage utilizing Socket.IO

Accomplishments that I'm proud of

I'm proud of keeping the entire program relatively small and fast, with updates happening extremely quickly. While the entire repository is 8.23 MB, the vast majority of this comes from Socket.IO dependencies, rather than the program itself. The main program only adds up to about 6 KB, with just 191 lines of code, including white space.

What I learned

This program was my first time utilizing Socket.IO. While I had used the Discord API in the past, I had not used it for these specific purposes, and I learned how to utilize a wide variety of events provided by the API in order to deliver information quickly. In regards to Socket.IO, I learned how to send and receive information, as well as send a large amount of parameters to that information, including the color of the text, in order to make my project more presentable.

What's next for Socket.IO-Discord-Log

The next steps for the program include improvements to general presentation, such as allowing the user to filter for specific types of messages. This would allow the same quantity of information to be logged, while not flooding the log with new messages stopping a server admin from finding the content that they need.

Built With

Share this project:

Updates