UNPKG

3.27 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/utils/groupMessages.js"],"names":["defaultGetMediaGroupId","ctx","a","filter","Boolean","join","groups","groupMessages","callback","groupKey","delay","mediaGroupId","push","delayMs","Math","random","Bluebird","group","length"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEO,IAAMA,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACC,GAAD,EAAS;AAC7C;AACA,MAAMC,CAAC,GAAG,GAAV;AACA,SAAO,CAAC,qBAAID,GAAJ,EAAS,iBAAT,CAAD,EAA8B,qBAAIA,GAAJ,EAAS,iBAAT,CAA9B,EAA2D,qBAAIA,GAAJ,EAAS,cAAT,CAA3D,EAAqFE,MAArF,CAA4FC,OAA5F,EAAqGC,IAArG,CAA0G,GAA1G,CAAP;AACD,CAJM;;;AAMP,IAAMC,MAAM,GAAG,EAAf;;AACO,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,QAAD;AAAA,iFAAiE,EAAjE;AAAA,2BAAaC,QAAb;AAAA,MAAaA,QAAb,8BAAwBT,sBAAxB;AAAA,wBAAgDU,KAAhD;AAAA,MAAgDA,KAAhD,2BAAwD,IAAxD;;AAAA;AAAA,8FAAwE,iBAAOT,GAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAC7FU,cAAAA,YAD6F,GAC9EF,QAAQ,CAACR,GAAD,CADsE,EAEnG;;AAFmG,kBAG9FU,YAH8F;AAAA;AAAA;AAAA;;AAIjGH,cAAAA,QAAQ,CAACP,GAAD,CAAR;AAJiG;;AAAA;AAOnG,kBAAI,CAACK,MAAM,CAACK,YAAD,CAAX,EAA2BL,MAAM,CAACK,YAAD,CAAN,GAAuB,EAAvB;AAC3BL,cAAAA,MAAM,CAACK,YAAD,CAAN,CAAqBC,IAArB,CAA0BX,GAA1B,EARmG,CAUnG;;AACMY,cAAAA,OAX6F,GAWnF,CAAC,IAAIC,IAAI,CAACC,MAAL,EAAL,IAAsBL,KAX6D,EAYnG;;AAZmG;AAAA,qBAa7FM,qBAASN,KAAT,CAAeG,OAAf,CAb6F;;AAAA;AAc7FI,cAAAA,KAd6F,GAcrF,wBAAOX,MAAM,CAACK,YAAD,CAAb,EAA6B,2BAA7B,CAdqF,EAenG;;AAfmG,kBAgB9FM,KAAK,CAACC,MAhBwF;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA,oBAiB/FD,KAAK,CAACC,MAAN,KAAiB,CAjB8E;AAAA;AAAA;AAAA;;AAkBjGV,cAAAA,QAAQ,CAACP,GAAD,CAAR;AAlBiG;;AAAA;AAqBnGA,cAAAA,GAAG,CAACgB,KAAJ,GAAYA,KAAZ;AACAT,cAAAA,QAAQ,CAACP,GAAD,CAAR;AACAK,cAAAA,MAAM,CAACK,YAAD,CAAN,GAAuB,EAAvB,CAvBmG,CAwBnG;;AAxBmG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAxE;;AAAA;AAAA;AAAA;AAAA;AAAA,CAAtB;;;eA0BQJ,a","sourcesContent":["import Bluebird from 'bluebird';\nimport get from 'lodash/get';\nimport sortBy from 'lodash/sortBy';\n\nexport const defaultGetMediaGroupId = (ctx) => {\n // return ctx.message.media_group_id || null;\n const a = 123;\n return [get(ctx, 'message.from.id'), get(ctx, 'message.chat.id'), get(ctx, 'message.date')].filter(Boolean).join('_');\n};\n\nconst groups = {};\nexport const groupMessages = (callback, { groupKey = defaultGetMediaGroupId, delay = 1000 } = {}) => async (ctx) => {\n const mediaGroupId = groupKey(ctx);\n // console.log('[QWE] 11', ctx.message.message_id, mediaGroupId);\n if (!mediaGroupId) {\n callback(ctx);\n return;\n }\n if (!groups[mediaGroupId]) groups[mediaGroupId] = [];\n groups[mediaGroupId].push(ctx);\n\n // console.log('[QWE] 22', ctx.message.message_id, mediaGroupId, groups[mediaGroupId].length);\n const delayMs = (1 + Math.random()) * delay;\n // console.log('[QWE] 333', ctx.message.message_id, mediaGroupId, groups[mediaGroupId].length, 'delay', delay);\n await Bluebird.delay(delayMs);\n const group = sortBy(groups[mediaGroupId], 'update.message.message_id');\n // console.log('[QWE] 33', ctx.message.message_id, mediaGroupId, groups[mediaGroupId].length);\n if (!group.length) return;\n if (group.length === 1) {\n callback(ctx);\n return;\n }\n ctx.group = group;\n callback(ctx);\n groups[mediaGroupId] = [];\n // console.log('[QWE] 444', ctx.message.message_id, mediaGroupId, groups[mediaGroupId].length);\n};\nexport default groupMessages;\n"],"file":"groupMessages.js"}
\No newline at end of file