Registro de cambios
V2.2.0 Cambios
Sabado 28 de Diciembre de 2024
Cambios importantes:
- Los threads ya no forman parte de la caché principal; ahora se fusionan con los canales.
WorkerAdapterya no es el adaptador de caché predeterminado delWorkerClient.- Se cambiaron las funciones
Context.guild,Context.channelyContext.mepara usar el modoflowpor defecto. - Se eliminaron las ubicaciones
outputytemplatesdel archivo de configuración. - Se eliminó el parámetro
updateOnlydel metodopatchen el adaptador de caché. - Se removieron tipos y Intents obsoletos.
- Se renombró
VoiceChannelMethods#setVoiceStateaVoiceChannelMethods#setVoiceStatus
Correcciones:
- Se solucionaron problemas con las conexiones zombie.
- Se corrigió la implementación de
workerProxyen elWorkerClient. - Se corrigió el método
editenGuildRole. - Se corrigió que
ModalInteraction.member.rolesno devolvía los datos correctos. - Se corrigió el callback
refreshdel collector. - Se corrigió
guildMemberRemovepara obtener el objeto correcto deGuildMemberanterior.
Adiciones:
- Se añadió
Client.latencypara obtener la latencia de todos los shards. cache.disabledCacheahora puede ser una función que devuelva dinámicamentetrue/falsesegún el parámetrocacheType.- Se añadieron los métodos
addRoleyremoveRoleaBaseGuildMember. - Se mejoró el mensaje de error para “archivo de configuración no encontrado”.
- Los escuchadores de componentes ahora incluyen una función
onPass. - Se añadió soporte para la API de Soundboard con funcionalidades para
get,upload,listydelete. - Se añadió un acortador de soundboard en el
Client. - Se añadieron eventos personalizados en el
WorkerClient. - Se introdujo el resharding, habilitando la creación y eliminación automática de shards según sea necesario en el
WorkerClient. - Los objetos
attachmentahora soportanArrayBuffer,Uint8ClampedArrayyUint8Array(tipos actualizados). option.valueinfiere automáticamente lasoption.choicesespecificadas, si están disponibles.options.valueahora devuelve el mismo tipo que se especifica enoption.channel_types.- Se introdujeron
Guild...ContextyContext.inGuild()para garantizar los datos del gremio para comandos no utilizables en mensajes directos. - Se añadió un método
deferUpdateparaComponentContext. - Los métodos setter de Embed (por ejemplo,
addField,setDescription) ahora soportanundefinedcomo parámetro válido. - La configuración de Seyfert ahora es extendible utilizando
ExtendedRCpara tipos yExtendedRCLocationsparaconfig.locations. - Se añadió una utilidad
generateOAuth2URLen los formateadores. - Se añadió soporte para Deno y Bun.
- Se introdujo una forma más corta para
voiceStates, accesible a través declient.voiceStates. - Se mejoraron los mensajes de error de la API de Discord.
- Se añadió un callback
onRatelimitenApiHandler(rest). - Se añadieron tipos de evento de webhook para
applicationAuthorized,entitlementCreatedyquestUserEnrollment. HttpServerAdapterahora soporta cualquier tipo deClient(HttpClient,ClientoWorkerClient).- Se añadió
channel.messages.list()para obtener todos los mensajes de un canal.
Cambios V2.1.0
7 de Septiembre de 2024
Correcciones:
- Se maneja correctamente el estado http 429 (límite de velocidad)
- No se podía deshabilitar la caché con
.setServicesen unWorkerClient
Adiciones:
EntryPointInteraction,ButtonPointContext,EntryPointCommand- Redistribución de shards para
Client(habilitado por defecto) - Tipo
AnyContext - Evento
WORKER_SHARD_CONNECTED SUBSCRIPTION_DELETE,SUBSCRIPTION_UPDATE,SUBSCRIPTION_CREATE- Ahora los shards registran errores sin necesidad del modo debug
- Los workers ahora tienen una cola para generarse
Cambios importantes:
- La interfaz
AttachmentDatacambió la propiedadnameafilename
interface AttachmentData { name: string; filename: string;}- Ahora WorkerClient no envía todos los eventos al padre (WorkerManager) por defecto, si quieres habilitarlo, simplemente:
new WorkerClient({ sendPayloadToParent: true});- La opción
disabledCacheenWorkerClientya no existe, usasetServicesen su lugar
Cambios V2.0.0
23 de Agosto de 2024
Con esta versión, nos enorgullece anunciar que seyfert ahora no tiene dependencias, incluyendo un cliente websocket construido desde cero.
Adiciones:
- Manejo de comandos Ahora seyfert maneja todos los comandos a través de la misma estructura. Si usas un analizador de argumentos personalizado o algo similar, revísalo. Además, si tienes un plugin de seyfert o planeas hacer uno, todas las estructuras de seyfert son modificables, así que solo apúntalo donde quieras que vaya.
import { HandleCommand } from 'seyfert'
client.setServices({ handleCommand: class extends HandleCommand { argsParser = yourParser() } })- Transformadores Ahora seyfert te permite transformar los datos de discord como desees, seyfert lo llamará y lo usará en toda la biblioteca.
import { Transformers } from 'seyfert';const storage = new Map();class MyPoll extends Poll { storage() { return storage.set(this.id, this); }}
Transformers.Poll = (...args: ConstructorParameters<typeof MyPoll>) => new MyPoll(...args);
declare module 'seyfert' { interface CustomStructures { Poll: MyPoll; }}- API de Discord
Ahora soportamos
Monetización,Encuestas (con constructores),Emojis de Aplicación,Obtener Rol,Obtener estados de voz, etc.
Cambios menores:
- Ahora las opciones de disabledCaches son un objeto
- Resueltos algunos errores de caché en eventos
- Corregidos los bits de permisos resueltos