@lotus-tree/fg-notation 1.1.3 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/README.md +80 -67
  2. package/babel.config.js +6 -6
  3. package/lib/img/basic/+.png +0 -0
  4. package/lib/img/credits.txt +3 -3
  5. package/lib/img/games/bbtag/a.png +0 -0
  6. package/lib/img/games/bbtag/b.png +0 -0
  7. package/lib/img/games/bbtag/c.png +0 -0
  8. package/lib/img/games/bbtag/d.png +0 -0
  9. package/lib/img/games/bbtag/p.png +0 -0
  10. package/lib/img/grabs/omegarugal.json +5 -0
  11. package/lib/img/grabs/omegarugal.png +0 -0
  12. package/lib/img/grabs/ralph.json +5 -0
  13. package/lib/img/grabs/ralph.png +0 -0
  14. package/lib/index.js +324 -70
  15. package/lib/info.json +33 -0
  16. package/package.json +28 -25
  17. package/src/img/basic/+.png +0 -0
  18. package/src/img/credits.txt +3 -3
  19. package/src/img/games/bbtag/a.png +0 -0
  20. package/src/img/games/bbtag/b.png +0 -0
  21. package/src/img/games/bbtag/c.png +0 -0
  22. package/src/img/games/bbtag/d.png +0 -0
  23. package/src/img/games/bbtag/p.png +0 -0
  24. package/src/img/grabs/omegarugal.json +5 -0
  25. package/src/img/grabs/omegarugal.png +0 -0
  26. package/src/img/grabs/ralph.json +5 -0
  27. package/src/img/grabs/ralph.png +0 -0
  28. package/src/index.js +302 -200
  29. package/src/info.json +33 -0
  30. package/dev/img/basic/1.png +0 -0
  31. package/dev/img/basic/12369.png +0 -0
  32. package/dev/img/basic/1237.png +0 -0
  33. package/dev/img/basic/1632143.png +0 -0
  34. package/dev/img/basic/2.png +0 -0
  35. package/dev/img/basic/21.png +0 -0
  36. package/dev/img/basic/214.png +0 -0
  37. package/dev/img/basic/21478.png +0 -0
  38. package/dev/img/basic/23.png +0 -0
  39. package/dev/img/basic/236.png +0 -0
  40. package/dev/img/basic/23698.png +0 -0
  41. package/dev/img/basic/28.png +0 -0
  42. package/dev/img/basic/3.png +0 -0
  43. package/dev/img/basic/32147.png +0 -0
  44. package/dev/img/basic/3219.png +0 -0
  45. package/dev/img/basic/341236.png +0 -0
  46. package/dev/img/basic/346.png +0 -0
  47. package/dev/img/basic/360.png +0 -0
  48. package/dev/img/basic/4.png +0 -0
  49. package/dev/img/basic/41236.png +0 -0
  50. package/dev/img/basic/421.png +0 -0
  51. package/dev/img/basic/46.png +0 -0
  52. package/dev/img/basic/4618346.png +0 -0
  53. package/dev/img/basic/47896.png +0 -0
  54. package/dev/img/basic/5.png +0 -0
  55. package/dev/img/basic/6.png +0 -0
  56. package/dev/img/basic/623.png +0 -0
  57. package/dev/img/basic/63214.png +0 -0
  58. package/dev/img/basic/64.png +0 -0
  59. package/dev/img/basic/6428.png +0 -0
  60. package/dev/img/basic/69874.png +0 -0
  61. package/dev/img/basic/7.png +0 -0
  62. package/dev/img/basic/7891.png +0 -0
  63. package/dev/img/basic/8.png +0 -0
  64. package/dev/img/basic/81237.png +0 -0
  65. package/dev/img/basic/82.png +0 -0
  66. package/dev/img/basic/87412.png +0 -0
  67. package/dev/img/basic/89632.png +0 -0
  68. package/dev/img/basic/9.png +0 -0
  69. package/dev/img/basic/[1].png +0 -0
  70. package/dev/img/basic/[2].png +0 -0
  71. package/dev/img/basic/[2]8.png +0 -0
  72. package/dev/img/basic/[3].png +0 -0
  73. package/dev/img/basic/[4].png +0 -0
  74. package/dev/img/basic/[6].png +0 -0
  75. package/dev/img/basic/[7].png +0 -0
  76. package/dev/img/basic/[8].png +0 -0
  77. package/dev/img/basic/[9].png +0 -0
  78. package/dev/img/basic/air.png +0 -0
  79. package/dev/img/basic/doubleforward.png +0 -0
  80. package/dev/img/credits.txt +0 -4
  81. package/dev/img/games/bb/a.png +0 -0
  82. package/dev/img/games/bb/b.png +0 -0
  83. package/dev/img/games/bb/c.png +0 -0
  84. package/dev/img/games/bb/d.png +0 -0
  85. package/dev/img/games/dbz/a1.png +0 -0
  86. package/dev/img/games/dbz/a2.png +0 -0
  87. package/dev/img/games/dbz/h.png +0 -0
  88. package/dev/img/games/dbz/l.png +0 -0
  89. package/dev/img/games/dbz/m.png +0 -0
  90. package/dev/img/games/dbz/s.png +0 -0
  91. package/dev/img/games/dnf/a.png +0 -0
  92. package/dev/img/games/dnf/as.png +0 -0
  93. package/dev/img/games/dnf/b.png +0 -0
  94. package/dev/img/games/dnf/g.png +0 -0
  95. package/dev/img/games/dnf/ms.png +0 -0
  96. package/dev/img/games/dnf/s.png +0 -0
  97. package/dev/img/games/gbf/g.png +0 -0
  98. package/dev/img/games/gbf/h.png +0 -0
  99. package/dev/img/games/gbf/l.png +0 -0
  100. package/dev/img/games/gbf/m.png +0 -0
  101. package/dev/img/games/gbf/s.png +0 -0
  102. package/dev/img/games/gg/d.png +0 -0
  103. package/dev/img/games/gg/hs.png +0 -0
  104. package/dev/img/games/gg/k.png +0 -0
  105. package/dev/img/games/gg/p.png +0 -0
  106. package/dev/img/games/gg/rc.png +0 -0
  107. package/dev/img/games/gg/s.png +0 -0
  108. package/dev/img/games/kof/a.png +0 -0
  109. package/dev/img/games/kof/b.png +0 -0
  110. package/dev/img/games/kof/c.png +0 -0
  111. package/dev/img/games/kof/d.png +0 -0
  112. package/dev/img/games/kof/max.png +0 -0
  113. package/dev/img/games/mk/1.png +0 -0
  114. package/dev/img/games/mk/2.png +0 -0
  115. package/dev/img/games/mk/3.png +0 -0
  116. package/dev/img/games/mk/4.png +0 -0
  117. package/dev/img/games/sc/[a].png +0 -0
  118. package/dev/img/games/sc/[b].png +0 -0
  119. package/dev/img/games/sc/[g].png +0 -0
  120. package/dev/img/games/sc/[k].png +0 -0
  121. package/dev/img/games/sc/a.png +0 -0
  122. package/dev/img/games/sc/b.png +0 -0
  123. package/dev/img/games/sc/g.png +0 -0
  124. package/dev/img/games/sc/k.png +0 -0
  125. package/dev/img/games/sf/hk.png +0 -0
  126. package/dev/img/games/sf/hp.png +0 -0
  127. package/dev/img/games/sf/j..png +0 -0
  128. package/dev/img/games/sf/lk.png +0 -0
  129. package/dev/img/games/sf/lp.png +0 -0
  130. package/dev/img/games/sf/max.png +0 -0
  131. package/dev/img/games/sf/mk.png +0 -0
  132. package/dev/img/games/sf/mp.png +0 -0
  133. package/dev/img/games/sf/tap.png +0 -0
  134. package/dev/img/games/sg/hk.png +0 -0
  135. package/dev/img/games/sg/hp.png +0 -0
  136. package/dev/img/games/sg/k.png +0 -0
  137. package/dev/img/games/sg/lk.png +0 -0
  138. package/dev/img/games/sg/lp.png +0 -0
  139. package/dev/img/games/sg/mk.png +0 -0
  140. package/dev/img/games/sg/mp.png +0 -0
  141. package/dev/img/games/sg/p.png +0 -0
  142. package/dev/img/games/tfh/a.png +0 -0
  143. package/dev/img/games/tfh/b.png +0 -0
  144. package/dev/img/games/tfh/c.png +0 -0
  145. package/dev/img/games/tfh/d.png +0 -0
  146. package/dev/img/games/tkn/1.png +0 -0
  147. package/dev/img/games/tkn/12.png +0 -0
  148. package/dev/img/games/tkn/1234.png +0 -0
  149. package/dev/img/games/tkn/13.png +0 -0
  150. package/dev/img/games/tkn/14.png +0 -0
  151. package/dev/img/games/tkn/2.png +0 -0
  152. package/dev/img/games/tkn/23.png +0 -0
  153. package/dev/img/games/tkn/24.png +0 -0
  154. package/dev/img/games/tkn/3.png +0 -0
  155. package/dev/img/games/tkn/34.png +0 -0
  156. package/dev/img/games/tkn/4.png +0 -0
  157. package/dev/img/games/tkn/b.png +0 -0
  158. package/dev/img/games/tkn/d-b.png +0 -0
  159. package/dev/img/games/tkn/d-f.png +0 -0
  160. package/dev/img/games/tkn/d.png +0 -0
  161. package/dev/img/games/tkn/f.png +0 -0
  162. package/dev/img/games/tkn/o.png +0 -0
  163. package/dev/img/games/tkn/u-b.png +0 -0
  164. package/dev/img/games/tkn/u-f.png +0 -0
  165. package/dev/img/games/tkn/u.png +0 -0
  166. package/dev/img/preview.png +0 -0
  167. package/dev/index.js +0 -491
