DiscordAPI

Cliente REST para interagir com a API do Discord

Importação

typescript
import { DiscordAPI } from 'discord-flow';

Construtor

typescript
1const discord = new DiscordAPI({
2 token: process.env.DISCORD_TOKEN
3});

Canais

typescript
1// Obter canal
2const channel = await discord.getChannel(channelId);
3
4// Criar canal
5const newChannel = await discord.createChannel(guildId, {
6 name: 'novo-canal',
7 type: ChannelType.GuildText
8});
9
10// Editar canal
11await discord.editChannel(channelId, {
12 name: 'canal-editado'
13});
14
15// Deletar canal
16await discord.deleteChannel(channelId);

Mensagens

typescript
1// Enviar mensagem
2await discord.sendMessage(channelId, {
3 content: 'Hello!',
4 embeds: [...]
5});
6
7// Editar mensagem
8await discord.editMessage(channelId, messageId, {
9 content: 'Editado!'
10});
11
12// Deletar mensagem
13await discord.deleteMessage(channelId, messageId);
14
15// Obter mensagens
16const messages = await discord.getMessages(channelId, { limit: 10 });

Roles

typescript
1// Obter roles
2const roles = await discord.getRoles(guildId);
3
4// Criar role
5const role = await discord.createRole(guildId, {
6 name: 'Membro VIP',
7 color: 0x1EBE38,
8 permissions: Permissions.SendMessages
9});
10
11// Adicionar role a membro
12await discord.addRole(guildId, userId, roleId);
13
14// Remover role de membro
15await discord.removeRole(guildId, userId, roleId);

Membros

typescript
1// Obter membro
2const member = await discord.getMember(guildId, userId);
3
4// Obter lista de membros
5const members = await discord.getMembers(guildId, { limit: 100 });
6
7// Editar membro
8await discord.editMember(guildId, userId, {
9 nick: 'Novo Apelido'
10});
11
12// Banir membro
13await discord.banMember(guildId, userId, {
14 reason: 'Spam'
15});
16
17// Kickar membro
18await discord.kickMember(guildId, userId);

Guilds

typescript
1// Obter guild
2const guild = await discord.getGuild(guildId);
3
4// Obter canais da guild
5const channels = await discord.getGuildChannels(guildId);

Threads

typescript
1// Criar thread
2const thread = await discord.createThread(channelId, {
3 name: 'Nova Thread',
4 autoArchiveDuration: 1440
5});
6
7// Adicionar membro à thread
8await discord.addThreadMember(threadId, userId);

Comandos

typescript
1// Registrar comandos globais
2await discord.registerCommands(applicationId, [
3 { name: 'ping', description: 'Pong!' },
4 { name: 'help', description: 'Ajuda' }
5]);
6
7// Registrar comandos em guild específica
8await discord.registerGuildCommands(applicationId, guildId, commands);
9
10// Obter informações da aplicação
11const app = await discord.getApplicationInfo();