@lotus-tree/fg-notation 1.1.4 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (183) hide show
  1. package/README.md +82 -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/mary.json +5 -0
  11. package/lib/img/grabs/mary.png +0 -0
  12. package/lib/img/grabs/maxima.json +5 -0
  13. package/lib/img/grabs/maxima.png +0 -0
  14. package/lib/img/grabs/omegarugal.json +5 -0
  15. package/lib/img/grabs/omegarugal.png +0 -0
  16. package/lib/img/grabs/potem.json +5 -0
  17. package/lib/img/grabs/potem.png +0 -0
  18. package/lib/img/grabs/ralph.json +5 -0
  19. package/lib/img/grabs/ralph.png +0 -0
  20. package/lib/img/grabs/sol.json +5 -0
  21. package/lib/img/grabs/sol.png +0 -0
  22. package/lib/index.js +324 -70
  23. package/lib/info.json +33 -0
  24. package/package.json +28 -25
  25. package/src/img/basic/+.png +0 -0
  26. package/src/img/credits.txt +3 -3
  27. package/src/img/games/bbtag/a.png +0 -0
  28. package/src/img/games/bbtag/b.png +0 -0
  29. package/src/img/games/bbtag/c.png +0 -0
  30. package/src/img/games/bbtag/d.png +0 -0
  31. package/src/img/games/bbtag/p.png +0 -0
  32. package/src/img/grabs/mary.json +5 -0
  33. package/src/img/grabs/mary.png +0 -0
  34. package/src/img/grabs/maxima.json +5 -0
  35. package/src/img/grabs/maxima.png +0 -0
  36. package/src/img/grabs/omegarugal.json +5 -0
  37. package/src/img/grabs/omegarugal.png +0 -0
  38. package/src/img/grabs/potem.json +5 -0
  39. package/src/img/grabs/potem.png +0 -0
  40. package/src/img/grabs/ralph.json +5 -0
  41. package/src/img/grabs/ralph.png +0 -0
  42. package/src/img/grabs/sol.json +5 -0
  43. package/src/img/grabs/sol.png +0 -0
  44. package/src/index.js +302 -200
  45. package/src/info.json +33 -0
  46. package/dev/img/basic/1.png +0 -0
  47. package/dev/img/basic/12369.png +0 -0
  48. package/dev/img/basic/1237.png +0 -0
  49. package/dev/img/basic/1632143.png +0 -0
  50. package/dev/img/basic/2.png +0 -0
  51. package/dev/img/basic/21.png +0 -0
  52. package/dev/img/basic/214.png +0 -0
  53. package/dev/img/basic/21478.png +0 -0
  54. package/dev/img/basic/23.png +0 -0
  55. package/dev/img/basic/236.png +0 -0
  56. package/dev/img/basic/23698.png +0 -0
  57. package/dev/img/basic/28.png +0 -0
  58. package/dev/img/basic/3.png +0 -0
  59. package/dev/img/basic/32147.png +0 -0
  60. package/dev/img/basic/3219.png +0 -0
  61. package/dev/img/basic/341236.png +0 -0
  62. package/dev/img/basic/346.png +0 -0
  63. package/dev/img/basic/360.png +0 -0
  64. package/dev/img/basic/4.png +0 -0
  65. package/dev/img/basic/41236.png +0 -0
  66. package/dev/img/basic/421.png +0 -0
  67. package/dev/img/basic/46.png +0 -0
  68. package/dev/img/basic/4618346.png +0 -0
  69. package/dev/img/basic/47896.png +0 -0
  70. package/dev/img/basic/5.png +0 -0
  71. package/dev/img/basic/6.png +0 -0
  72. package/dev/img/basic/623.png +0 -0
  73. package/dev/img/basic/63214.png +0 -0
  74. package/dev/img/basic/64.png +0 -0
  75. package/dev/img/basic/6428.png +0 -0
  76. package/dev/img/basic/69874.png +0 -0
  77. package/dev/img/basic/7.png +0 -0
  78. package/dev/img/basic/7891.png +0 -0
  79. package/dev/img/basic/8.png +0 -0
  80. package/dev/img/basic/81237.png +0 -0
  81. package/dev/img/basic/82.png +0 -0
  82. package/dev/img/basic/87412.png +0 -0
  83. package/dev/img/basic/89632.png +0 -0
  84. package/dev/img/basic/9.png +0 -0
  85. package/dev/img/basic/[1].png +0 -0
  86. package/dev/img/basic/[2].png +0 -0
  87. package/dev/img/basic/[2]8.png +0 -0
  88. package/dev/img/basic/[3].png +0 -0
  89. package/dev/img/basic/[4].png +0 -0
  90. package/dev/img/basic/[6].png +0 -0
  91. package/dev/img/basic/[7].png +0 -0
  92. package/dev/img/basic/[8].png +0 -0
  93. package/dev/img/basic/[9].png +0 -0
  94. package/dev/img/basic/air.png +0 -0
  95. package/dev/img/basic/doubleforward.png +0 -0
  96. package/dev/img/credits.txt +0 -4
  97. package/dev/img/games/bb/a.png +0 -0
  98. package/dev/img/games/bb/b.png +0 -0
  99. package/dev/img/games/bb/c.png +0 -0
  100. package/dev/img/games/bb/d.png +0 -0
  101. package/dev/img/games/dbz/a1.png +0 -0
  102. package/dev/img/games/dbz/a2.png +0 -0
  103. package/dev/img/games/dbz/h.png +0 -0
  104. package/dev/img/games/dbz/l.png +0 -0
  105. package/dev/img/games/dbz/m.png +0 -0
  106. package/dev/img/games/dbz/s.png +0 -0
  107. package/dev/img/games/dnf/a.png +0 -0
  108. package/dev/img/games/dnf/as.png +0 -0
  109. package/dev/img/games/dnf/b.png +0 -0
  110. package/dev/img/games/dnf/g.png +0 -0
  111. package/dev/img/games/dnf/ms.png +0 -0
  112. package/dev/img/games/dnf/s.png +0 -0
  113. package/dev/img/games/gbf/g.png +0 -0
  114. package/dev/img/games/gbf/h.png +0 -0
  115. package/dev/img/games/gbf/l.png +0 -0
  116. package/dev/img/games/gbf/m.png +0 -0
  117. package/dev/img/games/gbf/s.png +0 -0
  118. package/dev/img/games/gg/d.png +0 -0
  119. package/dev/img/games/gg/hs.png +0 -0
  120. package/dev/img/games/gg/k.png +0 -0
  121. package/dev/img/games/gg/p.png +0 -0
  122. package/dev/img/games/gg/rc.png +0 -0
  123. package/dev/img/games/gg/s.png +0 -0
  124. package/dev/img/games/kof/a.png +0 -0
  125. package/dev/img/games/kof/b.png +0 -0
  126. package/dev/img/games/kof/c.png +0 -0
  127. package/dev/img/games/kof/d.png +0 -0
  128. package/dev/img/games/kof/max.png +0 -0
  129. package/dev/img/games/mk/1.png +0 -0
  130. package/dev/img/games/mk/2.png +0 -0
  131. package/dev/img/games/mk/3.png +0 -0
  132. package/dev/img/games/mk/4.png +0 -0
  133. package/dev/img/games/sc/[a].png +0 -0
  134. package/dev/img/games/sc/[b].png +0 -0
  135. package/dev/img/games/sc/[g].png +0 -0
  136. package/dev/img/games/sc/[k].png +0 -0
  137. package/dev/img/games/sc/a.png +0 -0
  138. package/dev/img/games/sc/b.png +0 -0
  139. package/dev/img/games/sc/g.png +0 -0
  140. package/dev/img/games/sc/k.png +0 -0
  141. package/dev/img/games/sf/hk.png +0 -0
  142. package/dev/img/games/sf/hp.png +0 -0
  143. package/dev/img/games/sf/j..png +0 -0
  144. package/dev/img/games/sf/lk.png +0 -0
  145. package/dev/img/games/sf/lp.png +0 -0
  146. package/dev/img/games/sf/max.png +0 -0
  147. package/dev/img/games/sf/mk.png +0 -0
  148. package/dev/img/games/sf/mp.png +0 -0
  149. package/dev/img/games/sf/tap.png +0 -0
  150. package/dev/img/games/sg/hk.png +0 -0
  151. package/dev/img/games/sg/hp.png +0 -0
  152. package/dev/img/games/sg/k.png +0 -0
  153. package/dev/img/games/sg/lk.png +0 -0
  154. package/dev/img/games/sg/lp.png +0 -0
  155. package/dev/img/games/sg/mk.png +0 -0
  156. package/dev/img/games/sg/mp.png +0 -0
  157. package/dev/img/games/sg/p.png +0 -0
  158. package/dev/img/games/tfh/a.png +0 -0
  159. package/dev/img/games/tfh/b.png +0 -0
  160. package/dev/img/games/tfh/c.png +0 -0
  161. package/dev/img/games/tfh/d.png +0 -0
  162. package/dev/img/games/tkn/1.png +0 -0
  163. package/dev/img/games/tkn/12.png +0 -0
  164. package/dev/img/games/tkn/1234.png +0 -0
  165. package/dev/img/games/tkn/13.png +0 -0
  166. package/dev/img/games/tkn/14.png +0 -0
  167. package/dev/img/games/tkn/2.png +0 -0
  168. package/dev/img/games/tkn/23.png +0 -0
  169. package/dev/img/games/tkn/24.png +0 -0
  170. package/dev/img/games/tkn/3.png +0 -0
  171. package/dev/img/games/tkn/34.png +0 -0
  172. package/dev/img/games/tkn/4.png +0 -0
  173. package/dev/img/games/tkn/b.png +0 -0
  174. package/dev/img/games/tkn/d-b.png +0 -0
  175. package/dev/img/games/tkn/d-f.png +0 -0
  176. package/dev/img/games/tkn/d.png +0 -0
  177. package/dev/img/games/tkn/f.png +0 -0
  178. package/dev/img/games/tkn/o.png +0 -0
  179. package/dev/img/games/tkn/u-b.png +0 -0
  180. package/dev/img/games/tkn/u-f.png +0 -0
  181. package/dev/img/games/tkn/u.png +0 -0
  182. package/dev/img/preview.png +0 -0
  183. 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.4",
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.1.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.1",
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