Wave Bot is a Discord bot I created for my personal Discord server. It's coded using Javascript, DiscordJS, NodeJS, and other various resources. I created it because I wanted to find a way to connect my love for gaming and coding in a constructive and fun way. I use Discord a lot for gaming, and always had an interest in building a bot. This was a challenge for me since I don't have a lot of Javascript/NodeJS experience, but I was able to complete my personal goal and finish making the bot with its initial features. I am planning on adding more features in the future.
Wave Bot is made with DiscordJS, NodeJS, Javascript, FFMPEG, and other npm resources. DiscordJS is a NodeJS module that works hand-in-hand to work with the Discord API using the Javascript language. FFMPEG is a framework that lets you encode, decode, filter, play, and other features with forms of audio and video. There were also some npm resources that were used that include dotenv, ytdl-core, opusscript, and nodemon.
With certain commands the bot responds in a certain way. This can be in the form of a simple text reply, a YouTube video , or even a photo.
If a user is in a voice channel and types in a certain command, the bot will enter the channel that user is in and will play a certain sound effect. The different commands determine a different sound.
This bot has certain admin commands if there is an indicated admin channel. If a user sends the bot a direct message, the bot sends that message to the admin channel where all admins are able to see it. Any admins can then respond with a command for admins only. When used the bot can directly message a user with a specific message. This is helpful if an admin needs to privately handle issues with users, or users are able to send issues on the server without making them public.
Discord gives their users the ability to link their accounts with a Spotify account. If their user is linked with their account and they have given Discord permission to share their Spotify activity on their account, they are able to use a certain command. This command, once typed, shares the current song they are listening to, and sends it to the server's music channel. This includes a link to the song.