Hello, are you migrating from BDFD to Aoi.js? You have come to the right place.
Here I will explain you what you should know when you migrate.
First of all, we thank you for migrating to Aoi.js!
Just so you know,
"BDFD" means "Bot Designer for Discord".
"docs" means the documentation of aoi.js
What is Aoi.js?
Aoi.js is a coding language for making Discord Bots (can't call it a coding language exactly but in a nutshell it is).
How is it different from BDFD?
Aoi.js is completely different from BDFD.
Aoi.js is made using JavaScript, While BDFD (more specifically, BD Script) is made using Golang so we should never compare aoi.js and bdfd regarding how it was made.
Aoi.js may look similar in the functions, but it is not similar at all.
BDFD has different scripts like BD Script, BD Script Unstable, BD Script 2
which reads code in different order for each script while, Aoi.js only reads from BOTTOM to TOP, so just putting your BDFD code on Aoi.js won't work you need to arrange it to make it work.
Aoi.js requires a actual host which BDFD doesn't (since they do it automatically for you but requires premium or ads) but you will find a lot of host that gives free hosting, you can find some here.
There can be errors on the functions as well as on your bot file, while BDFD errors have normally only functions errors.
Creating commands on Aoi.js may look complex but it is not though (please refer to the docs on how to create command). We have a panel which give a bit of similarity to BDFD but it isn't same at all. We use Command Handler to load commands.
What are the differences you should note?
Aoi.js is literally different from BDFD, so reading the original docs would be the best choice, always check your BDFD cammand's functions with Aoi.js one. Though I have put some of them here you can check:
Aoi.js uses guild
and client
for server
and bot
respectively in the functions, so you always need to cross check your BDFD code. Like $getServerVar
is now $getGuildVar
.
Aoi.js uses $httpRequest
only instead of $httpGet
, $httpResult
, $httpPost
, etc.
As I said before, Aoi.js reads from bottom to top (so putting a $onlyif
in top would get executed last.)
In Aoi.js, you need to create the slash command seperately and the code for it separately. You can find more information about this in this guide by dodogames.
Unlike BDFD, you need to use $interactionReply or $interactionFollowUp for a interaction type command or else it will say Interaction did not responded
or something like this. For using embed and components (like button, modals, selectMenu) in this $interactionReply, we use aoi.parser which itself is a different concept, you first need to install it and set it up in your bot file, we use {newEmbed:} and {ActionRow:} inside a $interactionReply for it, like $interactionReply[;{newEmbed:{title:hello} {description:Hello, I am somebody}};{actionRow:{button:...}}]
These are few only, there are more difference between Aoi.js and BDFD, so always cross check your code with the docs.
What are advantages of Aoi.js?
Aoi.js have a lot of advantages than BDFD.
- You can create an UNLIMITED amount of commands and variables.
- No more NEED PREMIUM stuffs, all are pretty much free. (Like custom prefix, using $alwaysExecute, etc...),
- No need of creating a command many times for making alias as Aoi.js has a property/option that lets you add the aliases.
- You can create Custom Functions and use them in your codes.
- Atlast Music, yeah, you can create music commands using aoi.music.
These are only some I said, there are even more.
I hope this guide helped you.
If you still didn't understand, we are in #v6-support to help you.
I thank you for using Aoi.js and reading this guide.
This guide could get outdated. So if you found any outdated stuff message me in this discussion.