Saltearse al contenido

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 del WorkerClient.
  • Se cambiaron las funciones Context.guild, Context.channel y Context.me para usar el modo flow por defecto.
  • Se eliminaron las ubicaciones output y templates del archivo de configuración.
  • Se eliminó el parámetro updateOnly del metodo patch en el adaptador de caché.
  • Se removieron tipos y Intents obsoletos.
  • Se renombró VoiceChannelMethods#setVoiceState a VoiceChannelMethods#setVoiceStatus

Correcciones:

  • Se solucionaron problemas con las conexiones zombie.
  • Se corrigió la implementación de workerProxy en el WorkerClient.
  • Se corrigió el método edit en GuildRole.
  • 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 de GuildMember 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ámicamente true/false según el parámetro cacheType.
  • Se añadieron los métodos addRole y removeRole a BaseGuildMember.
  • 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 y delete.
  • 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 soportan ArrayBuffer, Uint8ClampedArray y Uint8Array (tipos actualizados).
  • option.value infiere automáticamente las option.choices especificadas, si están disponibles.
  • options.value ahora devuelve el mismo tipo que se especifica en option.channel_types.
  • Se introdujeron Guild...Context y Context.inGuild() para garantizar los datos del gremio para comandos no utilizables en mensajes directos.
  • Se añadió un método deferUpdate para ComponentContext.
  • Los métodos setter de Embed (por ejemplo, addField, setDescription) ahora soportan undefined como parámetro válido.
  • La configuración de Seyfert ahora es extendible utilizando ExtendedRC para tipos y ExtendedRCLocations para config.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 de client.voiceStates.
  • Se mejoraron los mensajes de error de la API de Discord.
  • Se añadió un callback onRatelimit en ApiHandler (rest).
  • Se añadieron tipos de evento de webhook para applicationAuthorized, entitlementCreated y questUserEnrollment.
  • HttpServerAdapter ahora soporta cualquier tipo de Client (HttpClient, Client o WorkerClient).
  • 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 un WorkerClient

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 propiedad name a filename
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 en WorkerClient ya no existe, usa setServices 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