package/lib/index.js CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
@@ -9,10 +11,12 @@ exports["default"] = void 0;
9
11
 
10
12
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
13
 
12
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
15
 
14
16
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
17
 
18
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
+
16
20
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
21
 
18
22
  var _sharp = _interopRequireDefault(require("sharp"));
@@ -25,6 +29,18 @@ var _sequelize = require("sequelize");
25
29
 
26
30
  var _bent = _interopRequireDefault(require("bent"));
27
31
 
32
+ var _axios = _interopRequireDefault(require("axios"));
33
+
34
+ var _info = require("./info.json");
35
+
36
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
37
+
38
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
39
+
40
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
41
+
42
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
43
+
28
44
  var getJSON = (0, _bent["default"])('json');
29
45
 
30
46
  var imgPath = _path["default"].join(__dirname, 'img');
@@ -33,6 +49,9 @@ var basicInputs = new Map();
33
49
  var gameInputs = new Map();
34
50
  var glossary = {};
35
51
  var terms = [];
52
+
53
+ var grabs = _glob["default"].sync(_path["default"].join(imgPath, 'grabs/**.png'));
54
+
36
55
  getGlossary();
37
56
  setInterval(getGlossary, 5 * 60 * 1000);
38
57
 
@@ -41,17 +60,17 @@ function getGlossary() {
41
60
  }
