Files
discordeno/README.md
2021-05-05 17:21:39 +01:00

79 lines
3.1 KiB
Markdown

# Discordeno
<img align="right" src="https://raw.githubusercontent.com/discordeno/guide/main/src/.vuepress/public/logo.png" height="150px">
Discord API library for [Deno](https://deno.land)
Discordeno follows [Semantic Versioning](https://semver.org/)
[![Discord](https://img.shields.io/discord/785384884197392384?color=7289da&logo=discord&logoColor=dark)](https://discord.com/invite/5vBgXk3UcZ)
![Lint](https://github.com/discordeno/discordeno/workflows/Lint/badge.svg)
![Test](https://github.com/discordeno/discordeno/workflows/Test/badge.svg)
[![Coverage](https://img.shields.io/codecov/c/gh/discordeno/discordeno)](https://codecov.io/gh/discordeno/discordeno)
## Features
- **Secure & stable**: Discordeno is actively maintained to ensure great
performance and convenience. Moreover, it internally checks all missing
permissions before forwarding a request to the Discord API so that the client
does not get
[globally-banned by Discord](https://discord.com/developers/docs/topics/rate-limits#invalid-request-limit).
- **Simple, Efficient, & Lightweight**: Discordeno is simplistic, easy-to-use,
versatile while being efficient and lightweight. Follows
[Convention Over Configuration](https://en.wikipedia.org/wiki/Convention_over_configuration)
design paradigm ― prefers defaults options or values that are recommended by
Discord or the best configuration for the majority of the users.
- [**Functional API**](https://en.wikipedia.org/wiki/Functional_programming):
Functional API ensures an overall concise yet performant code while removing
the difficulties of extending built-in classes and inheritance.
## Getting Started
### Minimal Example
Here is a minimal example to get started with:
```typescript
import { startBot } from "https://deno.land/x/discordeno/mod.ts";
startBot({
token: "BOT TOKEN",
intents: ["Guilds", "GuildMessages"],
eventHandlers: {
ready() {
console.log("Successfully connected to gateway");
},
messageCreate(message) {
if (message.content === "ping") {
message.reply("Pong using Discordeno!");
}
},
},
});
```
### Templates
Note to developers: don't worry a lot of developers start out programming a
Discord bot as their first project (I did 😉) and it is not so easy to do so.
Discordeno is designed and built considering all the issues that I and a lot of
developers had when I first started out coding Discord bots with existing
libraries. If you are a beginner, you can check out these awesome official and
unofficial templates:
- [Discordeno Template (official)](https://github.com/discordeno/template)
- [Serverless Slash Commands Template
(official)](https://github.com/discordeno/slash-commands-template)
- [Add Your Own!](https://github.com/discordeno/discordeno/pulls)
## Links
- [Website](https://discordeno.mod.land)
- [Documentation](https://doc.deno.land/https/deno.land/x/discordeno/mod.ts)
- [Discord](https://discord.com/invite/5vBgXk3UcZ)
## Contributing
We appreciate your help! Before contributing, please read the
[Contributing Guide](https://github.com/discordeno/discordeno/blob/main/.github/CONTRIBUTING.md).