Estoy tratando de usar quick.db para un administrador de InteractionCollector en discord.js con mecanografiado, y dado que no puede haber más de 1 colector activo, cada vez que un usuario usa un comando que tiene un colector, se establece en un mapa con la identificación del usuario, y cada vez que el usuario usa otro comando con un recopilador, el anterior se destruye.
El problema es que si uso un mapa de JavaScript normal, funciona, pero como es más pesado, quiero usar un archivo .sqlite con quick.db, y cuando configuro el recopilador, no se configura por completo, solo un sub -objeto, y dado que ese subobjeto no tiene la función de parada, da un error
oldCollector.stop no es una función
¿Hay alguna manera de arreglar esto, y por qué sucede esto?
Ejemplo: Este es un colector:
InteractionCollector { _events: [Object: null prototype] { end: [Array], collect: [Array] }, _eventsCount: 2, _maxListeners: undefined, filter: [AsyncFunction: filter], options: { filter: [AsyncFunction: filter], time: 67709, interactionType: 3, channel: [TextChannel] }, collected: Collection(0) [Map] {}, ended: false, _timeout: Timeout { _idleTimeout: 67709, _idlePrev: [TimersList], _idleNext: [TimersList], _idleStart: 21969, _onTimeout: [Function (anonymous)], _timerArgs: undefined, _repeat: null, _destroyed: false, [Symbol(refed)]: false, [Symbol(kHasPrimitive)]: false, [Symbol(asyncId)]: 741, [Symbol(triggerId)]: 0 }, _idletimeout: null, handleCollect: [Function: bound handleCollect] AsyncFunction, handleDispose: [Function: bound handleDispose] AsyncFunction, messageId: null, channelId: '988393091528523816', guildId: '988393091067174973', interactionType: 'MESSAGE_COMPONENT', componentType: null, users: Collection(0) [Map] {}, total: 0, empty: [Function: bound empty], _handleChannelDeletion: [Function: bound _handleChannelDeletion], _handleThreadDeletion: [Function: bound _handleThreadDeletion], _handleGuildDeletion: [Function: bound _handleGuildDeletion], [Symbol(kCapture)]: false } } y si lo configuro con quick.db a través db.set(interaction.user.id, collector) , devuelve esto y falla:
{ collected: [], messageId: null, channelId: '988393091528523816', guildId: '988393091067174973', interactionType: 'MESSAGE_COMPONENT', componentType: null, users: [], total: 0 }Cómo lo configuro en la base de datos:
const collector = interaction.channel.createMessageComponentCollector({ filter, time: utils.rng(50000, 100000), }); collectorMap.set(interaction.user.id, collector);