1.1.0 • Published 7 months ago

discord-visionario v1.1.0

Weekly downloads
-
License
ISC
Repository
-
Last release
7 months ago

ム Visionários

Discord
npm

Discord Visionários é um módulo Node.js para gerar transcrições HTML com boa aparência. Processa a formatação de markdown do Discord como negrito, itálico, riscado, e muito mais. Formata de maneira agradável os anexos e embeds. Proteção XSS incorporada, impedindo que os usuários insiram tags HTML arbitrárias.

Este módulo pode formatar o seguinte:

  • Markdown com sintaxe do Discord
    • Usa discord-visionario
    • Permite que sintaxes complexas de markdown sejam processadas corretamente
  • Embeds
  • Mensagens do sistema
    • Mensagens de entrada
    • Mensagens fixadas
    • Mensagens de boost
  • Comandos Slash
    • Exibe o nome do comando no mesmo estilo do Discord
  • Botões
  • Reações
  • Anexos
    • Imagens, vídeos, áudios e arquivos genéricos
  • Respostas
  • Menções
  • Tópicos

Este módulo foi projetado para funcionar com discord.js v14/v15 somente. Se você precisa de suporte para v13, faça o downgrade para v2.X.X

Estilos de @MatproDEVV/discord-visionario.
Nos bastidores, este pacote usa React SSR para gerar um site estático.

👋 Suporte

Por favor, não me envie DM solicitando suporte para este pacote, eu não responderei.
Em vez disso, abra um tópico no este servidor.

🖨️ Exemplo de Saída

output

📝 Uso

Exemplo de uso com o fetcher de mensagens embutido.

const discordTranscripts = require('discord-visionario');
// ou (se estiver usando TypeScript) import * as discordTranscripts from 'ム Visionários';

const channel = message.channel; // ou da maneira que você obtém o TextChannel

// Deve ser aguardado
const attachment = await discordTranscripts.createTranscript(channel);

channel.send({
  files: [attachment],
});

Ou, se preferir, você pode passar suas próprias mensagens.

const discordTranscripts = require('discord-visionario');
// ou (se estiver usando TypeScript) import * as discordTranscripts from 'discord-visionario';

const messages = someWayToGetMessages(); // Deve ser Collection ou Message[]
const channel = someWayToGetChannel(); // Usado para nome do ticket, ícone do servidor e nome do servidor

// Deve ser aguardado
const attachment = await discordTranscripts.generateFromMessages(messages, channel);

channel.send({
  files: [attachment],
});

⚙️ Configuração

Ambos os métodos para gerar uma transcrição permitem um objeto de opções como o último parâmetro. Todas as opções de configuração são opcionais!

Fetcher de Mensagens embutido

const attachment = await discordTranscripts.createTranscript(channel, {
    limit: -1, // Quantidade máxima de mensagens a serem buscadas. `-1` busca recursivamente.
    returnType: 'attachment', // Opções válidas: 'buffer' | 'string' | 'attachment' Padrão: 'attachment' OU use o enum ExportReturnType
    filename: 'transcript.html', // Só válido quando returnType é 'attachment'. Nome do anexo.
    saveImages: false, // Baixar todas as imagens e incluir os dados da imagem no HTML (permite visualizar a imagem mesmo após ser excluída) (! AUMENTARÁ O TAMANHO DO ARQUIVO !)
    footerText: "Exportado {number} mensagem{s}", // Alterar texto no rodapé, não se esqueça de colocar {number} para mostrar quantas mensagens foram exportadas, e {s} para plural
    callbacks: {
      // registrar callbacks personalizados para os seguintes:
      resolveChannel: (channelId: string) => Awaitable<Channel | null>,
      resolveUser: (userId: string) => Awaitable<User | null>,
      resolveRole: (roleId: string) => Awaitable<Role | null>
    },
    poweredBy: true, // Se inclui o rodapé "Powered by ム Visionários"
    hydrate: true, // Se hidratar o HTML no lado do servidor
    filter: (message) => true // Filtrar mensagens, ex: (message) => !message.author.bot
});

Fornecendo suas próprias mensagens

const attachment = await discordTranscripts.generateFromMessages(messages, channel, {
  // Mesma coisa que createTranscript, exceto sem limite ou filtro
});

🤝 Gostou do pacote?

Dê uma estrela ⭐

acornacorn-jsxacorn-walkajvansi-regexansi-stylesargargparsearray-unionbalanced-matchbrace-expansionbracescallsiteschalkclsxcolorcolor-convertcolor-namecolor-stringconcat-mapcreate-requirecross-spawncsstypedebugdeep-isdetect-libcdiffdir-globdiscord-api-typesdiscord-markdown-parserdiscord-visionariodiscord.jsdiscrord-visionariodoctrinedotenvend-of-streamescape-string-regexpeslinteslint-scopeeslint-visitor-keysespreeesqueryesrecurseestraverseesutilsexecafast-deep-equalfast-globfast-json-stable-stringifyfast-levenshteinfastqfile-entry-cachefill-rangefind-upflat-cacheflattedfs-extrafs.realpathget-streamglobglob-parentglobalsglobbygraceful-fsgraphemerhas-flaghex-to-rgbahighlight.jshuman-signalshuskyignoreimport-freshimurmurhashinflightinheritsis-arrayishis-extglobis-globis-numberis-path-insideis-streamisexejs-tokensjs-yamljson-bufferjson-schema-traversejson-stable-stringify-without-jsonifyjsonfilekeyvlevnlocate-pathlodashlodash.mergelodash.snakecaseloose-envifymagic-bytes.jsmake-errormerge-streammerge2micromatchmimic-fnminimatchmrimsnatural-comparenatural-compare-litenpm-run-pathobject-assignonceonetimeoptionatorp-limitp-locatep-trypackageparent-modulepath-existspath-is-absolutepath-keypath-typepicocolorspicomatchprelude-lsprettierpretty-quickprop-typespumppunycodequeue-microtaskreactreact-domreact-isresolve-fromreusifyrimrafrun-parallelschedulersemversharpshebang-commandshebang-regexsignal-exitsimple-markdownsimple-swizzleslashstrip-ansistrip-final-newlinestrip-json-commentssupports-colortext-tableto-regex-rangets-mixerts-nodetslibtsutilstwemojitwemoji-parsertype-checktype-festtypescriptundiciundici-typesuniversalifyuri-jsv8-compile-cache-libwhichword-wrapwrappywsynyocto-queue
1.1.0

7 months ago

1.0.0

7 months ago

3.2.0

7 months ago

3.2.7

7 months ago

3.2.6

7 months ago