Browse Source

Merge branch 'master' into systemd

Mike L 4 years ago
parent
commit
3cfc14bba3
3 changed files with 29 additions and 18 deletions
  1. 23 16
      dist/webshot.js
  2. 1 1
      package.json
  3. 5 1
      src/webshot.ts

+ 23 - 16
dist/webshot.js

@@ -258,22 +258,29 @@ class Webshot extends CallableInstance {
                     logger.error(`failed to fetch ${url}: ${err.message}`);
                     reject();
                 });
-            }).then(data => ((ext) => __awaiter(this, void 0, void 0, function* () {
-                switch (ext) {
-                    case 'jpg':
-                        return { mimetype: 'image/jpeg', data };
-                    case 'png':
-                        return { mimetype: 'image/png', data };
-                    case 'mp4':
-                        try {
-                            return { mimetype: 'image/gif', data: yield gif(data) };
-                        }
-                        catch (err) {
-                            logger.error(err);
-                            throw Error(err);
-                        }
-                }
-            }))(url.match(/\?format=([a-z]+)&/)[1])).then(typedData => `data:${typedData.mimetype};base64,${Buffer.from(typedData.data).toString('base64')}`);
+            }).then(data => {
+                var _a;
+                return ((ext) => __awaiter(this, void 0, void 0, function* () {
+                    switch (ext) {
+                        case 'jpg':
+                            return { mimetype: 'image/jpeg', data };
+                        case 'png':
+                            return { mimetype: 'image/png', data };
+                        case 'mp4':
+                            try {
+                                return { mimetype: 'image/gif', data: yield gif(data) };
+                            }
+                            catch (err) {
+                                logger.error(err);
+                                throw Error(err);
+                            }
+                    }
+                }))(((_a = url.match(/\?format=([a-z]+)&/)) !== null && _a !== void 0 ? _a : url.match(/.*\/.*\.([^?]+)/))[1])
+                    .catch(() => {
+                    logger.warn('unable to find MIME type of fetched media, failing this fetch');
+                    throw Error();
+                });
+            }).then(typedData => `data:${typedData.mimetype};base64,${Buffer.from(typedData.data).toString('base64')}`);
         };
         // tslint:disable-next-line: no-conditional-assignment
         if (this.mode = mode) {

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "@CL-Jeremy/mirai-twitter-bot",
-  "version": "0.3.1",
+  "version": "0.3.2",
   "description": "Mirai Twitter Bot",
   "main": "./dist/main.js",
   "bin": {

+ 5 - 1
src/webshot.ts

@@ -286,7 +286,11 @@ extends CallableInstance<
               throw Error(err);
             }
         }
-      })(url.match(/\?format=([a-z]+)&/)[1])
+      })((url.match(/\?format=([a-z]+)&/) ?? url.match(/.*\/.*\.([^?]+)/))[1])
+      .catch(() => {
+        logger.warn('unable to find MIME type of fetched media, failing this fetch');
+        throw Error();
+      })
     ).then(typedData => 
       `data:${typedData.mimetype};base64,${Buffer.from(typedData.data).toString('base64')}`
     );