@lotus-tree/fg-notation 1.1.3 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
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/dev/index.js DELETED
@@ -1,491 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
-
10
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
-
14
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
-
16
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
-
18
- var _sharp = _interopRequireDefault(require("sharp"));
19
-
20
- var _path = _interopRequireDefault(require("path"));
21
-
22
- var _glob = _interopRequireDefault(require("glob"));
23
-
24
- var _sequelize = require("sequelize");
25
-
26
- var _bent = _interopRequireDefault(require("bent"));
27
-
28
- var getJSON = (0, _bent["default"])('json');
29
-
30
- var imgPath = _path["default"].join(__dirname, 'img');
31
-
32
- var basicInputs = new Map();
33
- var gameInputs = new Map();
34
- var glossary = {};
35
- var terms = [];
36
- getGlossary();
37
- setInterval(getGlossary, 5 * 60 * 1000);
38
-
39
- function getGlossary() {
40
- return _getGlossary.apply(this, arguments);
41
- }
42
-
43
- function _getGlossary() {
44
- _getGlossary = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
45
- var result, tempG, tempT;
46
- return _regenerator["default"].wrap(function _callee6$(_context6) {
47
- while (1) {
48
- switch (_context6.prev = _context6.next) {
49
- case 0:
50
- _context6.next = 2;
51
- return getJSON('https://glossary.infil.net/json/glossary.json');
52
-
53
- case 2:
54
- result = _context6.sent;
55
- tempG = {};
56
- tempT = [];
57
- result.forEach(function (i) {
58
- var term = i.term.toLowerCase();
59
- tempG[term] = i;
60
- tempT.push(term);
61
- });
62
- glossary = tempG;
63
- terms = tempT;
64
-
65
- case 8:
66
- case "end":
67
- return _context6.stop();
68
- }
69
- }
70
- }, _callee6);
71
- }));
72
- return _getGlossary.apply(this, arguments);
73
- }
74
-
75
- _glob["default"].sync(_path["default"].join(imgPath, 'basic/**'), {
76
- nodir: true
77
- }).forEach(function (p) {
78
- var input = p.split('/').pop().replace('.png', '');
79
- basicInputs.set(input, p);
80
- });
81
-
82
- basicInputs.set('>>', _path["default"].join(imgPath, 'basic/doubleforward.png'));
83
-
84
- _glob["default"].sync(_path["default"].join(imgPath, 'games/**'), {
85
- nodir: true
86
- }).forEach(function (p) {
87
- 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;
90
-
91
- if (!gameInputs.has(dir)) gameInputs.set(dir, new Map());
92
- gameInputs.get(dir).set(name, p);
93
- });
94
-
95
- function solveInput(inputs, input) {
96
- if (inputs.has(input)) return [input];
97
-
98
- for (var i = 0; i < input.length; i++) {
99
- var s1 = input.slice(0, 0 - i);
100
- if (inputs.has(s1)) return [s1].concat((0, _toConsumableArray2["default"])(solveInput(inputs, input.slice(0 - i))));
101
- }
102
-
103
- throw new Error("Cannot find \"".concat(input, "\" as a recognizable input"));
104
- }
105
-
106
- function sendInput(_x, _x2, _x3, _x4) {
107
- return _sendInput.apply(this, arguments);
108
- }
109
-
110
- 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) {
114
- while (1) {
115
- switch (_context7.prev = _context7.next) {
116
- case 0:
117
- _context7.next = 2;
118
- return (0, _sharp["default"])({
119
- create: {
120
- width: 152 * result.length,
121
- height: 152,
122
- channels: 4,
123
- background: 'transparent'
124
- }
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();
134
-
135
- case 2:
136
- canvas = _context7.sent;
137
- return _context7.abrupt("return", message.reply({
138
- content: caption,
139
- files: [canvas]
140
- }));
141
-
142
- case 4:
143
- case "end":
144
- return _context7.stop();
145
- }
146
- }
147
- }, _callee7);
148
- }));
149
- return _sendInput.apply(this, arguments);
150
- }
151
-
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
- };
159
- var _default = {
160
- name: 'fg-notation',
161
- about: {
162
- name: 'FG Notation',
163
- 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)'
164
- },
165
- intents: ['GUILD_MESSAGES'],
166
- partials: ['MESSAGE'],
167
- preload: function preload(sequelize) {
168
- sequelize.define('fginput', {
169
- guild: {
170
- type: _sequelize.DataTypes.STRING,
171
- primaryKey: true
172
- },
173
- name: {
174
- type: _sequelize.DataTypes.STRING,
175
- primaryKey: true
176
- },
177
- createdBy: _sequelize.DataTypes.STRING,
178
- game: _sequelize.DataTypes.STRING,
179
- caption: _sequelize.DataTypes.STRING,
180
- input: _sequelize.DataTypes.STRING
181
- });
182
- },
183
- events: {
184
- messageCreate: function messageCreate(global, message) {
185
- return (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
186
- var client, config, sequelize, guildId, prefix, name, row, inputs;
187
- return _regenerator["default"].wrap(function _callee$(_context) {
188
- while (1) {
189
- switch (_context.prev = _context.next) {
190
- case 0:
191
- client = global.client, config = global.config, sequelize = global.sequelize;
192
-
193
- if (!(message.author.id === client.user.id || !message.member)) {
194
- _context.next = 3;
195
- break;
196
- }
197
-
198
- return _context.abrupt("return");
199
-
200
- case 3:
201
- guildId = message.guildId;
202
- prefix = config[guildId].prefix;
203
-
204
- if (!message.content.startsWith(prefix)) {
205
- _context.next = 14;
206
- break;
207
- }
208
-
209
- name = message.content.split(' ').pop().replace(prefix, '');
210
- _context.t0 = builtin[name];
211
-
212
- if (_context.t0) {
213
- _context.next = 12;
214
- break;
215
- }
216
-
217
- _context.next = 11;
218
- return sequelize.models.fginput.findOne({
219
- where: {
220
- guild: message.guild.id,
221
- name: name
222
- }
223
- });
224
-
225
- case 11:
226
- _context.t0 = _context.sent;
227
-
228
- case 12:
229
- row = _context.t0;
230
-
231
- if (row) {
232
- inputs = new Map([].concat((0, _toConsumableArray2["default"])(basicInputs), (0, _toConsumableArray2["default"])(gameInputs.get(row.game))));
233
- sendInput(inputs, row.input.split(' '), message, row.caption);
234
- }
235
-
236
- case 14:
237
- case "end":
238
- return _context.stop();
239
- }
240
- }
241
- }, _callee);
242
- }))();
243
- }
244
- },
245
- commands: {
246
- fgi: {
247
- usage: 'fgi [game] [inputs]',
248
- desc: 'Converts a list of inputs into an image',
249
- example: 'fgi sf 236P 214K',
250
- execute: function () {
251
- var _execute = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(_ref, _ref2) {
252
- var param, message, _param, game, i1, inputs, result;
253
-
254
- return _regenerator["default"].wrap(function _callee2$(_context2) {
255
- while (1) {
256
- switch (_context2.prev = _context2.next) {
257
- case 0:
258
- param = _ref.param;
259
- message = _ref2.message;
260
- _param = (0, _slicedToArray2["default"])(param, 3), game = _param[1], i1 = _param[2];
261
-
262
- if (!(!game || !i1)) {
263
- _context2.next = 5;
264
- break;
265
- }
266
-
267
- return _context2.abrupt("return", message.reply('Missing arguments. Example: >fgi sf 236P 214K'));
268
-
269
- case 5:
270
- if (gameInputs.has(game)) {
271
- _context2.next = 7;
272
- break;
273
- }
274
-
275
- return _context2.abrupt("return", message.reply("\"".concat(game, "\" is not a valid game. Available games: ").concat(Array.from(gameInputs.keys()).join(' '))));
276
-
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);
283
-
284
- case 10:
285
- case "end":
286
- return _context2.stop();
287
- }
288
- }
289
- }, _callee2);
290
- }));
291
-
292
- function execute(_x5, _x6) {
293
- return _execute.apply(this, arguments);
294
- }
295
-
296
- return execute;
297
- }()
298
- },
299
- fgsave: {
300
- usage: 'fgsave [game] [name] [inputs]',
301
- desc: 'Saves a list of inputs into a command',
302
- example: 'fgi sf testName 236P 214K',
303
- execute: function () {
304
- var _execute2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(_ref3, _ref4) {
305
- var param, sequelize, message, _param2, game, name, i1, inputs, input;
306
-
307
- return _regenerator["default"].wrap(function _callee3$(_context3) {
308
- while (1) {
309
- switch (_context3.prev = _context3.next) {
310
- case 0:
311
- param = _ref3.param, sequelize = _ref3.sequelize;
312
- message = _ref4.message;
313
- _param2 = (0, _slicedToArray2["default"])(param, 4), game = _param2[1], name = _param2[2], i1 = _param2[3];
314
-
315
- if (!(!game || !name || !i1)) {
316
- _context3.next = 5;
317
- break;
318
- }
319
-
320
- return _context3.abrupt("return", message.reply('Missing arguments. Example: >fgi sf testName 236P 214K'));
321
-
322
- case 5:
323
- if (gameInputs.has(game)) {
324
- _context3.next = 7;
325
- break;
326
- }
327
-
328
- return _context3.abrupt("return", message.reply("\"".concat(game, "\" is not a valid game. Available games: ").concat(Array.from(gameInputs.keys()).join(' '))));
329
-
330
- case 7:
331
- inputs = new Map([].concat((0, _toConsumableArray2["default"])(basicInputs), (0, _toConsumableArray2["default"])(gameInputs.get(game))));
332
- input = param.slice(3).map(function (i) {
333
- return solveInput(inputs, i.toLowerCase());
334
- }).flat().join(' ');
335
- _context3.next = 11;
336
- return sequelize.models.fginput.create({
337
- guild: message.guild.id,
338
- name: name,
339
- createdBy: message.author.id,
340
- game: game,
341
- input: input
342
- });
343
-
344
- case 11:
345
- message.channel.send("Saved command \"".concat(input, "\" as \"").concat(name, "\""));
346
-
347
- case 12:
348
- case "end":
349
- return _context3.stop();
350
- }
351
- }
352
- }, _callee3);
353
- }));
354
-
355
- function execute(_x7, _x8) {
356
- return _execute2.apply(this, arguments);
357
- }
358
-
359
- return execute;
360
- }()
361
- },
362
- fgcaption: {
363
- usage: 'fgcaption [name] [caption]',
364
- desc: 'Adds a caption to a saved input command',
365
- example: 'fgcaption testName This is a caption',
366
- execute: function () {
367
- var _execute3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(_ref5, _ref6) {
368
- var param, sequelize, message, _param3, name, i1, row;
369
-
370
- return _regenerator["default"].wrap(function _callee4$(_context4) {
371
- while (1) {
372
- switch (_context4.prev = _context4.next) {
373
- case 0:
374
- param = _ref5.param, sequelize = _ref5.sequelize;
375
- message = _ref6.message;
376
- _param3 = (0, _slicedToArray2["default"])(param, 3), name = _param3[1], i1 = _param3[2];
377
-
378
- if (!(!name || !i1)) {
379
- _context4.next = 5;
380
- break;
381
- }
382
-
383
- return _context4.abrupt("return", message.reply('Missing arguments. Example: >fgi testName This is a caption'));
384
-
385
- case 5:
386
- _context4.next = 7;
387
- return sequelize.models.fginput.findOne({
388
- where: {
389
- guild: message.guild.id,
390
- name: name
391
- }
392
- });
393
-
394
- case 7:
395
- row = _context4.sent;
396
-
397
- if (row) {
398
- _context4.next = 10;
399
- break;
400
- }
401
-
402
- return _context4.abrupt("return", message.reply("\"".concat(name, "\" is not a saved input list")));
403
-
404
- case 10:
405
- row.caption = param.slice(2).join(' ');
406
- _context4.next = 13;
407
- return row.save();
408
-
409
- case 13:
410
- message.channel.send("Saved caption for input list \"".concat(name, "\""));
411
-
412
- case 14:
413
- case "end":
414
- return _context4.stop();
415
- }
416
- }
417
- }, _callee4);
418
- }));
419
-
420
- function execute(_x9, _x10) {
421
- return _execute3.apply(this, arguments);
422
- }
423
-
424
- return execute;
425
- }()
426
- },
427
- fgglossary: {
428
- usage: 'fgglossary [search term]',
429
- desc: 'Searches for a term on Infil\'s Glossary',
430
- example: 'fgglossary mexican uppercut',
431
- execute: function () {
432
- var _execute4 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(_ref7, _ref8) {
433
- var param, sequelize, message, params, search, result, url;
434
- return _regenerator["default"].wrap(function _callee5$(_context5) {
435
- while (1) {
436
- switch (_context5.prev = _context5.next) {
437
- case 0:
438
- param = _ref7.param, sequelize = _ref7.sequelize;
439
- message = _ref8.message;
440
- params = param.slice(1);
441
-
442
- if (!(params.length === 0)) {
443
- _context5.next = 5;
444
- break;
445
- }
446
-
447
- return _context5.abrupt("return", message.reply('Missing search term. Example: >fgglossary mexican uppercut'));
448
-
449
- case 5:
450
- search = params.join(' ').toLowerCase();
451
- result = terms.filter(function (i) {
452
- return i.includes(search);
453
- });
454
- url = "https://glossary.infil.net/?t=".concat(params.join('%20').toLowerCase());
455
-
456
- if (!(result.length === 0)) {
457
- _context5.next = 10;
458
- break;
459
- }
460
-
461
- return _context5.abrupt("return", message.reply("Term \"".concat(search, "\" not found")));
462
-
463
- case 10:
464
- if (!(result.length === 1)) {
465
- _context5.next = 12;
466
- break;
467
- }
468
-
469
- return _context5.abrupt("return", message.reply("```".concat(glossary[result[0]].def, "```Source: <").concat(url, ">")));
470
-
471
- case 12:
472
- message.reply("Multiple terms found: ".concat(url));
473
-
474
- case 13:
475
- case "end":
476
- return _context5.stop();
477
- }
478
- }
479
- }, _callee5);
480
- }));
481
-
482
- function execute(_x11, _x12) {
483
- return _execute4.apply(this, arguments);
484
- }
485
-
486
- return execute;
487
- }()
488
- }
489
- }
490
- };
491
- exports["default"] = _default;