https://github.com/pyxelcodes/aetherial
The Discord Bot Library that doesn't change everything every update
https://github.com/pyxelcodes/aetherial
Last synced: over 1 year ago
JSON representation
The Discord Bot Library that doesn't change everything every update
- Host: GitHub
- URL: https://github.com/pyxelcodes/aetherial
- Owner: PyxelCodes
- License: mit
- Created: 2024-06-27T17:29:30.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-12-29T02:27:41.000Z (over 1 year ago)
- Last Synced: 2025-03-14T04:46:41.351Z (over 1 year ago)
- Language: TypeScript
- Homepage:
- Size: 2.53 MB
- Stars: 5
- Watchers: 1
- Forks: 1
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Usage
You will need a token and a public key from the discord developer platform
```js
const Aetherial = require('aetherial');
const client = new Aetherial.Client(token, publicKey);
client.on('ready', () => console.log('Bot is online!'))
client.on('interactionCreate', (interaction) => {
interaction.reply({
content: "Hello, World!";
})
})
```
This also works with Components
```js
client.on('interactionCreate', (interaction) => {
if(interaction.isButton()) {
interaction.reply({
content: "Hello, World!";
})
}
})
```
### Using Commands
Individual Command file located in `./commands/COMMAND_NAME.js`
```js
module.exports = {
name: "hello",
run: ({ interaction }) => {
interaction.reply({ content: "Hello, World!" });
},
};
```
Using the in-built command loader which loads every command file in a subdirectory
- index.js
- commands
- info
- ping.js
```js
Aetherial.loadCommands(client.commands);
```
Using the in-built command registering function automatically registers the slash commands with discords API.
This function should only be called when there is a change to the command name list
Calling this once every bot start is okay but not ideal.
```js
Aetherial.loadCommands(client.commands);
Aetherial.registerCommands(client.commands, client.token);
```
Running the bot locally requires a Software called ngrok.
ngrok tunnels local http requests to a static url you can enter on the discord developer page under "INTERACTIONS ENDPOINT URL"
make sure to add the /interactions at the end of the URL.
for example: https://name.ngrok-free.app/interactions
### Using Embeds
```js
interaction.reply({
embeds: [
new Aetherial.MessageEmbed()
.setDescription(`This is an Embed!`)
.setColor(0xff0000),
],
});
```