Natico
Natico is designed to be a low level and extendable framework for Discordeno
Simple setup
Normal natico
you will have to apply the plugins manually using the naticoclient.plugn() function
import { NaticoClient, NaticoClientOptions, NaticoCommandHandler } from "https://deno.land/x/natico/mod.ts";
class BotClient extends NaticoClient {
constructor(public options: NaticoClientOptions) {
super(options);
}
commandHandler: NaticoCommandHandler = new NaticoCommandHandler(this, {
directory: "./commands",
prefix: "!",
});
async start() {
await this.commandHandler.loadALL();
return this.login();
}
}
const botClient = new BotClient({
intents: ["Guilds", "GuildMessages", "GuildVoiceStates"],
token: "your token",
});
botClient.start();
Using plugins
import { enableNaticoPlugin, NaticoBot, NaticoPluginOptions, withPlugins } from "../src/plugins/NaticoPlugin.ts";
import { enableCachePlugin, enableCacheSweepers } from "https://deno.land/x/discordeno_cache_plugin@0.0.9/mod.ts";
const pluginOps: NaticoPluginOptions = {
commandHandler: {
directory: "examples/template/commands",
prefix: "!",
},
};
const bot = withPlugins<NaticoBot<any>>(
//@ts-ignore -
{
token: Deno.env.get("DISCORD_TOKEN")!,
intents: ["Guilds", "GuildMessages"],
botId: BigInt(Deno.env.get("BOT_ID")!),
cache: {
isAsync: false,
},
},
[enableNaticoPlugin, pluginOps],
enableCachePlugin,
enableCacheSweepers
);
async function startUp() {
await bot.commandHandler.loadALL();
return await bot.login();
}
startUp();
Features
- flexible
- Natico is built using classes allowing you to extend everything and add features to your liking
- Command handling
- Natico is a slashcommand only framework
- Listeners
- Natico comes included with a listener(events) handler which makes it very easy to use events
- Inhibitors
- Natico has easy to use inhibitors
- Interaction handling
- Theres built in button and interaction support
- And much more
This project is inspired by discord-akairo
For more information/docs visit the examples page