atmosphere.ts
v0.1.0
Published
Uma lib para bots de Discord em TypeScript, feita pra ser simples de ler e escrever sem perder poder. Criada por Mth Soft.
Maintainers
Readme
🌤️ atmosphere.ts
Uma lib pra criar bots de Discord em TypeScript — do mesmo jeito que discord.js e discord.py fazem, só que escrita do zero, pensada pra ser fácil de ler e de escrever sem perder poder. Feita por Mth Soft.
import { Client, EmbedBuilder } from "atmosphere.ts";
const client = new Client({ intents: ["Guilds", "GuildMessages"] });
client.on("ready", () => console.log(`conectado como ${client.user?.tag}`));
client.on("messageCreate", (message) => {
if (message.content === "!oi") {
const embed = new EmbedBuilder().setTitle("Oi! 👋").setColor("Azul");
message.reply({ embeds: [embed] });
}
});
client.login(process.env.DISCORD_TOKEN!);Por quê
Porque é sua. atmosphere.ts existe pra ser a base de bots seus, escrita
com as suas mãos, do jeito que você gosta de programar — não uma cópia de
outra lib, mas algo que você entende de ponta a ponta porque construiu.
O que ela suporta
- ✅ Gateway (WebSocket) com heartbeat, reconexão e resume automáticos
- ✅ REST com fila de rate limit por rota e retry automático em 429
- ✅ Comandos slash completos: opções, subcomandos, grupos, choices, autocomplete, permissões padrão
- ✅ Embeds (
EmbedBuilder) - ✅ Componentes clássicos: botões, todos os tipos de select menu, modais/text inputs
- ✅ Components V2: Container, Section, TextDisplay, Thumbnail, MediaGallery, File, Separator
- ✅ Interações: reply/deferReply/editReply/followUp, respostas efêmeras, update/deferUpdate em componentes
- ✅ Cache com managers: Guild, Channel, User, GuildMember, Role,
Message — com
get/fetchconsistentes em todo lugar - ✅ Permissões e Intents como bitfields tipados (
bigintpor baixo) - ✅ Coletores de mensagem e de interação
- ✅ Carregador de comandos por pasta (
loadCommandFiles)
Instalação
npm install atmosphere.ts(Enquanto não estiver publicada no NPM, veja o
capítulo 13 da documentação — ou instale
local com npm install file:../caminho/pra/atmosphere.ts.)
Documentação completa
Tem uma aula inteira sobre a lib em docs/ — do
zero até publicar seu próprio pacote no NPM:
- Introdução
- Primeiros passos
- Seu primeiro bot
- Eventos
- Comandos slash
- Embeds
- Componentes clássicos
- Components V2
- Interações a fundo
- Cache e managers
- Permissões e Intents
- Coletores
- Publicando no NPM
- Referência rápida
Exemplos prontos
examples/bot-basico— ping, embed, botões com coletor, modal, select menu persistenteexamples/bot-components-v2— um painel inteiro montado só com Components V2
Desenvolvendo a lib em si
npm install # instala ws, typescript e as @types
npm run build # compila src/ -> dist/
npm run watch # compila em modo watchEstrutura
src/
├── client/ Client — o maestro
├── gateway/ conexão WebSocket
├── rest/ chamadas HTTP + rate limit
├── structures/ User, Guild, Message, Channel, interações...
├── managers/ cache de cada estrutura
├── builders/ Embed, Button, SlashCommand, Components V2...
├── handlers/ loader de comandos, coletores
├── util/ BitField, Collection, Constants, Colors
└── types/ tipos crus da API do DiscordLicença
MIT — veja LICENSE.
Esse é o começo da jornada de bots do Mth Soft. 🌤️