42
61
 
43
62
  function _getGlossary() {
44
- _getGlossary = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
63
+ _getGlossary = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
45
64
  var result, tempG, tempT;
46
- return _regenerator["default"].wrap(function _callee6$(_context6) {
65
+ return _regenerator["default"].wrap(function _callee7$(_context7) {
47
66
  while (1) {
48
- switch (_context6.prev = _context6.next) {
67
+ switch (_context7.prev = _context7.next) {
49
68
  case 0:
50
- _context6.next = 2;
69
+ _context7.next = 2;
51
70
  return getJSON('https://glossary.infil.net/json/glossary.json');
52
71
 
53
72
  case 2:
54
- result = _context6.sent;
73
+ result = _context7.sent;
55
74
  tempG = {};
56
75
  tempT = [];
57
76
  result.forEach(function (i) {
@@ -64,10 +83,10 @@ function _getGlossary() {
64
83
 
65
84
  case 8:
66
85
  case "end":
67
- return _context6.stop();
86
+ return _context7.stop();
68
87
  }
69
88
  }
70
- }, _callee6);
89
+ }, _callee7);
71
90
  }));
72
91
  return _getGlossary.apply(this, arguments);
73
92
  }
@@ -77,27 +96,55 @@ _glob["default"].sync(_path["default"].join(imgPath, 'basic/**'), {
77
96
  }).forEach(function (p) {
78
97
  var input = p.split('/').pop().replace('.png', '');
79
98
  basicInputs.set(input, p);
80
- });
99
+ var alias = _info.aliases.inputs.basic[input];
81
100
 
82
- basicInputs.set('>>', _path["default"].join(imgPath, 'basic/doubleforward.png'));
101
+ if (alias) {
102
+ alias.forEach(function (i) {
103
+ basicInputs.set(i, p);
104
+ if (_info.sizes[input]) _info.sizes[i] = _info.sizes[input];
105
+ });
106
+ }
107
+ });
83
108
 
