A form and application bot for Discord
Form Fox, or just Fox, is our take on a Disord application bot. They handle everything from the creation of forms to adding roles when responses get accepted.
The bot's default prefix is ff!
, and you can get help with anything you need with ff!h
.
You can invite Form Fox with this link. Once you've got the bot in your server, you should:
- Create a form with
ff!create
- Post that form to a channel with
ff!post
, or bind it to an existing message withff!bind
- Set a response channel globally or local to that form with
ff!channel
- React to the post from before, or use
ff!apply
to open a response - Finish the response to make sure everything's working
You're all set! The bot should now function properly.
Form Fox currently offers several different types of questions, specifically:
- Multiple choice
- Checkbox-style
- Freeform
- Numbers-only
- Date-only
You can also make questions required, which will prevent users from skipping them (or completing a form early, if there are more required questions ahead)
Most of Form Fox's functions are reaction based, or have reaction-based options- mainly applying to forms and accepting/denying responses. This saves on typing and helps keep your channels safer and cleaner, as it erases the need for new members to have a writable channel in order to apply to enter your server.
Note: For accessibility reasons, reaction-based interactions also come with command or keyword equivalents. No need to worry about missing out on a feature just because its primary intent is for reactions!
Servers currently do not have a limit to the number of forms they can create. Whether you only need one, or could use 10, you have the ability to make whatever forms you need.
Note: Despite this, forms can currently only have 20 questions. This is due to Discord-related limitations, but in the future this may be worked around and upped as necessary.
Every form is its own contained app. They have their own names, descriptions, even colors- and on top of this, you can also set what channel their responses go to, what roles are given once the form's response is accepted, and what message is sent to the user if their form is accepted. You can customize just about every aspect of each form.
Most commands come with shorter aliases for ease of typing. Form and response creation are also handled as menus, so you don't have to worry about getting things mixed up.
In-progress responses are saved for easy access later. Respond whenever you want; there's no time limit before you have to start over again.
This also applies to bot restarts. Your data will be saved as soon as you answer a question, and will be accessed again when you answer another one. No more losing responses because of bot crashes.
Node: version 14.0 or higher
Database: For the master branch: PostgreSQL with any version, local or otherwise; for sqlite branch: SQLite 3
Tech: You'll want some form of hosting computer, be it a VPS in the cloud or a computer that's always online. This bot isn't likely to work with REPL.
You should also have a basic understanding of Node, Postgres, and JavaScript, especially if you plan to make changes.
(Assuming you have all the requirements set up)
- Download this repository and unzip (if applicable) to wherever you want it
- Open a terminal in the root folder and use
npm i
to install dependencies - Copy the
.env.example
rename it to.env
. Fill it with the correct values - Use
node bot/bot
to run the bot
The bot should now be online and accepting commands :)
support server
our patreon
our ko-fi
We do commissions! If you're interested in a bot or website, check out this doc for more info!