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.
WorkerAdapter
ya no es el adaptador de caché predeterminado delWorkerClient
.- Se cambiaron las funciones
Context.guild
,Context.channel
yContext.me
para usar el modoflow
por defecto. - Se eliminaron las ubicaciones
output
ytemplates
del archivo de configuración. - Se eliminó el parámetro
updateOnly
del metodopatch
en el adaptador de caché. - Se removieron tipos y Intents obsoletos.
- Se renombró
VoiceChannelMethods#setVoiceState
aVoiceChannelMethods#setVoiceStatus
Correcciones:
- Se solucionaron problemas con las conexiones zombie.
- Se corrigió la implementación de
workerProxy
en elWorkerClient
. - Se corrigió el método
edit
enGuildRole
. - Se corrigió que
ModalInteraction.member.roles
no devolvía los datos correctos. - Se corrigió el callback
refresh
del collector. - Se corrigió
guildMemberRemove
para obtener el objeto correcto deGuildMember
anterior.
Adiciones:
- Se añadió
Client.latency
para obtener la latencia de todos los shards. cache.disabledCache
ahora puede ser una función que devuelva dinámicamentetrue
/false
según el parámetrocacheType
.- Se añadieron los métodos
addRole
yremoveRole
aBaseGuildMember
. - 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
,list
ydelete
. - 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
attachment
ahora soportanArrayBuffer
,Uint8ClampedArray
yUint8Array
(tipos actualizados). option.value
infiere automáticamente lasoption.choices
especificadas, si están disponibles.options.value
ahora devuelve el mismo tipo que se especifica enoption.channel_types
.- Se introdujeron
Guild...Context
yContext.inGuild()
para garantizar los datos del gremio para comandos no utilizables en mensajes directos. - Se añadió un método
deferUpdate
paraComponentContext
. - Los métodos setter de Embed (por ejemplo,
addField
,setDescription
) ahora soportanundefined
como parámetro válido. - La configuración de Seyfert ahora es extendible utilizando
ExtendedRC
para tipos yExtendedRCLocations
paraconfig.locations
. - Se añadió una utilidad
generateOAuth2URL
en 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
onRatelimit
enApiHandler
(rest). - Se añadieron tipos de evento de webhook para
applicationAuthorized
,entitlementCreated
yquestUserEnrollment
. HttpServerAdapter
ahora soporta cualquier tipo deClient
(HttpClient
,Client
oWorkerClient
).- 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
.setServices
en 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
AttachmentData
cambió la propiedadname
afilename
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
disabledCache
enWorkerClient
ya no existe, usasetServices
en 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