Fox Bot is a bot designed for the music sharing website, plug.dj. It is designed for a specific 'music room' on plug.dj known as Fox Den | EDM. The link to Fox Den is located here. The purpose of posting this code onto Github is for prospective employers to explore the work I have completed with Node.JS and analyze how much I've worked with developing Fox Bot. There is no need to clone or download this repository. A fully functioning Fox Bot with all API Keys and credential is running in Fox Den EDM.
A list of all commands that can be used with Fox Bot can be located here
| Dependency | Description | Links |
|---|---|---|
| PlugAPI | Allows Fox Bot to connect to Fox Den and make calls to the Plug.dj API. It is a generic API for designing Node.JS bots. | NPM GitHub |
| FTP | Connects to Fox Den EDM VPS through FTP connection to upload JSON data for the website to pull in. This will eventually be replaced with Express and Socket.io | NPM GitHub |
| LowDB | The database module that Fox Bot uses to track seen users, played songs etc. Low DB is a lightweight JSON database used for keeping track of all our data. | NPM GitHub |
| PM2 | The process manager that Fox Bot uses to continuously run even if it experiences a crash. | NPM Website |
| Socket.io Client | The socket client is used to communicate to the Fox Den EDM VPS to transfer and recieve data through events. | NPM GitHub |
| Unescape | This package is used to unescape odd characters that are found in some users' usernames. Makes them legible to the bot. | NPM GitHub |
| Trello | Trello is an organizational tool that we use to manage user bans, command planning and testing, etc. Fox Bot integrates with our trello board to update suggestions and user punishments. | NPM GitHub Website |
| MS Translator | Not all users in Fox Den speak english. Fox Bot has an integrated translator functionality that will translate selected phrases into english. | NPM GitHub Website |
| MS Translator | Not all users in Fox Den speak english. Fox Bot has an integrated translator functionality that will translate selected phrases into english. | NPM GitHub Website |
| Giphy API | Fox Bot integrates with the Giphy API. This functionality allows a user to query for a gif and fox bot displays a random result. | NPM GitHub Website |
| ImgFlipper | THe donor tier of users have the ability to generate memes using the ImgFlipper API which is integrated into Fox Bot. | NPM GitHub Website |
| Node Soundcloud | Plug Dj allows users to play songs from YouTube and SoundCloud. In order to get the URL of a soundcloud track, we need to perform a request using the SoundCloud API for the song link. | NPM GitHub Website |
| Urban Dictionary | With Fox Bot, users have the ability to look up search terms in Urban Dictionary. This feature is typically disabled due to inappropriate results. | NPM GitHub Website |
| Cleverbot | Fox Bot now uses the AI power of cleverbot to interact with users. This is a new dependency as of the 2.0.0 update. | NPM GitHub Website |
If you are a prospective employer and are looking to clone and run this repository locally it is possible. After you've cloned this repository you will need to add the required plug.dj logins, room slug (the information after the plug.dj/) and API Keys on the settings.json page. Then you will run npm install to install all of the dependencies. Once everything is installed, you will use node foxbot (assuming you have Node on your machine) to launch Fox Bot into the Plug.dj room of your choice. This Plug.dj account needs to have Manager or higher permissions in the Plug.dj room
Fox Bot was created from scratch and is continuously modified with new features. You are NOT permitted to use any of Fox Bot's code for your own use. Violators will be contacted and asked to remove their code. Fox Bot is designed, created, and is modified by Foxifly.
If you have any questions about Fox Bot's operation or functionality, please reach out to me directly through email.