@lotus-tree/fg-notation 1.3.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (161) hide show
  1. package/README.md +2 -0
  2. package/package.json +4 -19
  3. package/src/img/grabs/mary.json +5 -0
  4. package/src/img/grabs/mary.png +0 -0
  5. package/src/img/grabs/maxima.json +5 -0
  6. package/src/img/grabs/maxima.png +0 -0
  7. package/src/img/grabs/potem.json +5 -0
  8. package/src/img/grabs/potem.png +0 -0
  9. package/src/img/grabs/sol.json +5 -0
  10. package/src/img/grabs/sol.png +0 -0
  11. package/src/index.js +3 -1
  12. package/babel.config.js +0 -6
  13. package/lib/img/basic/+.png +0 -0
  14. package/lib/img/basic/1.png +0 -0
  15. package/lib/img/basic/12369.png +0 -0
  16. package/lib/img/basic/1237.png +0 -0
  17. package/lib/img/basic/1632143.png +0 -0
  18. package/lib/img/basic/2.png +0 -0
  19. package/lib/img/basic/21.png +0 -0
  20. package/lib/img/basic/214.png +0 -0
  21. package/lib/img/basic/21478.png +0 -0
  22. package/lib/img/basic/23.png +0 -0
  23. package/lib/img/basic/236.png +0 -0
  24. package/lib/img/basic/23698.png +0 -0
  25. package/lib/img/basic/28.png +0 -0
  26. package/lib/img/basic/3.png +0 -0
  27. package/lib/img/basic/32147.png +0 -0
  28. package/lib/img/basic/3219.png +0 -0
  29. package/lib/img/basic/341236.png +0 -0
  30. package/lib/img/basic/346.png +0 -0
  31. package/lib/img/basic/360.png +0 -0
  32. package/lib/img/basic/4.png +0 -0
  33. package/lib/img/basic/41236.png +0 -0
  34. package/lib/img/basic/421.png +0 -0
  35. package/lib/img/basic/46.png +0 -0
  36. package/lib/img/basic/4618346.png +0 -0
  37. package/lib/img/basic/47896.png +0 -0
  38. package/lib/img/basic/5.png +0 -0
  39. package/lib/img/basic/6.png +0 -0
  40. package/lib/img/basic/623.png +0 -0
  41. package/lib/img/basic/63214.png +0 -0
  42. package/lib/img/basic/64.png +0 -0
  43. package/lib/img/basic/6428.png +0 -0
  44. package/lib/img/basic/69874.png +0 -0
  45. package/lib/img/basic/7.png +0 -0
  46. package/lib/img/basic/7891.png +0 -0
  47. package/lib/img/basic/8.png +0 -0
  48. package/lib/img/basic/81237.png +0 -0
  49. package/lib/img/basic/82.png +0 -0
  50. package/lib/img/basic/87412.png +0 -0
  51. package/lib/img/basic/89632.png +0 -0
  52. package/lib/img/basic/9.png +0 -0
  53. package/lib/img/basic/[1].png +0 -0
  54. package/lib/img/basic/[2].png +0 -0
  55. package/lib/img/basic/[2]8.png +0 -0
  56. package/lib/img/basic/[3].png +0 -0
  57. package/lib/img/basic/[4].png +0 -0
  58. package/lib/img/basic/[6].png +0 -0
  59. package/lib/img/basic/[7].png +0 -0
  60. package/lib/img/basic/[8].png +0 -0
  61. package/lib/img/basic/[9].png +0 -0
  62. package/lib/img/basic/air.png +0 -0
  63. package/lib/img/basic/doubleforward.png +0 -0
  64. package/lib/img/credits.txt +0 -4
  65. package/lib/img/games/bb/a.png +0 -0
  66. package/lib/img/games/bb/b.png +0 -0
  67. package/lib/img/games/bb/c.png +0 -0
  68. package/lib/img/games/bb/d.png +0 -0
  69. package/lib/img/games/bbtag/a.png +0 -0
  70. package/lib/img/games/bbtag/b.png +0 -0
  71. package/lib/img/games/bbtag/c.png +0 -0
  72. package/lib/img/games/bbtag/d.png +0 -0
  73. package/lib/img/games/bbtag/p.png +0 -0
  74. package/lib/img/games/dbz/a1.png +0 -0
  75. package/lib/img/games/dbz/a2.png +0 -0
  76. package/lib/img/games/dbz/h.png +0 -0
  77. package/lib/img/games/dbz/l.png +0 -0
  78. package/lib/img/games/dbz/m.png +0 -0
  79. package/lib/img/games/dbz/s.png +0 -0
  80. package/lib/img/games/dnf/a.png +0 -0
  81. package/lib/img/games/dnf/as.png +0 -0
  82. package/lib/img/games/dnf/b.png +0 -0
  83. package/lib/img/games/dnf/g.png +0 -0
  84. package/lib/img/games/dnf/ms.png +0 -0
  85. package/lib/img/games/dnf/s.png +0 -0
  86. package/lib/img/games/gbf/g.png +0 -0
  87. package/lib/img/games/gbf/h.png +0 -0
  88. package/lib/img/games/gbf/l.png +0 -0
  89. package/lib/img/games/gbf/m.png +0 -0
  90. package/lib/img/games/gbf/s.png +0 -0
  91. package/lib/img/games/gg/d.png +0 -0
  92. package/lib/img/games/gg/hs.png +0 -0
  93. package/lib/img/games/gg/k.png +0 -0
  94. package/lib/img/games/gg/p.png +0 -0
  95. package/lib/img/games/gg/rc.png +0 -0
  96. package/lib/img/games/gg/s.png +0 -0
  97. package/lib/img/games/kof/a.png +0 -0
  98. package/lib/img/games/kof/b.png +0 -0
  99. package/lib/img/games/kof/c.png +0 -0
  100. package/lib/img/games/kof/d.png +0 -0
  101. package/lib/img/games/kof/max.png +0 -0
  102. package/lib/img/games/mk/1.png +0 -0
  103. package/lib/img/games/mk/2.png +0 -0
  104. package/lib/img/games/mk/3.png +0 -0
  105. package/lib/img/games/mk/4.png +0 -0
  106. package/lib/img/games/sc/[a].png +0 -0
  107. package/lib/img/games/sc/[b].png +0 -0
  108. package/lib/img/games/sc/[g].png +0 -0
  109. package/lib/img/games/sc/[k].png +0 -0
  110. package/lib/img/games/sc/a.png +0 -0
  111. package/lib/img/games/sc/b.png +0 -0
  112. package/lib/img/games/sc/g.png +0 -0
  113. package/lib/img/games/sc/k.png +0 -0
  114. package/lib/img/games/sf/hk.png +0 -0
  115. package/lib/img/games/sf/hp.png +0 -0
  116. package/lib/img/games/sf/j..png +0 -0
  117. package/lib/img/games/sf/lk.png +0 -0
  118. package/lib/img/games/sf/lp.png +0 -0
  119. package/lib/img/games/sf/max.png +0 -0
  120. package/lib/img/games/sf/mk.png +0 -0
  121. package/lib/img/games/sf/mp.png +0 -0
  122. package/lib/img/games/sf/tap.png +0 -0
  123. package/lib/img/games/sg/hk.png +0 -0
  124. package/lib/img/games/sg/hp.png +0 -0
  125. package/lib/img/games/sg/k.png +0 -0
  126. package/lib/img/games/sg/lk.png +0 -0
  127. package/lib/img/games/sg/lp.png +0 -0
  128. package/lib/img/games/sg/mk.png +0 -0
  129. package/lib/img/games/sg/mp.png +0 -0
  130. package/lib/img/games/sg/p.png +0 -0
  131. package/lib/img/games/tfh/a.png +0 -0
  132. package/lib/img/games/tfh/b.png +0 -0
  133. package/lib/img/games/tfh/c.png +0 -0
  134. package/lib/img/games/tfh/d.png +0 -0
  135. package/lib/img/games/tkn/1.png +0 -0
  136. package/lib/img/games/tkn/12.png +0 -0
  137. package/lib/img/games/tkn/1234.png +0 -0
  138. package/lib/img/games/tkn/13.png +0 -0
  139. package/lib/img/games/tkn/14.png +0 -0
  140. package/lib/img/games/tkn/2.png +0 -0
  141. package/lib/img/games/tkn/23.png +0 -0
  142. package/lib/img/games/tkn/24.png +0 -0
  143. package/lib/img/games/tkn/3.png +0 -0
  144. package/lib/img/games/tkn/34.png +0 -0
  145. package/lib/img/games/tkn/4.png +0 -0
  146. package/lib/img/games/tkn/b.png +0 -0
  147. package/lib/img/games/tkn/d-b.png +0 -0
  148. package/lib/img/games/tkn/d-f.png +0 -0
  149. package/lib/img/games/tkn/d.png +0 -0
  150. package/lib/img/games/tkn/f.png +0 -0
  151. package/lib/img/games/tkn/o.png +0 -0
  152. package/lib/img/games/tkn/u-b.png +0 -0
  153. package/lib/img/games/tkn/u-f.png +0 -0
  154. package/lib/img/games/tkn/u.png +0 -0
  155. package/lib/img/grabs/omegarugal.json +0 -5
  156. package/lib/img/grabs/omegarugal.png +0 -0
  157. package/lib/img/grabs/ralph.json +0 -5
  158. package/lib/img/grabs/ralph.png +0 -0
  159. package/lib/img/preview.png +0 -0
  160. package/lib/index.js +0 -745
  161. package/lib/info.json +0 -33