84
- _glob["default"].sync(_path["default"].join(imgPath, 'games/**'), {
85
- nodir: true
86
- }).forEach(function (p) {
109
+ _glob["default"].sync(_path["default"].join(imgPath, 'games/*')).forEach(function (p) {
87
110
  var _path$parse = _path["default"].parse(_path["default"].relative(_path["default"].join(imgPath, 'games'), p)),
88
- dir = _path$parse.dir,
89
- name = _path$parse.name;
111
+ base = _path$parse.base;
90
112
 
91
- if (!gameInputs.has(dir)) gameInputs.set(dir, new Map());
92
- gameInputs.get(dir).set(name, p);
113
+ gameInputs.set(base, new Map());
114
+
115
+ _glob["default"].sync(_path["default"].join(imgPath, 'games', base, '**'), {
116
+ nodir: true
117
+ }).forEach(function (input) {
118
+ var _path$parse2 = _path["default"].parse(input),
119
+ name = _path$parse2.name;
120
+
121
+ gameInputs.get(base).set(name, input);
122
+ });
123
+
124
+ var alias = _info.aliases.inputs.games[base];
125
+
126
+ if (alias) {
127
+ for (var _i = 0, _Object$entries = Object.entries(alias); _i < _Object$entries.length; _i++) {
128
+ var _Object$entries$_i = (0, _slicedToArray2["default"])(_Object$entries[_i], 2),
129
+ a = _Object$entries$_i[0],
130
+ s = _Object$entries$_i[1];
131
+
132
+ gameInputs.get(base).set(a, s);
133
+ }
134
+ }
93
135
  });
94
136
 
95
137
  function solveInput(inputs, input) {
96
- if (inputs.has(input)) return [input];
138
+ if (inputs.has(input)) return isString(inputs.get(input)) ? [input] : inputs.get(input);
97
139
 
98
140
  for (var i = 0; i < input.length; i++) {
99
141
  var s1 = input.slice(0, 0 - i);
100
- if (inputs.has(s1)) return [s1].concat((0, _toConsumableArray2["default"])(solveInput(inputs, input.slice(0 - i))));
142
+
143
+ if (inputs.has(s1)) {
144
+ var result = inputs.get(s1);
145
+ var remaining = solveInput(inputs, input.slice(0 - i));
146
+ return isString(result) ? [s1].concat((0, _toConsumableArray2["default"])(remaining)) : [].concat((0, _toConsumableArray2["default"])(result), (0, _toConsumableArray2["default"])(remaining));
147
+ }
101
148
  }
102
149
 
103
150
  throw new Error("Cannot find \"".concat(input, "\" as a recognizable input"));
@@ -108,54 +155,79 @@ function sendInput(_x, _x2, _x3, _x4) {
108
155
  }
109
156
 
110
157
  function _sendInput() {
111
- _sendInput = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7(inputs, result, message, caption) {
112
- var canvas;
113
- return _regenerator["default"].wrap(function _callee7$(_context7) {
158
+ _sendInput = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8(inputs, result, message, caption) {
159
+ var width, images, left, canvas;
160
+ return _regenerator["default"].wrap(function _callee8$(_context8) {
114
161
  while (1) {
115
- switch (_context7.prev = _context7.next) {
162
+ switch (_context8.prev = _context8.next) {
116
163
  case 0:
117
- _context7.next = 2;
118
- return (0, _sharp["default"])({
164
+ width = result.map(function (it) {
165
+ return _info.sizes[it] || 152;
166
+ }).reduce(function (a, b) {
167
+ return a + b;
168
+ }, 0);
169
+ images = [];
170
+ left = 0;
171
+ result.forEach(function (it, index) {
172
+ var size = _info.sizes[it] || 152;
173
+ images.push({
174
+ input: inputs.get(it),
175
+ left: left,
176
+ top: Math.floor((152 - size) / 2)
177
+ });
178
+ left += size;
179
+ });
180
+ canvas = (0, _sharp["default"])({
119
181
  create: {
120
- width: 152 * result.length,
182
+ width: width,
121
183
  height: 152,
122
184
  channels: 4,
123
185
  background: 'transparent'
124
186
  }
125
- }).composite(result.map(function (it, index) {
126
- return {
127
- input: inputs.get(it),
128
- left: index * 152,
129
- top: 0,
130
- width: 152,
131
- height: 152
132
- };
133
- })).png().toBuffer();
187
+ }).png().composite(images);
188
+ _context8.next = 7;
189
+ return canvas.toBuffer();
134
190
 
135
- case 2:
136
- canvas = _context7.sent;
137
- return _context7.abrupt("return", message.reply({
191
+ case 7:
192
+ canvas = _context8.sent;
193
+
194
+ if (!(result.length < 12)) {
195
+ _context8.next = 12;
196
+ break;
197
+ }
198
+
199
+ _context8.next = 11;
200
+ return (0, _sharp["default"])(canvas).resize({
201
+ height: 55
202
+ }).png().toBuffer();
203
+
204
+ case 11:
205
+ canvas = _context8.sent;
206
+
207
+ case 12:
208
+ return _context8.abrupt("return", message.reply({
138
209
  content: caption,
139
210
  files: [canvas]
140
211
  }));
141
212
 
142
- case 4:
213
+ case 13:
143
214
  case "end":
144
- return _context7.stop();
215
+ return _context8.stop();
145
216
  }
146
217
  }
147
- }, _callee7);
218
+ }, _callee8);
148
219
  }));
149
220
  return _sendInput.apply(this, arguments);
150
221
  }
151
222
 
152
- var builtin = {
153
- 37: {
154
- game: 'sf',
155
- caption: '***LETS GO JUSTIN!***',
156
- input: '6 6 6 6 6 6 6 >> 6 6 6 6 6 6 6 >> 8 6 j. hk >> 2 mk >> 623 mp >> 236 236 lk'
157
- }
158
- };
223
+ function checkGame(game) {
224
+ return gameInputs.has(game) ? game : _info.aliases.games[game];
225
+ }
226
+
227
+ function isString(x) {
228
+ return Object.prototype.toString.call(x) === '[object String]';
229
+ }
230
+
159
231
  var _default = {
160
232
  name: 'fg-notation',
161
233
  about: {
@@ -207,7 +279,7 @@ var _default = {
207
279
  }
208
280
 
209
281
  name = message.content.split(' ').pop().replace(prefix, '');
210
- _context.t0 = builtin[name];
282
+ _context.t0 = _info.builtin[name];
211
283
 
212
284
  if (_context.t0) {
213
285
  _context.next = 12;
@@ -249,7 +321,7 @@ var _default = {
249
321
  example: 'fgi sf 236P 214K',
250
322
  execute: function () {
251
323
  var _execute = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(_ref, _ref2) {
252
- var param, message, _param, game, i1, inputs, result;
324
+ var param, message, _param, gameInput, i1, game, inputs, result;
253
325
 
254
326
  return _regenerator["default"].wrap(function _callee2$(_context2) {
255
327
  while (1) {
@@ -257,9 +329,9 @@ var _default = {
257
329
  case 0:
258
330
  param = _ref.param;
259
331
  message = _ref2.message;
260
- _param = (0, _slicedToArray2["default"])(param, 3), game = _param[1], i1 = _param[2];
332
+ _param = (0, _slicedToArray2["default"])(param, 3), gameInput = _param[1], i1 = _param[2];
261
333
 
262
- if (!(!game || !i1)) {
334
+ if (!(!gameInput || !i1)) {
263
335
  _context2.next = 5;
264
336
  break;
265
337
  }
@@ -267,21 +339,27 @@ var _default = {
267
339
  return _context2.abrupt("return", message.reply('Missing arguments. Example: >fgi sf 236P 214K'));
268
340
 
269
341
  case 5:
342
+ game = checkGame(gameInput);
343
+
270
344
  if (gameInputs.has(game)) {
271
- _context2.next = 7;
345
+ _context2.next = 8;
272
346
  break;
273
347
  }
274
348
 
275
349
  return _context2.abrupt("return", message.reply("\"".concat(game, "\" is not a valid game. Available games: ").concat(Array.from(gameInputs.keys()).join(' '))));
276
350
 
277
- case 7:
278
- inputs = new Map([].concat((0, _toConsumableArray2["default"])(basicInputs), (0, _toConsumableArray2["default"])(gameInputs.get(game))));
279
- result = param.slice(2).map(function (i) {
280
- return solveInput(inputs, i.toLowerCase());
281
- }).flat();
282
- sendInput(inputs, result, message);
351
+ case 8:
352
+ try {
353
+ inputs = new Map([].concat((0, _toConsumableArray2["default"])(basicInputs), (0, _toConsumableArray2["default"])(gameInputs.get(game))));
354
+ result = param.slice(2).map(function (i) {
355
+ return solveInput(inputs, i.toLowerCase());
356
+ }).flat();
357
+ sendInput(inputs, result, message);
358
+ } catch (err) {
359
+ message.reply(err.message);
360
+ }
283
361
 
284
- case 10:
362
+ case 9:
285
363
  case "end":
286
364
  return _context2.stop();
287
365
  }
@@ -302,7 +380,7 @@ var _default = {
302
380
  example: 'fgi sf testName 236P 214K',
303
381
  execute: function () {
304
382
  var _execute2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(_ref3, _ref4) {
305
- var param, sequelize, message, _param2, game, name, i1, inputs, input;
383
+ var param, sequelize, message, _param2, gameInput, name, i1, game, inputs, input;
306
384
 
307
385
  return _regenerator["default"].wrap(function _callee3$(_context3) {
308
386
  while (1) {
@@ -310,9 +388,9 @@ var _default = {
310
388
  case 0:
311
389
  param = _ref3.param, sequelize = _ref3.sequelize;
312
390
  message = _ref4.message;
313
- _param2 = (0, _slicedToArray2["default"])(param, 4), game = _param2[1], name = _param2[2], i1 = _param2[3];
391
+ _param2 = (0, _slicedToArray2["default"])(param, 4), gameInput = _param2[1], name = _param2[2], i1 = _param2[3];
314
392
 
315
- if (!(!game || !name || !i1)) {
393
+ if (!(!gameInput || !name || !i1)) {
316
394
  _context3.next = 5;
317
395
  break;
318
396
  }
@@ -320,19 +398,22 @@ var _default = {
320
398
  return _context3.abrupt("return", message.reply('Missing arguments. Example: >fgi sf testName 236P 214K'));
321
399
 
322
400
  case 5:
401
+ game = checkGame(gameInput);
402
+
323
403
  if (gameInputs.has(game)) {
324
- _context3.next = 7;
404
+ _context3.next = 8;
325
405
  break;
326
406
  }
327
407
 
328
408
  return _context3.abrupt("return", message.reply("\"".concat(game, "\" is not a valid game. Available games: ").concat(Array.from(gameInputs.keys()).join(' '))));
329
409
 
330
- case 7:
410
+ case 8:
411
+ _context3.prev = 8;
331
412
  inputs = new Map([].concat((0, _toConsumableArray2["default"])(basicInputs), (0, _toConsumableArray2["default"])(gameInputs.get(game))));
332
413
  input = param.slice(3).map(function (i) {
333
414
  return solveInput(inputs, i.toLowerCase());
334
415
  }).flat().join(' ');
335
- _context3.next = 11;
416
+ _context3.next = 13;
336
417
  return sequelize.models.fginput.create({
337
418
  guild: message.guild.id,
338
419
  name: name,
@@ -341,15 +422,22 @@ var _default = {
341
422
  input: input
342
423
  });
343
424
 
344
- case 11:
425
+ case 13:
345
426
  message.channel.send("Saved command \"".concat(input, "\" as \"").concat(name, "\""));
427
+ _context3.next = 19;
428
+ break;
346
429
 
347
- case 12:
430
+ case 16:
431
+ _context3.prev = 16;
432
+ _context3.t0 = _context3["catch"](8);
433
+ message.reply(_context3.t0.message);
434
+
435
+ case 19:
348
436
  case "end":
349
437
  return _context3.stop();
350
438
  }
351
439
  }
352
- }, _callee3);
440
+ }, _callee3, null, [[8, 16]]);
353
441
  }));
354
442
 
355
443
  function execute(_x7, _x8) {
@@ -483,9 +571,175 @@ var _default = {
483
571
  return _execute4.apply(this, arguments);
484
572
  }
485
573
 
574
+ return execute;
575
+ }()
576
+ },
577
+ grab: {
578
+ usage: 'grab @user',
579
+ desc: 'Command grab someone',
580
+ example: 'grab @ChitoWarlock',
581
+ execute: function () {
582
+ var _execute5 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(_ref9, _ref10) {
583
+ var param, sequelize, message, mentions, user, mainPath, mainImage, options, avatarImage, mainMetadata, width, height, canvas;
584
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
585
+ while (1) {
586
+ switch (_context6.prev = _context6.next) {
587
+ case 0:
588
+ param = _ref9.param, sequelize = _ref9.sequelize;
589
+ message = _ref10.message;
590
+ mentions = message.mentions.users;
591
+
592
+ if (!(mentions.size === 0)) {
593
+ _context6.next = 5;
594
+ break;
595
+ }
596
+
597
+ return _context6.abrupt("return", message.reply('You forgot to mention who to grab'));
598
+
599
+ case 5:
600
+ if (!(mentions.size > 1)) {
601
+ _context6.next = 7;
602
+ break;
603
+ }
604
+
605
+ return _context6.abrupt("return", message.reply('Cannot grab multiple enemies!'));
606
+
607
+ case 7:
608
+ user = mentions.first();
609
+ mainPath = grabs[getRandomInt(0, grabs.length - 1)];
610
+ _context6.next = 11;
611
+ return (0, _sharp["default"])(mainPath);
612
+
613
+ case 11:
614
+ mainImage = _context6.sent;
615
+ _context6.next = 14;
616
+ return Promise.resolve("".concat(mainPath.replace('.png', '.json'))).then(function (s) {
617
+ return _interopRequireWildcard(require(s));
618
+ });
619
+
620
+ case 14:
621
+ options = _context6.sent;
622
+ _context6.t0 = _sharp["default"];
623
+ _context6.next = 18;
624
+ return getBuffer(user.displayAvatarURL({
625
+ format: 'png'
626
+ }));
627
+
628
+ case 18:
629
+ _context6.t1 = _context6.sent;
630
+ _context6.next = 21;
631
+ return (0, _context6.t0)(_context6.t1).resize(options.resize).rotate(options.rotate, {
632
+ background: {
633
+ r: 0,
634
+ g: 0,
635
+ b: 0,
636
+ alpha: 0
637
+ }
638
+ });
639
+
640
+ case 21:
641
+ avatarImage = _context6.sent;
642
+ _context6.next = 24;
643
+ return mainImage.metadata();
644
+
645
+ case 24:
646
+ mainMetadata = _context6.sent;
647
+ width = mainMetadata.width, height = mainMetadata.height;
648
+ _context6.t2 = newCanvas(width, height);
649
+ _context6.t3 = _objectSpread;
650
+ _context6.next = 30;
651
+ return avatarImage.toBuffer();
652
+
653
+ case 30:
654
+ _context6.t4 = _context6.sent;
655
+ _context6.t5 = {
656
+ input: _context6.t4
657
+ };
658
+ _context6.t6 = options.composite;
659
+ _context6.t7 = (0, _context6.t3)(_context6.t5, _context6.t6);
660
+ _context6.next = 36;
661
+ return mainImage.toBuffer();
662
+
663
+ case 36:
664
+ _context6.t8 = _context6.sent;
665
+ _context6.t9 = {
666
+ input: _context6.t8
667
+ };
668
+ _context6.t10 = [_context6.t7, _context6.t9];
669
+ _context6.next = 41;
670
+ return _context6.t2.composite.call(_context6.t2, _context6.t10).png().toBuffer();
671
+
672
+ case 41:
673
+ canvas = _context6.sent;
674
+ message.reply({
675
+ files: [canvas]
676
+ });
677
+
678
+ case 43:
679
+ case "end":
680
+ return _context6.stop();
681
+ }
682
+ }
683
+ }, _callee6);
684
+ }));
685
+
686
+ function execute(_x13, _x14) {
687
+ return _execute5.apply(this, arguments);
688
+ }
689
+
486
690
  return execute;
487
691
  }()
488
692
  }
489
693
  }
490
694
  };
491
- exports["default"] = _default;
695
+ exports["default"] = _default;
696
+
697
+ function getBuffer(_x15) {
698
+ return _getBuffer.apply(this, arguments);
699
+ }
700
+
701
+ function _getBuffer() {
702
+ _getBuffer = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9(url) {
703
+ var input;
704
+ return _regenerator["default"].wrap(function _callee9$(_context9) {
705
+ while (1) {
706
+ switch (_context9.prev = _context9.next) {
707
+ case 0:
708
+ _context9.next = 2;
709
+ return (0, _axios["default"])({
710
+ url: url,
711
+ responseType: 'arraybuffer'
712
+ });
713
+
714
+ case 2:
715
+ input = _context9.sent.data;
716
+ return _context9.abrupt("return", input);
717
+
718
+ case 4:
719
+ case "end":
720
+ return _context9.stop();
721
+ }
722
+ }
723
+ }, _callee9);
724
+ }));
725
+ return _getBuffer.apply(this, arguments);
726
+ }
727
+
728
+ function newCanvas(width, height) {
729
+ var channels = 4;
730
+ var rgbaPixel = 0x00000000;
731
+ var canvas = Buffer.alloc(width * height * channels, rgbaPixel);
732
+ return (0, _sharp["default"])(canvas, {
733
+ raw: {
734
+ width: width,
735
+ height: height,
736
+ channels: channels
737
+ }
738
+ });
739
+ }
740
+
741
+ function getRandomInt(min, max) {
742
+ min = Math.ceil(min);
743
+ max = Math.floor(max);
744
+ return Math.floor(Math.random() * (max - min + 1)) + min;
745
+ }
package/lib/info.json ADDED
@@ -0,0 +1,33 @@
1
+ {
2
+ "sizes": { "+": 55 },
3
+
4
+ "builtin": {
5
+ "37": {
6
+ "game": "sf",
7
+ "caption": "***LETS GO JUSTIN!***",
8
+ "input": "6 6 6 6 6 6 6 >> 6 6 6 6 6 6 6 >> 8 6 j. hk >> 2 mk >> 623 mp >> 236 236 lk"
9
+ }
10
+ },
11
+
12
+ "aliases": {
13
+ "games": {
14
+ "bbt": "bbtag",
15
+ "db": "dbz"
16
+ },
17
+
18
+ "inputs": {
19
+ "basic": {
20
+ "doubleforward": [">>"]
21
+ },
22
+
23
+ "games": {
24
+ "bbtag": {
25
+ "throw": ["b","+","c"],
26
+ "crb": ["d","+","p"],
27
+ "airdash": ["a","+","b"],
28
+ "reversal": ["a","+","d"]
29
+ }
30
+ }
31
+ }
32
+ }
33
+ }
package/package.json CHANGED
@@ -1,25 +1,28 @@
1
- {
2
- "name": "@lotus-tree/fg-notation",
3
- "version": "1.1.3",
4
- "main": "lib/index.js",
5
- "module": "src/index.js",
6
- "scripts": {
7
- "run-babel": "babel --delete-dir-on-start --copy-files src",
8
- "build": "yarn run run-babel --out-dir lib",
9
- "dev": "yarn run run-babel --watch --out-dir dev",
10
- "prepublishOnly": "yarn build"
11
- },
12
- "dependencies": {
13
- "@lotus-tree/command-handler": "^2.0.0",
14
- "bent": "^7.3.12",
15
- "glob": "^7.2.0",
16
- "sharp": "^0.29.3"
17
- },
18
- "devDependencies": {
19
- "@babel/cli": "^7.16.7",
20
- "@babel/core": "^7.16.7",
21
- "@babel/node": "^7.16.7",
22
- "@babel/plugin-transform-runtime": "^7.16.7",
23
- "@babel/preset-env": "^7.16.7"
24
- }
25
- }
1
+ {
2
+ "name": "@lotus-tree/fg-notation",
3
+ "version": "1.3.0",
4
+ "main": "lib/index.js",
5
+ "module": "src/index.js",
6
+ "scripts": {
7
+ "run-babel": "babel --delete-dir-on-start --copy-files src",
8
+ "build": "yarn run run-babel --out-dir lib",
9
+ "dev": "yarn run run-babel --watch --source-maps inline --out-dir dev",
10
+ "prepublishOnly": "yarn build"
11
+ },
12
+ "dependencies": {
13
+ "axios": "^0.27.2",
14
+ "bent": "^7.3.12",
15
+ "glob": "^7.2.0",
16
+ "sharp": "^0.29.3"
17
+ },
18
+ "peerDependencies": {
19
+ "@lotus-tree/command-handler": "^2.1.0"
20
+ },
21
+ "devDependencies": {
22
+ "@babel/cli": "^7.16.7",
23
+ "@babel/core": "^7.16.7",
24
+ "@babel/node": "^7.16.7",
25
+ "@babel/plugin-transform-runtime": "^7.16.7",
26
+ "@babel/preset-env": "^7.16.7"
27
+ }
28
+ }
Binary file
@@ -1,4 +1,4 @@
1
- These emojis were made by Magic (@MagicianStuff / @MagicianSketch).
2
- Using the Twemoji 13.1 open source emoji set.
3
-
1
+ These emojis were made by Magic (@MagicianStuff / @MagicianSketch).
2
+ Using the Twemoji 13.1 open source emoji set.
3
+
4
4
  These are public domain and can be used without credit.
Binary file
Binary file
Binary file