Skip to content

A library that wraps biscuit in a more dev-friendly enviroment without compromising too much performance

License

Notifications You must be signed in to change notification settings

VyrekXD/fortune

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@fortuneland/core

A library that wraps biscuit in a more dev-friendly enviroment without taking to much performance

Install (for node18)

npm install @fortuneland/core
yarn add @fortuneland/core
pnpm add @fortuneland/core

In a nutshell, what is fortune?

  • A bleeding edge framework
  • A wrapper of a fast library (biscuit) to interface the Discord API

Fortune is obviously inspired by biscuit but in all ways, devs of biscuit "Believe that you should not make software that does things it is not supposed to do.", fortune thinks devs can use fast and easy-to-use libraries to make their own bots.

Happy coding with fortune :D

Why fortune (and not biscuit)

  • Fortune is just more dev-friendly, great for experienced and new devs
  • Fortune is scalable as biscuit
  • Fortune doesnt affect performance a lot compared to using only biscuit
  • Biscuit is a great library but its just non-feature rich (They made it that way, to became "minimal"), fortune fixes that issue

Example

Docs coming soon

Your files need to be something like this

/ fortune-bot
	/ src
		/ commands
			- ping.ts
		/ events
			- ready.ts
		- index.ts

// index.ts
import { Session } from '@fortuneland/core'
import { GatewayIntents } from '@biscuitland/api-types'
import { fileURLToPath } from 'url'
import { dirname, join } from 'path'

const __dirname = dirname(fileURLToPath(import.meta.url))
const session = new Session({ token: 'your token', intents: GatewayIntents.Guilds })

async function main() {
	await session.loadCommands(join(__dirname, '.', 'commands'))
	await session.loadEvents(join(__dirname, '.', 'events'))
	await session.start()
}

main()

// ping.ts
import { BaseCommand, CommandContext } from '@fortuneland/core'

export default class extends BaseCommand {
	name = 'ping'
	description = 'Pong!'

	run(ctx: CommandContext) {
		ctx.editOrRespond({ content: 'Pong!' })
	}
}

// ready.ts
export const run = () => {
	console.log('Bot is ready!')
}

export const name = 'ready'

Links

Known issues:

(Fortune has the same issues as biscuit, because fortune uses biscuit)

About

A library that wraps biscuit in a more dev-friendly enviroment without compromising too much performance

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published