package/lib/index.js DELETED
@@ -1,745 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports["default"] = void 0;
11
-
12
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
-
14
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
-
16
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
17
-
18
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
-
20
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
21
-
22
- var _sharp = _interopRequireDefault(require("sharp"));
23
-
24
- var _path = _interopRequireDefault(require("path"));
25
-
26
- var _glob = _interopRequireDefault(require("glob"));
27
-
28
- var _sequelize = require("sequelize");
29
-
30
- var _bent = _interopRequireDefault(require("bent"));
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
-
44
- var getJSON = (0, _bent["default"])('json');
45
-
46
- var imgPath = _path["default"].join(__dirname, 'img');
47
-
48
- var basicInputs = new Map();
49
- var gameInputs = new Map();
50
- var glossary = {};
51
- var terms = [];
52
-
53
- var grabs = _glob["default"].sync(_path["default"].join(imgPath, 'grabs/**.png'));
54
-
55
- getGlossary();
56
- setInterval(getGlossary, 5 * 60 * 1000);
57
-
58
- function getGlossary() {
59
- return _getGlossary.apply(this, arguments);
60
- }
61
-
62
- function _getGlossary() {
63
- _getGlossary = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
64
- var result, tempG, tempT;
65
- return _regenerator["default"].wrap(function _callee7$(_context7) {
66
- while (1) {
67
- switch (_context7.prev = _context7.next) {
68
- case 0:
69
- _context7.next = 2;
70
- return getJSON('https://glossary.infil.net/json/glossary.json');
71
-
72
- case 2:
73
- result = _context7.sent;
74
- tempG = {};
75
- tempT = [];
76
- result.forEach(function (i) {
77
- var term = i.term.toLowerCase();
78
- tempG[term] = i;
79
- tempT.push(term);
80
- });
81
- glossary = tempG;
82
- terms = tempT;
83
-
84
- case 8:
85
- case "end":
86
- return _context7.stop();
87
- }
88
- }
89
- }, _callee7);
90
- }));
91
- return _getGlossary.apply(this, arguments);
92
- }
93
-
94
- _glob["default"].sync(_path["default"].join(imgPath, 'basic/**'), {
95
- nodir: true
96
- }).forEach(function (p) {
97
- var input = p.split('/').pop().replace('.png', '');
98
- basicInputs.set(input, p);
99
- var alias = _info.aliases.inputs.basic[input];
100
-
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
- });
108
-
109
- _glob["default"].sync(_path["default"].join(imgPath, 'games/*')).forEach(function (p) {
110
- var _path$parse = _path["default"].parse(_path["default"].relative(_path["default"].join(imgPath, 'games'), p)),
111
- base = _path$parse.base;
112
-
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
- }
135
- });
136
-
137
- function solveInput(inputs, input) {
138
- if (inputs.has(input)) return isString(inputs.get(input)) ? [input] : inputs.get(input);
139
-
140
- for (var i = 0; i < input.length; i++) {
141
- var s1 = input.slice(0, 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
- }
148
- }
149
-
150
- throw new Error("Cannot find \"".concat(input, "\" as a recognizable input"));
151
- }
152
-
153
- function sendInput(_x, _x2, _x3, _x4) {
154
- return _sendInput.apply(this, arguments);
155
- }
156
-
157
- function _sendInput() {
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) {
161
- while (1) {
162
- switch (_context8.prev = _context8.next) {
163
- case 0:
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"])({
181
- create: {
182
- width: width,
183
- height: 152,
184
- channels: 4,
185
- background: 'transparent'
186
- }
187
- }).png().composite(images);
188
- _context8.next = 7;
189
- return canvas.toBuffer();
190
-
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({
209
- content: caption,
210
- files: [canvas]
211
- }));
212
-
213
- case 13:
214
- case "end":
215
- return _context8.stop();
216
- }
217
- }
218
- }, _callee8);
219
- }));
220
- return _sendInput.apply(this, arguments);
221
- }
222
-
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
-
231
- var _default = {
232
- name: 'fg-notation',
233
- about: {
234
- name: 'FG Notation',
235
- value: '[Instructions and source code](https://lotus.chitowarlock.com/fgnotation)\n[Infil\'s Fighting Game Glossary](https://glossary.infil.net)\n[MagicianStuff\'s Fighthing Game notations emotes](https://twitter.com/MagicianStuff/status/1477931054484893697)'
236
- },
237
- intents: ['GUILD_MESSAGES'],
238
- partials: ['MESSAGE'],
239
- preload: function preload(sequelize) {
240
- sequelize.define('fginput', {
241
- guild: {
242
- type: _sequelize.DataTypes.STRING,
243
- primaryKey: true
244
- },
245
- name: {
246
- type: _sequelize.DataTypes.STRING,
247
- primaryKey: true
248
- },
249
- createdBy: _sequelize.DataTypes.STRING,
250
- game: _sequelize.DataTypes.STRING,
251
- caption: _sequelize.DataTypes.STRING,
252
- input: _sequelize.DataTypes.STRING
253
- });
254
- },
255
- events: {
256
- messageCreate: function messageCreate(global, message) {
257
- return (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
258
- var client, config, sequelize, guildId, prefix, name, row, inputs;
259
- return _regenerator["default"].wrap(function _callee$(_context) {
260
- while (1) {
261
- switch (_context.prev = _context.next) {
262
- case 0:
263
- client = global.client, config = global.config, sequelize = global.sequelize;
264
-
265
- if (!(message.author.id === client.user.id || !message.member)) {
266
- _context.next = 3;
267
- break;
268
- }
269
-
270
- return _context.abrupt("return");
271
-
272
- case 3:
273
- guildId = message.guildId;
274
- prefix = config[guildId].prefix;
275
-
276
- if (!message.content.startsWith(prefix)) {
277
- _context.next = 14;
278
- break;
279
- }
280
-
281
- name = message.content.split(' ').pop().replace(prefix, '');
282
- _context.t0 = _info.builtin[name];
283
-
284
- if (_context.t0) {
285
- _context.next = 12;
286
- break;
287
- }
288
-
289
- _context.next = 11;
290
- return sequelize.models.fginput.findOne({
291
- where: {
292
- guild: message.guild.id,
293
- name: name
294
- }
295
- });
296
-
297
- case 11:
298
- _context.t0 = _context.sent;
299
-
300
- case 12:
301
- row = _context.t0;
302
-
303
- if (row) {
304
- inputs = new Map([].concat((0, _toConsumableArray2["default"])(basicInputs), (0, _toConsumableArray2["default"])(gameInputs.get(row.game))));
305
- sendInput(inputs, row.input.split(' '), message, row.caption);
306
- }
307
-
308
- case 14:
309
- case "end":
310
- return _context.stop();
311
- }
312
- }
313
- }, _callee);
314
- }))();
315
- }
316
- },
317
- commands: {
318
- fgi: {
319
- usage: 'fgi [game] [inputs]',
320
- desc: 'Converts a list of inputs into an image',
321
- example: 'fgi sf 236P 214K',
322
- execute: function () {
323
- var _execute = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(_ref, _ref2) {
324
- var param, message, _param, gameInput, i1, game, inputs, result;
325
-
326
- return _regenerator["default"].wrap(function _callee2$(_context2) {
327
- while (1) {
328
- switch (_context2.prev = _context2.next) {
329
- case 0:
330
- param = _ref.param;
331
- message = _ref2.message;
332
- _param = (0, _slicedToArray2["default"])(param, 3), gameInput = _param[1], i1 = _param[2];
333
-
334
- if (!(!gameInput || !i1)) {
335
- _context2.next = 5;
336
- break;
337
- }
338
-
339
- return _context2.abrupt("return", message.reply('Missing arguments. Example: >fgi sf 236P 214K'));
340
-
341
- case 5:
342
- game = checkGame(gameInput);
343
-
344
- if (gameInputs.has(game)) {
345
- _context2.next = 8;
346
- break;
347
- }
348
-
349
- return _context2.abrupt("return", message.reply("\"".concat(game, "\" is not a valid game. Available games: ").concat(Array.from(gameInputs.keys()).join(' '))));
350
-
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
- }
361
-
362
- case 9:
363
- case "end":
364
- return _context2.stop();
365
- }
366
- }
367
- }, _callee2);
368
- }));
369
-
370
- function execute(_x5, _x6) {
371
- return _execute.apply(this, arguments);
372
- }
373
-
374
- return execute;
375
- }()
376
- },
377
- fgsave: {
378
- usage: 'fgsave [game] [name] [inputs]',
379
- desc: 'Saves a list of inputs into a command',
380
- example: 'fgi sf testName 236P 214K',
381
- execute: function () {
382
- var _execute2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(_ref3, _ref4) {
383
- var param, sequelize, message, _param2, gameInput, name, i1, game, inputs, input;
384
-
385
- return _regenerator["default"].wrap(function _callee3$(_context3) {
386
- while (1) {
387
- switch (_context3.prev = _context3.next) {
388
- case 0:
389
- param = _ref3.param, sequelize = _ref3.sequelize;
390
- message = _ref4.message;
391
- _param2 = (0, _slicedToArray2["default"])(param, 4), gameInput = _param2[1], name = _param2[2], i1 = _param2[3];
392
-
393
- if (!(!gameInput || !name || !i1)) {
394
- _context3.next = 5;
395
- break;
396
- }
397
-
398
- return _context3.abrupt("return", message.reply('Missing arguments. Example: >fgi sf testName 236P 214K'));
399
-
400
- case 5:
401
- game = checkGame(gameInput);
402
-
403
- if (gameInputs.has(game)) {
404
- _context3.next = 8;
405
- break;
406
- }
407
-
408
- return _context3.abrupt("return", message.reply("\"".concat(game, "\" is not a valid game. Available games: ").concat(Array.from(gameInputs.keys()).join(' '))));
409
-
410
- case 8:
411
- _context3.prev = 8;
412
- inputs = new Map([].concat((0, _toConsumableArray2["default"])(basicInputs), (0, _toConsumableArray2["default"])(gameInputs.get(game))));
413
- input = param.slice(3).map(function (i) {
414
- return solveInput(inputs, i.toLowerCase());
415
- }).flat().join(' ');
416
- _context3.next = 13;
417
- return sequelize.models.fginput.create({
418
- guild: message.guild.id,
419
- name: name,
420
- createdBy: message.author.id,
421
- game: game,
422
- input: input
423
- });
424
-
425
- case 13:
426
- message.channel.send("Saved command \"".concat(input, "\" as \"").concat(name, "\""));
427
- _context3.next = 19;
428
- break;
429
-
430
- case 16:
431
- _context3.prev = 16;
432
- _context3.t0 = _context3["catch"](8);
433
- message.reply(_context3.t0.message);
434
-
435
- case 19:
436
- case "end":
437
- return _context3.stop();
438
- }
439
- }
440
- }, _callee3, null, [[8, 16]]);
441
- }));
442
-
443
- function execute(_x7, _x8) {
444
- return _execute2.apply(this, arguments);
445
- }
446
-
447
- return execute;
448
- }()
449
- },
450
- fgcaption: {
451
- usage: 'fgcaption [name] [caption]',
452
- desc: 'Adds a caption to a saved input command',
453
- example: 'fgcaption testName This is a caption',
454
- execute: function () {
455
- var _execute3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(_ref5, _ref6) {
456
- var param, sequelize, message, _param3, name, i1, row;
457
-
458
- return _regenerator["default"].wrap(function _callee4$(_context4) {
459
- while (1) {
460
- switch (_context4.prev = _context4.next) {
461
- case 0:
462
- param = _ref5.param, sequelize = _ref5.sequelize;
463
- message = _ref6.message;
464
- _param3 = (0, _slicedToArray2["default"])(param, 3), name = _param3[1], i1 = _param3[2];
465
-
466
- if (!(!name || !i1)) {
467
- _context4.next = 5;
468
- break;
469
- }
470
-
471
- return _context4.abrupt("return", message.reply('Missing arguments. Example: >fgi testName This is a caption'));
472
-
473
- case 5:
474
- _context4.next = 7;
475
- return sequelize.models.fginput.findOne({
476
- where: {
477
- guild: message.guild.id,
478
- name: name
479
- }
480
- });
481
-
482
- case 7:
483
- row = _context4.sent;
484
-
485
- if (row) {
486
- _context4.next = 10;
487
- break;
488
- }
489
-
490
- return _context4.abrupt("return", message.reply("\"".concat(name, "\" is not a saved input list")));
491
-
492
- case 10:
493
- row.caption = param.slice(2).join(' ');
494
- _context4.next = 13;
495
- return row.save();
496
-
497
- case 13:
498
- message.channel.send("Saved caption for input list \"".concat(name, "\""));
499
-
500
- case 14:
501
- case "end":
502
- return _context4.stop();
503
- }
504
- }
505
- }, _callee4);
506
- }));
507
-
508
- function execute(_x9, _x10) {
509
- return _execute3.apply(this, arguments);
510
- }
511
-
512
- return execute;
513
- }()
514
- },
515
- fgglossary: {
516
- usage: 'fgglossary [search term]',
517
- desc: 'Searches for a term on Infil\'s Glossary',
518
- example: 'fgglossary mexican uppercut',
519
- execute: function () {
520
- var _execute4 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(_ref7, _ref8) {
521
- var param, sequelize, message, params, search, result, url;
522
- return _regenerator["default"].wrap(function _callee5$(_context5) {
523
- while (1) {
524
- switch (_context5.prev = _context5.next) {
525
- case 0:
526
- param = _ref7.param, sequelize = _ref7.sequelize;
527
- message = _ref8.message;
528
- params = param.slice(1);
529
-
530
- if (!(params.length === 0)) {
531
- _context5.next = 5;
532
- break;
533
- }
534
-
535
- return _context5.abrupt("return", message.reply('Missing search term. Example: >fgglossary mexican uppercut'));
536
-
537
- case 5:
538
- search = params.join(' ').toLowerCase();
539
- result = terms.filter(function (i) {
540
- return i.includes(search);
541
- });
542
- url = "https://glossary.infil.net/?t=".concat(params.join('%20').toLowerCase());
543
-
544
- if (!(result.length === 0)) {
545
- _context5.next = 10;
546
- break;
547
- }
548
-
549
- return _context5.abrupt("return", message.reply("Term \"".concat(search, "\" not found")));
550
-
551
- case 10:
552
- if (!(result.length === 1)) {
553
- _context5.next = 12;
554
- break;
555
- }
556
-
557
- return _context5.abrupt("return", message.reply("```".concat(glossary[result[0]].def, "```Source: <").concat(url, ">")));
558
-
559
- case 12:
560
- message.reply("Multiple terms found: ".concat(url));
561
-
562
- case 13:
563
- case "end":
564
- return _context5.stop();
565
- }
566
- }
567
- }, _callee5);
568
- }));
569
-
570
- function execute(_x11, _x12) {
571
- return _execute4.apply(this, arguments);
572
- }
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
-
690
- return execute;
691
- }()
692
- }
693
- }
694
- };
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
- }