@lotus-tree/fg-notation 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of @lotus-tree/fg-notation might be problematic. Click here for more details.

Files changed (145) hide show
  1. package/README.md +12 -4
  2. package/dev/img/basic/1.png +0 -0
  3. package/dev/img/basic/12369.png +0 -0
  4. package/dev/img/basic/1237.png +0 -0
  5. package/dev/img/basic/1632143.png +0 -0
  6. package/dev/img/basic/2.png +0 -0
  7. package/dev/img/basic/21.png +0 -0
  8. package/dev/img/basic/214.png +0 -0
  9. package/dev/img/basic/21478.png +0 -0
  10. package/dev/img/basic/23.png +0 -0
  11. package/dev/img/basic/236.png +0 -0
  12. package/dev/img/basic/23698.png +0 -0
  13. package/dev/img/basic/28.png +0 -0
  14. package/dev/img/basic/3.png +0 -0
  15. package/dev/img/basic/32147.png +0 -0
  16. package/dev/img/basic/3219.png +0 -0
  17. package/dev/img/basic/341236.png +0 -0
  18. package/dev/img/basic/346.png +0 -0
  19. package/dev/img/basic/360.png +0 -0
  20. package/dev/img/basic/4.png +0 -0
  21. package/dev/img/basic/41236.png +0 -0
  22. package/dev/img/basic/421.png +0 -0
  23. package/dev/img/basic/46.png +0 -0
  24. package/dev/img/basic/4618346.png +0 -0
  25. package/dev/img/basic/47896.png +0 -0
  26. package/dev/img/basic/5.png +0 -0
  27. package/dev/img/basic/6.png +0 -0
  28. package/dev/img/basic/623.png +0 -0
  29. package/dev/img/basic/63214.png +0 -0
  30. package/dev/img/basic/64.png +0 -0
  31. package/dev/img/basic/6428.png +0 -0
  32. package/dev/img/basic/69874.png +0 -0
  33. package/dev/img/basic/7.png +0 -0
  34. package/dev/img/basic/7891.png +0 -0
  35. package/dev/img/basic/8.png +0 -0
  36. package/dev/img/basic/81237.png +0 -0
  37. package/dev/img/basic/82.png +0 -0
  38. package/dev/img/basic/87412.png +0 -0
  39. package/dev/img/basic/89632.png +0 -0
  40. package/dev/img/basic/9.png +0 -0
  41. package/dev/img/basic/[1].png +0 -0
  42. package/dev/img/basic/[2].png +0 -0
  43. package/dev/img/basic/[2]8.png +0 -0
  44. package/dev/img/basic/[3].png +0 -0
  45. package/dev/img/basic/[4].png +0 -0
  46. package/dev/img/basic/[6].png +0 -0
  47. package/dev/img/basic/[7].png +0 -0
  48. package/dev/img/basic/[8].png +0 -0
  49. package/dev/img/basic/[9].png +0 -0
  50. package/dev/img/basic/air.png +0 -0
  51. package/dev/img/basic/doubleforward.png +0 -0
  52. package/dev/img/credits.txt +4 -0
  53. package/dev/img/games/bb/a.png +0 -0
  54. package/dev/img/games/bb/b.png +0 -0
  55. package/dev/img/games/bb/c.png +0 -0
  56. package/dev/img/games/bb/d.png +0 -0
  57. package/dev/img/games/dbz/a1.png +0 -0
  58. package/dev/img/games/dbz/a2.png +0 -0
  59. package/dev/img/games/dbz/h.png +0 -0
  60. package/dev/img/games/dbz/l.png +0 -0
  61. package/dev/img/games/dbz/m.png +0 -0
  62. package/dev/img/games/dbz/s.png +0 -0
  63. package/dev/img/games/dnf/a.png +0 -0
  64. package/dev/img/games/dnf/as.png +0 -0
  65. package/dev/img/games/dnf/b.png +0 -0
  66. package/dev/img/games/dnf/g.png +0 -0
  67. package/dev/img/games/dnf/ms.png +0 -0
  68. package/dev/img/games/dnf/s.png +0 -0
  69. package/dev/img/games/gbf/g.png +0 -0
  70. package/dev/img/games/gbf/h.png +0 -0
  71. package/dev/img/games/gbf/l.png +0 -0
  72. package/dev/img/games/gbf/m.png +0 -0
  73. package/dev/img/games/gbf/s.png +0 -0
  74. package/dev/img/games/gg/d.png +0 -0
  75. package/dev/img/games/gg/hs.png +0 -0
  76. package/dev/img/games/gg/k.png +0 -0
  77. package/dev/img/games/gg/p.png +0 -0
  78. package/dev/img/games/gg/s.png +0 -0
  79. package/dev/img/games/kof/a.png +0 -0
  80. package/dev/img/games/kof/b.png +0 -0
  81. package/dev/img/games/kof/c.png +0 -0
  82. package/dev/img/games/kof/d.png +0 -0
  83. package/dev/img/games/kof/max.png +0 -0
  84. package/dev/img/games/mk/1.png +0 -0
  85. package/dev/img/games/mk/2.png +0 -0
  86. package/dev/img/games/mk/3.png +0 -0
  87. package/dev/img/games/mk/4.png +0 -0
  88. package/dev/img/games/sc/[a].png +0 -0
  89. package/dev/img/games/sc/[b].png +0 -0
  90. package/dev/img/games/sc/[g].png +0 -0
  91. package/dev/img/games/sc/[k].png +0 -0
  92. package/dev/img/games/sc/a.png +0 -0
  93. package/dev/img/games/sc/b.png +0 -0
  94. package/dev/img/games/sc/g.png +0 -0
  95. package/dev/img/games/sc/k.png +0 -0
  96. package/dev/img/games/sf/hk.png +0 -0
  97. package/dev/img/games/sf/hp.png +0 -0
  98. package/dev/img/games/sf/j..png +0 -0
  99. package/dev/img/games/sf/lk.png +0 -0
  100. package/dev/img/games/sf/lp.png +0 -0
  101. package/dev/img/games/sf/max.png +0 -0
  102. package/dev/img/games/sf/mk.png +0 -0
  103. package/dev/img/games/sf/mp.png +0 -0
  104. package/dev/img/games/sf/tap.png +0 -0
  105. package/dev/img/games/sg/hk.png +0 -0
  106. package/dev/img/games/sg/hp.png +0 -0
  107. package/dev/img/games/sg/k.png +0 -0
  108. package/dev/img/games/sg/lk.png +0 -0
  109. package/dev/img/games/sg/lp.png +0 -0
  110. package/dev/img/games/sg/mk.png +0 -0
  111. package/dev/img/games/sg/mp.png +0 -0
  112. package/dev/img/games/sg/p.png +0 -0
  113. package/dev/img/games/tfh/a.png +0 -0
  114. package/dev/img/games/tfh/b.png +0 -0
  115. package/dev/img/games/tfh/c.png +0 -0
  116. package/dev/img/games/tfh/d.png +0 -0
  117. package/dev/img/games/tkn/1.png +0 -0
  118. package/dev/img/games/tkn/12.png +0 -0
  119. package/dev/img/games/tkn/1234.png +0 -0
  120. package/dev/img/games/tkn/13.png +0 -0
  121. package/dev/img/games/tkn/14.png +0 -0
  122. package/dev/img/games/tkn/2.png +0 -0
  123. package/dev/img/games/tkn/23.png +0 -0
  124. package/dev/img/games/tkn/24.png +0 -0
  125. package/dev/img/games/tkn/3.png +0 -0
  126. package/dev/img/games/tkn/34.png +0 -0
  127. package/dev/img/games/tkn/4.png +0 -0
  128. package/dev/img/games/tkn/b.png +0 -0
  129. package/dev/img/games/tkn/d-b.png +0 -0
  130. package/dev/img/games/tkn/d-f.png +0 -0
  131. package/dev/img/games/tkn/d.png +0 -0
  132. package/dev/img/games/tkn/f.png +0 -0
  133. package/dev/img/games/tkn/o.png +0 -0
  134. package/dev/img/games/tkn/u-b.png +0 -0
  135. package/dev/img/games/tkn/u-f.png +0 -0
  136. package/dev/img/games/tkn/u.png +0 -0
  137. package/dev/img/preview.png +0 -0
  138. package/dev/index.js +487 -0
  139. package/lib/index.js +1 -2
  140. package/package.json +4 -3
  141. package/src/img/games/gg/rc.png +0 -0
  142. package/src/index.js +1 -1
  143. package/examples/ex1.GIF +0 -0
  144. package/examples/fg1.GIF +0 -0
  145. package/examples/fg2.GIF +0 -0
package/README.md CHANGED
@@ -47,12 +47,20 @@ Follow instructions on how to add to a Louts-Tree bot on [this link](https://git
47
47
  ## Credits
48
48
 
49
49
  [Infil's Fighting Game Glossary](https://glossary.infil.net): for the rich and awesome glossary
50
+
50
51
  [MagicianStuff's Fighthing Game notations emotes](https://twitter.com/MagicianStuff/status/1477931054484893697)
51
52
 
53
+ [Bot profile picture](https://www.youtube.com/watch?v=8TdNX75oiRk)
54
+
52
55
  ## Changelog
53
56
 
54
- # 1.1.0
57
+ ### 1.1.1
58
+
59
+ - Added "rc" as a valid input for Guilty Gear
60
+ - More descriptive message when "fgglossary" finds multiple matching terms
61
+
62
+ ### 1.1.0
55
63
 
56
- 1. Added fgglosary command
57
- 1. Fixed wrong default command
58
- 1. Drifted tonight carried by the waves
64
+ - Added fgglossary command
65
+ - Fixed wrong default command
66
+ - Drifted tonight carried by the waves
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,4 @@
1
+ These emojis were made by Magic (@MagicianStuff / @MagicianSketch).
2
+ Using the Twemoji 13.1 open source emoji set.
3
+
4
+ These are public domain and can be used without credit.
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/dev/index.js ADDED
@@ -0,0 +1,487 @@
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 _requestPromise = _interopRequireDefault(require("request-promise"));
27
+
28
+ var imgPath = _path["default"].join(__dirname, 'img');
29
+
30
+ var basicInputs = new Map();
31
+ var gameInputs = new Map();
32
+ var glossary = {};
33
+ var terms = [];
34
+ getGlossary();
35
+ setInterval(getGlossary, 5 * 60 * 1000);
36
+
37
+ function getGlossary() {
38
+ return _getGlossary.apply(this, arguments);
39
+ }
40
+
41
+ function _getGlossary() {
42
+ _getGlossary = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
43
+ var result, tempG, tempT;
44
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
45
+ while (1) {
46
+ switch (_context6.prev = _context6.next) {
47
+ case 0:
48
+ _context6.t0 = JSON;
49
+ _context6.next = 3;
50
+ return (0, _requestPromise["default"])('https://glossary.infil.net/json/glossary.json');
51
+
52
+ case 3:
53
+ _context6.t1 = _context6.sent;
54
+ result = _context6.t0.parse.call(_context6.t0, _context6.t1);
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 10:
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
+ intents: ['GUILD_MESSAGES'],
162
+ partials: ['MESSAGE'],
163
+ preload: function preload(sequelize) {
164
+ sequelize.define('fginput', {
165
+ guild: {
166
+ type: _sequelize.DataTypes.STRING,
167
+ primaryKey: true
168
+ },
169
+ name: {
170
+ type: _sequelize.DataTypes.STRING,
171
+ primaryKey: true
172
+ },
173
+ createdBy: _sequelize.DataTypes.STRING,
174
+ game: _sequelize.DataTypes.STRING,
175
+ caption: _sequelize.DataTypes.STRING,
176
+ input: _sequelize.DataTypes.STRING
177
+ });
178
+ },
179
+ events: {
180
+ messageCreate: function messageCreate(global, message) {
181
+ return (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
182
+ var client, config, sequelize, guildId, prefix, name, row, inputs;
183
+ return _regenerator["default"].wrap(function _callee$(_context) {
184
+ while (1) {
185
+ switch (_context.prev = _context.next) {
186
+ case 0:
187
+ client = global.client, config = global.config, sequelize = global.sequelize;
188
+
189
+ if (!(message.author.id === client.user.id || !message.member)) {
190
+ _context.next = 3;
191
+ break;
192
+ }
193
+
194
+ return _context.abrupt("return");
195
+
196
+ case 3:
197
+ guildId = message.guildId;
198
+ prefix = config[guildId].prefix;
199
+
200
+ if (!message.content.startsWith(prefix)) {
201
+ _context.next = 14;
202
+ break;
203
+ }
204
+
205
+ name = message.content.split(' ').pop().replace(prefix, '');
206
+ _context.t0 = builtin[name];
207
+
208
+ if (_context.t0) {
209
+ _context.next = 12;
210
+ break;
211
+ }
212
+
213
+ _context.next = 11;
214
+ return sequelize.models.fginput.findOne({
215
+ where: {
216
+ guild: message.guild.id,
217
+ name: name
218
+ }
219
+ });
220
+
221
+ case 11:
222
+ _context.t0 = _context.sent;
223
+
224
+ case 12:
225
+ row = _context.t0;
226
+
227
+ if (row) {
228
+ inputs = new Map([].concat((0, _toConsumableArray2["default"])(basicInputs), (0, _toConsumableArray2["default"])(gameInputs.get(row.game))));
229
+ sendInput(inputs, row.input.split(' '), message, row.caption);
230
+ }
231
+
232
+ case 14:
233
+ case "end":
234
+ return _context.stop();
235
+ }
236
+ }
237
+ }, _callee);
238
+ }))();
239
+ }
240
+ },
241
+ commands: {
242
+ fgi: {
243
+ usage: 'fgi [game] [inputs]',
244
+ desc: 'Converts a list of inputs into an image',
245
+ example: 'fgi sf 236P 214K',
246
+ execute: function () {
247
+ var _execute = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(_ref, _ref2) {
248
+ var param, message, _param, game, i1, inputs, result;
249
+
250
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
251
+ while (1) {
252
+ switch (_context2.prev = _context2.next) {
253
+ case 0:
254
+ param = _ref.param;
255
+ message = _ref2.message;
256
+ _param = (0, _slicedToArray2["default"])(param, 3), game = _param[1], i1 = _param[2];
257
+
258
+ if (!(!game || !i1)) {
259
+ _context2.next = 5;
260
+ break;
261
+ }
262
+
263
+ return _context2.abrupt("return", message.reply('Missing arguments. Example: >fgi sf 236P 214K'));
264
+
265
+ case 5:
266
+ if (gameInputs.has(game)) {
267
+ _context2.next = 7;
268
+ break;
269
+ }
270
+
271
+ return _context2.abrupt("return", message.reply("\"".concat(game, "\" is not a valid game. Available games: ").concat(Array.from(gameInputs.keys()).join(' '))));
272
+
273
+ case 7:
274
+ inputs = new Map([].concat((0, _toConsumableArray2["default"])(basicInputs), (0, _toConsumableArray2["default"])(gameInputs.get(game))));
275
+ result = param.slice(2).map(function (i) {
276
+ return solveInput(inputs, i.toLowerCase());
277
+ }).flat();
278
+ sendInput(inputs, result, message);
279
+
280
+ case 10:
281
+ case "end":
282
+ return _context2.stop();
283
+ }
284
+ }
285
+ }, _callee2);
286
+ }));
287
+
288
+ function execute(_x5, _x6) {
289
+ return _execute.apply(this, arguments);
290
+ }
291
+
292
+ return execute;
293
+ }()
294
+ },
295
+ fgsave: {
296
+ usage: 'fgsave [game] [name] [inputs]',
297
+ desc: 'Saves a list of inputs into a command',
298
+ example: 'fgi sf testName 236P 214K',
299
+ execute: function () {
300
+ var _execute2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(_ref3, _ref4) {
301
+ var param, sequelize, message, _param2, game, name, i1, inputs, input;
302
+
303
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
304
+ while (1) {
305
+ switch (_context3.prev = _context3.next) {
306
+ case 0:
307
+ param = _ref3.param, sequelize = _ref3.sequelize;
308
+ message = _ref4.message;
309
+ _param2 = (0, _slicedToArray2["default"])(param, 4), game = _param2[1], name = _param2[2], i1 = _param2[3];
310
+
311
+ if (!(!game || !name || !i1)) {
312
+ _context3.next = 5;
313
+ break;
314
+ }
315
+
316
+ return _context3.abrupt("return", message.reply('Missing arguments. Example: >fgi sf testName 236P 214K'));
317
+
318
+ case 5:
319
+ if (gameInputs.has(game)) {
320
+ _context3.next = 7;
321
+ break;
322
+ }
323
+
324
+ return _context3.abrupt("return", message.reply("\"".concat(game, "\" is not a valid game. Available games: ").concat(Array.from(gameInputs.keys()).join(' '))));
325
+
326
+ case 7:
327
+ inputs = new Map([].concat((0, _toConsumableArray2["default"])(basicInputs), (0, _toConsumableArray2["default"])(gameInputs.get(game))));
328
+ input = param.slice(3).map(function (i) {
329
+ return solveInput(inputs, i.toLowerCase());
330
+ }).flat().join(' ');
331
+ _context3.next = 11;
332
+ return sequelize.models.fginput.create({
333
+ guild: message.guild.id,
334
+ name: name,
335
+ createdBy: message.author.id,
336
+ game: game,
337
+ input: input
338
+ });
339
+
340
+ case 11:
341
+ message.channel.send("Saved command \"".concat(input, "\" as \"").concat(name, "\""));
342
+
343
+ case 12:
344
+ case "end":
345
+ return _context3.stop();
346
+ }
347
+ }
348
+ }, _callee3);
349
+ }));
350
+
351
+ function execute(_x7, _x8) {
352
+ return _execute2.apply(this, arguments);
353
+ }
354
+
355
+ return execute;
356
+ }()
357
+ },
358
+ fgcaption: {
359
+ usage: 'fgcaption [name] [caption]',
360
+ desc: 'Adds a caption to a saved input command',
361
+ example: 'fgcaption testName This is a caption',
362
+ execute: function () {
363
+ var _execute3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(_ref5, _ref6) {
364
+ var param, sequelize, message, _param3, name, i1, row;
365
+
366
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
367
+ while (1) {
368
+ switch (_context4.prev = _context4.next) {
369
+ case 0:
370
+ param = _ref5.param, sequelize = _ref5.sequelize;
371
+ message = _ref6.message;
372
+ _param3 = (0, _slicedToArray2["default"])(param, 3), name = _param3[1], i1 = _param3[2];
373
+
374
+ if (!(!name || !i1)) {
375
+ _context4.next = 5;
376
+ break;
377
+ }
378
+
379
+ return _context4.abrupt("return", message.reply('Missing arguments. Example: >fgi testName This is a caption'));
380
+
381
+ case 5:
382
+ _context4.next = 7;
383
+ return sequelize.models.fginput.findOne({
384
+ where: {
385
+ guild: message.guild.id,
386
+ name: name
387
+ }
388
+ });
389
+
390
+ case 7:
391
+ row = _context4.sent;
392
+
393
+ if (row) {
394
+ _context4.next = 10;
395
+ break;
396
+ }
397
+
398
+ return _context4.abrupt("return", message.reply("\"".concat(name, "\" is not a saved input list")));
399
+
400
+ case 10:
401
+ row.caption = param.slice(2).join(' ');
402
+ _context4.next = 13;
403
+ return row.save();
404
+
405
+ case 13:
406
+ message.channel.send("Saved caption for input list \"".concat(name, "\""));
407
+
408
+ case 14:
409
+ case "end":
410
+ return _context4.stop();
411
+ }
412
+ }
413
+ }, _callee4);
414
+ }));
415
+
416
+ function execute(_x9, _x10) {
417
+ return _execute3.apply(this, arguments);
418
+ }
419
+
420
+ return execute;
421
+ }()
422
+ },
423
+ fgglossary: {
424
+ usage: 'fgglossary [search term]',
425
+ desc: 'Searches for a term on Infil\'s Glossary',
426
+ example: 'fgglossary mexican uppercut',
427
+ execute: function () {
428
+ var _execute4 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(_ref7, _ref8) {
429
+ var param, sequelize, message, params, search, result, url;
430
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
431
+ while (1) {
432
+ switch (_context5.prev = _context5.next) {
433
+ case 0:
434
+ param = _ref7.param, sequelize = _ref7.sequelize;
435
+ message = _ref8.message;
436
+ params = param.slice(1);
437
+
438
+ if (!(params.length === 0)) {
439
+ _context5.next = 5;
440
+ break;
441
+ }
442
+
443
+ return _context5.abrupt("return", message.reply('Missing search term. Example: >fgglossary mexican uppercut'));
444
+
445
+ case 5:
446
+ search = params.join(' ').toLowerCase();
447
+ result = terms.filter(function (i) {
448
+ return i.includes(search);
449
+ });
450
+ url = "https://glossary.infil.net/?t=".concat(params.join('%20').toLowerCase());
451
+
452
+ if (!(result.length === 0)) {
453
+ _context5.next = 10;
454
+ break;
455
+ }
456
+
457
+ return _context5.abrupt("return", message.reply("Term \"".concat(search, "\" not found")));
458
+
459
+ case 10:
460
+ if (!(result.length === 1)) {
461
+ _context5.next = 12;
462
+ break;
463
+ }
464
+
465
+ return _context5.abrupt("return", message.reply("```".concat(glossary[result[0]].def, "```Source: <").concat(url, ">")));
466
+
467
+ case 12:
468
+ message.reply(url);
469
+
470
+ case 13:
471
+ case "end":
472
+ return _context5.stop();
473
+ }
474
+ }
475
+ }, _callee5);
476
+ }));
477
+
478
+ function execute(_x11, _x12) {
479
+ return _execute4.apply(this, arguments);
480
+ }
481
+
482
+ return execute;
483
+ }()
484
+ }
485
+ }
486
+ };
487
+ exports["default"] = _default;
package/lib/index.js CHANGED
@@ -484,5 +484,4 @@ var _default = {
484
484
  }
485
485
  }
486
486
  };
487
- exports["default"] = _default;
488
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJpbWdQYXRoIiwicGF0aCIsImpvaW4iLCJfX2Rpcm5hbWUiLCJiYXNpY0lucHV0cyIsIk1hcCIsImdhbWVJbnB1dHMiLCJnbG9zc2FyeSIsInRlcm1zIiwiZ2V0R2xvc3NhcnkiLCJzZXRJbnRlcnZhbCIsIkpTT04iLCJyZXN1bHQiLCJwYXJzZSIsInRlbXBHIiwidGVtcFQiLCJmb3JFYWNoIiwiaSIsInRlcm0iLCJ0b0xvd2VyQ2FzZSIsInB1c2giLCJnbG9iIiwic3luYyIsIm5vZGlyIiwicCIsImlucHV0Iiwic3BsaXQiLCJwb3AiLCJyZXBsYWNlIiwic2V0IiwicmVsYXRpdmUiLCJkaXIiLCJuYW1lIiwiaGFzIiwiZ2V0Iiwic29sdmVJbnB1dCIsImlucHV0cyIsImxlbmd0aCIsInMxIiwic2xpY2UiLCJFcnJvciIsInNlbmRJbnB1dCIsIm1lc3NhZ2UiLCJjYXB0aW9uIiwiY3JlYXRlIiwid2lkdGgiLCJoZWlnaHQiLCJjaGFubmVscyIsImJhY2tncm91bmQiLCJjb21wb3NpdGUiLCJtYXAiLCJpdCIsImluZGV4IiwibGVmdCIsInRvcCIsInBuZyIsInRvQnVmZmVyIiwiY2FudmFzIiwicmVwbHkiLCJjb250ZW50IiwiZmlsZXMiLCJidWlsdGluIiwiZ2FtZSIsImludGVudHMiLCJwYXJ0aWFscyIsInByZWxvYWQiLCJzZXF1ZWxpemUiLCJkZWZpbmUiLCJndWlsZCIsInR5cGUiLCJEYXRhVHlwZXMiLCJTVFJJTkciLCJwcmltYXJ5S2V5IiwiY3JlYXRlZEJ5IiwiZXZlbnRzIiwibWVzc2FnZUNyZWF0ZSIsImdsb2JhbCIsImNsaWVudCIsImNvbmZpZyIsImF1dGhvciIsImlkIiwidXNlciIsIm1lbWJlciIsImd1aWxkSWQiLCJwcmVmaXgiLCJzdGFydHNXaXRoIiwibW9kZWxzIiwiZmdpbnB1dCIsImZpbmRPbmUiLCJ3aGVyZSIsInJvdyIsImNvbW1hbmRzIiwiZmdpIiwidXNhZ2UiLCJkZXNjIiwiZXhhbXBsZSIsImV4ZWN1dGUiLCJwYXJhbSIsImkxIiwiQXJyYXkiLCJmcm9tIiwia2V5cyIsImZsYXQiLCJmZ3NhdmUiLCJjaGFubmVsIiwic2VuZCIsImZnY2FwdGlvbiIsInNhdmUiLCJmZ2dsb3NzYXJ5IiwicGFyYW1zIiwic2VhcmNoIiwiZmlsdGVyIiwiaW5jbHVkZXMiLCJ1cmwiLCJkZWYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUEsSUFBTUEsT0FBTyxHQUFHQyxpQkFBS0MsSUFBTCxDQUFVQyxTQUFWLEVBQXFCLEtBQXJCLENBQWhCOztBQUNBLElBQU1DLFdBQVcsR0FBRyxJQUFJQyxHQUFKLEVBQXBCO0FBQ0EsSUFBTUMsVUFBVSxHQUFHLElBQUlELEdBQUosRUFBbkI7QUFFQSxJQUFJRSxRQUFRLEdBQUcsRUFBZjtBQUNBLElBQUlDLEtBQUssR0FBRyxFQUFaO0FBRUFDLFdBQVc7QUFDWEMsV0FBVyxDQUFDRCxXQUFELEVBQWMsSUFBSSxFQUFKLEdBQVMsSUFBdkIsQ0FBWDs7U0FFZUEsVzs7Ozs7K0ZBQWY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMkJBQ2lCRSxJQURqQjtBQUFBO0FBQUEsbUJBQ2tDLGdDQUFHLCtDQUFILENBRGxDOztBQUFBO0FBQUE7QUFDUUMsWUFBQUEsTUFEUixnQkFDc0JDLEtBRHRCO0FBRVFDLFlBQUFBLEtBRlIsR0FFZ0IsRUFGaEI7QUFHUUMsWUFBQUEsS0FIUixHQUdnQixFQUhoQjtBQUtFSCxZQUFBQSxNQUFNLENBQUNJLE9BQVAsQ0FBZSxVQUFBQyxDQUFDLEVBQUk7QUFDbEIsa0JBQU1DLElBQUksR0FBR0QsQ0FBQyxDQUFDQyxJQUFGLENBQU9DLFdBQVAsRUFBYjtBQUNBTCxjQUFBQSxLQUFLLENBQUNJLElBQUQsQ0FBTCxHQUFjRCxDQUFkO0FBQ0FGLGNBQUFBLEtBQUssQ0FBQ0ssSUFBTixDQUFXRixJQUFYO0FBQ0QsYUFKRDtBQU1BWCxZQUFBQSxRQUFRLEdB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QUtRSixLQUFLLENBQUN1RyxNQUFOLENBQWEsVUFBQTlGLENBQUM7QUFBQSwyQkFBSUEsQ0FBQyxDQUFDK0YsUUFBRixDQUFXRixNQUFYLENBQUo7QUFBQSxtQkFBZCxDQUxSO0FBTURHLGtCQUFBQSxHQU5DLDJDQU1zQ0osTUFBTSxDQUFDM0csSUFBUCxDQUFZLEtBQVosRUFBbUJpQixXQUFuQixFQU50Qzs7QUFBQSx3QkFRSFAsTUFBTSxDQUFDeUIsTUFBUCxLQUFrQixDQVJmO0FBQUE7QUFBQTtBQUFBOztBQUFBLG9EQVF5QkssT0FBTyxDQUFDZ0IsS0FBUixrQkFBdUJvRCxNQUF2QixrQkFSekI7O0FBQUE7QUFBQSx3QkFTSGxHLE1BQU0sQ0FBQ3lCLE1BQVAsS0FBa0IsQ0FUZjtBQUFBO0FBQUE7QUFBQTs7QUFBQSxvREFTeUJLLE9BQU8sQ0FBQ2dCLEtBQVIsY0FBdUJuRCxRQUFRLENBQUNLLE1BQU0sQ0FBQyxDQUFELENBQVAsQ0FBUixDQUFvQnNHLEdBQTNDLHlCQUFnRUQsR0FBaEUsT0FUekI7O0FBQUE7QUFXUHZFLGtCQUFBQSxPQUFPLENBQUNnQixLQUFSLENBQWN1RCxHQUFkOztBQVhPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLFNBQUY7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFKRztBQXBESjtBQTlDRyxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHNoYXJwIGZyb20gJ3NoYXJwJ1xyXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJ1xyXG5pbXBvcnQgZ2xvYiBmcm9tICdnbG9iJ1xyXG5pbXBvcnQgeyBEYXRhVHlwZXMgfSBmcm9tICdzZXF1ZWxpemUnXHJcbmltcG9ydCBycCBmcm9tICdyZXF1ZXN0LXByb21pc2UnXHJcblxyXG5jb25zdCBpbWdQYXRoID0gcGF0aC5qb2luKF9fZGlybmFtZSwgJ2ltZycpXHJcbmNvbnN0IGJhc2ljSW5wdXRzID0gbmV3IE1hcCgpXHJcbmNvbnN0IGdhbWVJbnB1dHMgPSBuZXcgTWFwKClcclxuXHJcbmxldCBnbG9zc2FyeSA9IHt9XHJcbmxldCB0ZXJtcyA9IFtdXHJcblxyXG5nZXRHbG9zc2FyeSgpXHJcbnNldEludGVydmFsKGdldEdsb3NzYXJ5LCA1ICogNjAgKiAxMDAwKVxyXG5cclxuYXN5bmMgZnVuY3Rpb24gZ2V0R2xvc3NhcnkgKCkge1xyXG4gIGNvbnN0IHJlc3VsdCA9IEpTT04ucGFyc2UoYXdhaXQgcnAoJ2h0dHBzOi8vZ2xvc3NhcnkuaW5maWwubmV0L2pzb24vZ2xvc3NhcnkuanNvbicpKVxyXG4gIGNvbnN0IHRlbXBHID0ge31cclxuICBjb25zdCB0ZW1wVCA9IFtdXHJcblxyXG4gIHJlc3VsdC5mb3JFYWNoKGkgPT4ge1xyXG4gICAgY29uc3QgdGVybSA9IGkudGVybS50b0xvd2VyQ2FzZSgpXHJcbiAgICB0ZW1wR1t0ZXJtXSA9IGlcclxuICAgIHRlbXBULnB1c2godGVybSlcclxuICB9KVxyXG5cclxuICBnbG9zc2FyeSA9IHRlbXBHXHJcbiAgdGVybXMgPSB0ZW1wVFxyXG59XHJcblxyXG5nbG9iLnN5bmMocGF0aC5qb2luKGltZ1BhdGgsICdiYXNpYy8qKicpLCB7IG5vZGlyOiB0cnVlIH0pXHJcbiAgLmZvckVhY2gocCA9PiB7XHJcbiAgICBjb25zdCBpbnB1dCA9IHAuc3BsaXQoJy8nKS5wb3AoKS5yZXBsYWNlKCcucG5nJywgJycpXHJcbiAgICBiYXNpY0lucHV0cy5zZXQoaW5wdXQsIHApXHJcbiAgfSlcclxuXHJcbmJhc2ljSW5wdXRzLnNldCgnPj4nLCBwYXRoLmpvaW4oaW1nUGF0aCwgJ2Jhc2ljL2RvdWJsZWZvcndhcmQucG5nJykpXHJcblxyXG5nbG9iLnN5bmMocGF0aC5qb2luKGltZ1BhdGgsICdnYW1lcy8qKicpLCB7IG5vZGlyOiB0cnVlIH0pXHJcbiAgLmZvckVhY2gocCA9PiB7XHJcbiAgICBjb25zdCB7IGRpciwgbmFtZSB9ID0gcGF0aC5wYXJzZShwYXRoLnJlbGF0aXZlKHBhdGguam9pbihpbWdQYXRoLCAnZ2FtZXMnKSwgcCkpXHJcblxyXG4gICAgaWYgKCFnYW1lSW5wdXRzLmhhcyhkaXIpKSBnYW1lSW5wdXRzLnNldChkaXIsIG5ldyBNYXAoKSlcclxuICAgIGdhbWVJbnB1dHMuZ2V0KGRpcikuc2V0KG5hbWUsIHApXHJcbiAgfSlcclxuXHJcbmZ1bmN0aW9uIHNvbHZlSW5wdXQgKGlucHV0cywgaW5wdXQpIHtcclxuICBpZiAoaW5wdXRzLmhhcyhpbnB1dCkpIHJldHVybiBbaW5wdXRdXHJcblxyXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgaW5wdXQubGVuZ3RoOyBpKyspIHtcclxuICAgIGNvbnN0IHMxID0gaW5wdXQuc2xpY2UoMCwgMCAtIGkpXHJcbiAgICBpZiAoaW5wdXRzLmhhcyhzMSkpIHJldHVybiBbczEsIC4uLnNvbHZlSW5wdXQoaW5wdXRzLCBpbnB1dC5zbGljZSgwIC0gaSkpXVxyXG4gIH1cclxuXHJcbiAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCBcIiR7aW5wdXR9XCIgYXMgYSByZWNvZ25pemFibGUgaW5wdXRgKVxyXG59XHJcblxyXG5hc3luYyBmdW5jdGlvbiBzZW5kSW5wdXQgKGlucHV0cywgcmVzdWx0LCBtZXNzYWdlLCBjYXB0aW9uKSB7XHJcbiAgY29uc3QgY2FudmFzID0gYXdhaXQgc2hhcnAoeyBjcmVhdGU6IHsgd2lkdGg6IDE1MiAqIHJlc3VsdC5sZW5ndGgsIGhlaWdodDogMTUyLCBjaGFubmVsczogNCwgYmFja2dyb3VuZDogJ3RyYW5zcGFyZW50JyB9IH0pXHJcbiAgICAuY29tcG9zaXRlKHJlc3VsdC5tYXAoKGl0LCBpbmRleCkgPT5cclxuICAgICAgKHsgaW5wdXQ6IGlucHV0cy5nZXQoaXQpLCBsZWZ0OiBpbmRleCAqIDE1MiwgdG9wOiAwLCB3aWR0aDogMTUyLCBoZWlnaHQ6IDE1MiB9KVxyXG4gICAgKSlcclxuICAgIC5wbmcoKVxyXG4gICAgLnRvQnVmZmVyKClcclxuXHJcbiAgcmV0dXJuIG1lc3NhZ2UucmVwbHkoeyBjb250ZW50OiBjYXB0aW9uLCBmaWxlczogW2NhbnZhc10gfSlcclxufVxyXG5cclxuY29uc3QgYnVpbHRpbiA9IHtcclxuICAzNzoge1xyXG4gICAgZ2FtZTogJ3NmJyxcclxuICAgIGNhcHRpb246ICcqKipMRVRTIEdPIEpVU1RJTiEqKionLFxyXG4gICAgaW5wdXQ6ICc2IDYgNiA2IDYgNiA2ID4+IDYgNiA2IDYgNiA2IDYgPj4gOCA2IGouIGhrID4+IDIgbWsgPj4gNjIzIG1wID4+IDIzNiAyMzYgbGsnXHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgbmFtZTogJ2ZnLW5vdGF0aW9uJyxcclxuICBpbnRlbnRzOiBbJ0dVSUxEX01FU1NBR0VTJ10sXHJcbiAgcGFydGlhbHM6IFsnTUVTU0FHRSddLFxyXG5cclxuICBwcmVsb2FkOiBzZXF1ZWxpemUgPT4ge1xyXG4gICAgc2VxdWVsaXplLmRlZmluZSgnZmdpbnB1dCcsIHtcclxuICAgICAgZ3VpbGQ6IHtcclxuICAgICAgICB0eXBlOiBEYXRhVHlwZXMuU1RSSU5HLFxyXG4gICAgICAgIHByaW1hcnlLZXk6IHRydWVcclxuICAgICAgfSxcclxuICAgICAgbmFtZToge1xyXG4gICAgICAgIHR5cGU6IERhdGFUeXBlcy5TVFJJTkcsXHJcbiAgICAgICAgcHJpbWFyeUtleTogdHJ1ZVxyXG4gICAgICB9LFxyXG4gICAgICBjcmVhdGVkQnk6IERhdGFUeXBlcy5TVFJJTkcsXHJcbiAgICAgIGdhbWU6IERhdGFUeXBlcy5TVFJJTkcsXHJcbiAgICAgIGNhcHRpb246IERhdGFUeXBlcy5TVFJJTkcsXHJcbiAgICAgIGlucHV0OiBEYXRhVHlwZXMuU1RSSU5HXHJcbiAgICB9KVxyXG4gIH0sXHJcblxyXG4gIGV2ZW50czoge1xyXG4gICAgYXN5bmMgbWVzc2FnZUNyZWF0ZSAoZ2xvYmFsLCBtZXNzYWdlKSB7XHJcbiAgICAgIGNvbnN0IHsgY2xpZW50LCBjb25maWcsIHNlcXVlbGl6ZSB9ID0gZ2xvYmFsXHJcbiAgICAgIGlmIChtZXNzYWdlLmF1dGhvci5pZCA9PT0gY2xpZW50LnVzZXIuaWQgfHwgIW1lc3NhZ2UubWVtYmVyKSByZXR1cm5cclxuXHJcbiAgICAgIGNvbnN0IGd1aWxkSWQgPSBtZXNzYWdlLmd1aWxkSWRcclxuICAgICAgY29uc3QgeyBwcmVmaXggfSA9IGNvbmZpZ1tndWlsZElkXVxyXG5cclxuICAgICAgaWYgKG1lc3NhZ2UuY29udGVudC5zdGFydHNXaXRoKHByZWZpeCkpIHtcclxuICAgICAgICBjb25zdCBuYW1lID0gbWVzc2FnZS5jb250ZW50LnNwbGl0KCcgJykucG9wKCkucmVwbGFjZShwcmVmaXgsICcnKVxyXG4gICAgICAgIGNvbnN0IHJvdyA9IGJ1aWx0aW5bbmFtZV0gfHwgKFxyXG4gICAgICAgICAgYXdhaXQgc2VxdWVsaXplLm1vZGVscy5mZ2lucHV0LmZpbmRPbmUoe1xyXG4gICAgICAgICAgICB3aGVyZTogeyBndWlsZDogbWVzc2FnZS5ndWlsZC5pZCwgbmFtZSB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuXHJcbiAgICAgICAgaWYgKHJvdykge1xyXG4gICAgICAgICAgY29uc3QgaW5wdXRzID0gbmV3IE1hcChbLi4uYmFzaWNJbnB1dHMsIC4uLmdhbWVJbnB1dHMuZ2V0KHJvdy5nYW1lKV0pXHJcbiAgICAgICAgICBzZW5kSW5wdXQoaW5wdXRzLCByb3cuaW5wdXQuc3BsaXQoJyAnKSwgbWVzc2FnZSwgcm93LmNhcHRpb24pXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfSxcclxuXHJcbiAgY29tbWFuZHM6IHtcclxuICAgIGZnaToge1xyXG4gICAgICB1c2FnZTogJ2ZnaSBbZ2FtZV0gW2lucHV0c10nLFxyXG4gICAgICBkZXNjOiAnQ29udmVydHMgYSBsaXN0IG9mIGlucHV0cyBpbnRvIGFuIGltYWdlJyxcclxuICAgICAgZXhhbXBsZTogJ2ZnaSBzZiAyMzZQIDIxNEsnLFxyXG4gICAgICBleGVjdXRlOiBhc3luYyAoeyBwYXJhbSB9LCB7IG1lc3NhZ2UgfSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IFssIGdhbWUsIGkxXSA9IHBhcmFtXHJcbiAgICAgICAgaWYgKCFnYW1lIHx8ICFpMSkgcmV0dXJuIG1lc3NhZ2UucmVwbHkoJ01pc3NpbmcgYXJndW1lbnRzLiBFeGFtcGxlOiA+ZmdpIHNmIDIzNlAgMjE0SycpXHJcbiAgICAgICAgaWYgKCFnYW1lSW5wdXRzLmhhcyhnYW1lKSkgcmV0dXJuIG1lc3NhZ2UucmVwbHkoYFwiJHtnYW1lfVwiIGlzIG5vdCBhIHZhbGlkIGdhbWUuIEF2YWlsYWJsZSBnYW1lczogJHtBcnJheS5mcm9tKGdhbWVJbnB1dHMua2V5cygpKS5qb2luKCcgJyl9YClcclxuXHJcbiAgICAgICAgY29uc3QgaW5wdXRzID0gbmV3IE1hcChbLi4uYmFzaWNJbnB1dHMsIC4uLmdhbWVJbnB1dHMuZ2V0KGdhbWUpXSlcclxuICAgICAgICBjb25zdCByZXN1bHQgPSBwYXJhbS5zbGljZSgyKS5tYXAoaSA9PiBzb2x2ZUlucHV0KGlucHV0cywgaS50b0xvd2VyQ2FzZSgpKSkuZmxhdCgpXHJcblxyXG4gICAgICAgIHNlbmRJbnB1dChpbnB1dHMsIHJlc3VsdCwgbWVzc2FnZSlcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIGZnc2F2ZToge1xyXG4gICAgICB1c2FnZTogJ2Znc2F2ZSBbZ2FtZV0gW25hbWVdIFtpbnB1dHNdJyxcclxuICAgICAgZGVzYzogJ1NhdmVzIGEgbGlzdCBvZiBpbnB1dHMgaW50byBhIGNvbW1hbmQnLFxyXG4gICAgICBleGFtcGxlOiAnZmdpIHNmIHRlc3ROYW1lIDIzNlAgMjE0SycsXHJcbiAgICAgIGV4ZWN1dGU6IGFzeW5jICh7IHBhcmFtLCBzZXF1ZWxpemUgfSwgeyBtZXNzYWdlIH0pID0+IHtcclxuICAgICAgICBjb25zdCBbLCBnYW1lLCBuYW1lLCBpMV0gPSBwYXJhbVxyXG4gICAgICAgIGlmICghZ2FtZSB8fCAhbmFtZSB8fCAhaTEpIHJldHVybiBtZXNzYWdlLnJlcGx5KCdNaXNzaW5nIGFyZ3VtZW50cy4gRXhhbXBsZTogPmZnaSBzZiB0ZXN0TmFtZSAyMzZQIDIxNEsnKVxyXG4gICAgICAgIGlmICghZ2FtZUlucHV0cy5oYXMoZ2FtZSkpIHJldHVybiBtZXNzYWdlLnJlcGx5KGBcIiR7Z2FtZX1cIiBpcyBub3QgYSB2YWxpZCBnYW1lLiBBdmFpbGFibGUgZ2FtZXM6ICR7QXJyYXkuZnJvbShnYW1lSW5wdXRzLmtleXMoKSkuam9pbignICcpfWApXHJcblxyXG4gICAgICAgIGNvbnN0IGlucHV0cyA9IG5ldyBNYXAoWy4uLmJhc2ljSW5wdXRzLCAuLi5nYW1lSW5wdXRzLmdldChnYW1lKV0pXHJcbiAgICAgICAgY29uc3QgaW5wdXQgPSBwYXJhbS5zbGljZSgzKS5tYXAoaSA9PiBzb2x2ZUlucHV0KGlucHV0cywgaS50b0xvd2VyQ2FzZSgpKSkuZmxhdCgpLmpvaW4oJyAnKVxyXG5cclxuICAgICAgICBhd2FpdCBzZXF1ZWxpemUubW9kZWxzLmZnaW5wdXQuY3JlYXRlKHsgZ3VpbGQ6IG1lc3NhZ2UuZ3VpbGQuaWQsIG5hbWUsIGNyZWF0ZWRCeTogbWVzc2FnZS5hdXRob3IuaWQsIGdhbWUsIGlucHV0IH0pXHJcblxyXG4gICAgICAgIG1lc3NhZ2UuY2hhbm5lbC5zZW5kKGBTYXZlZCBjb21tYW5kIFwiJHtpbnB1dH1cIiBhcyBcIiR7bmFtZX1cImApXHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBmZ2NhcHRpb246IHtcclxuICAgICAgdXNhZ2U6ICdmZ2NhcHRpb24gW25hbWVdIFtjYXB0aW9uXScsXHJcbiAgICAgIGRlc2M6ICdBZGRzIGEgY2FwdGlvbiB0byBhIHNhdmVkIGlucHV0IGNvbW1hbmQnLFxyXG4gICAgICBleGFtcGxlOiAnZmdjYXB0aW9uIHRlc3ROYW1lIFRoaXMgaXMgYSBjYXB0aW9uJyxcclxuICAgICAgZXhlY3V0ZTogYXN5bmMgKHsgcGFyYW0sIHNlcXVlbGl6ZSB9LCB7IG1lc3NhZ2UgfSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IFssIG5hbWUsIGkxXSA9IHBhcmFtXHJcbiAgICAgICAgaWYgKCFuYW1lIHx8ICFpMSkgcmV0dXJuIG1lc3NhZ2UucmVwbHkoJ01pc3NpbmcgYXJndW1lbnRzLiBFeGFtcGxlOiA+ZmdpIHRlc3ROYW1lIFRoaXMgaXMgYSBjYXB0aW9uJylcclxuXHJcbiAgICAgICAgY29uc3Qgcm93ID0gYXdhaXQgc2VxdWVsaXplLm1vZGVscy5mZ2lucHV0LmZpbmRPbmUoe1xyXG4gICAgICAgICAgd2hlcmU6IHsgZ3VpbGQ6IG1lc3NhZ2UuZ3VpbGQuaWQsIG5hbWUgfVxyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgIGlmICghcm93KSByZXR1cm4gbWVzc2FnZS5yZXBseShgXCIke25hbWV9XCIgaXMgbm90IGEgc2F2ZWQgaW5wdXQgbGlzdGApXHJcbiAgICAgICAgcm93LmNhcHRpb24gPSBwYXJhbS5zbGljZSgyKS5qb2luKCcgJylcclxuICAgICAgICBhd2FpdCByb3cuc2F2ZSgpXHJcblxyXG4gICAgICAgIG1lc3NhZ2UuY2hhbm5lbC5zZW5kKGBTYXZlZCBjYXB0aW9uIGZvciBpbnB1dCBsaXN0IFwiJHtuYW1lfVwiYClcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIGZnZ2xvc3Nhcnk6IHtcclxuICAgICAgdXNhZ2U6ICdmZ2dsb3NzYXJ5IFtzZWFyY2ggdGVybV0nLFxyXG4gICAgICBkZXNjOiAnU2VhcmNoZXMgZm9yIGEgdGVybSBvbiBJbmZpbFxcJ3MgR2xvc3NhcnknLFxyXG4gICAgICBleGFtcGxlOiAnZmdnbG9zc2FyeSBtZXhpY2FuIHVwcGVyY3V0JyxcclxuICAgICAgZXhlY3V0ZTogYXN5bmMgKHsgcGFyYW0sIHNlcXVlbGl6ZSB9LCB7IG1lc3NhZ2UgfSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHBhcmFtLnNsaWNlKDEpXHJcbiAgICAgICAgaWYgKHBhcmFtcy5sZW5ndGggPT09IDApIHJldHVybiBtZXNzYWdlLnJlcGx5KCdNaXNzaW5nIHNlYXJjaCB0ZXJtLiBFeGFtcGxlOiA+ZmdnbG9zc2FyeSBtZXhpY2FuIHVwcGVyY3V0JylcclxuXHJcbiAgICAgICAgY29uc3Qgc2VhcmNoID0gcGFyYW1zLmpvaW4oJyAnKS50b0xvd2VyQ2FzZSgpXHJcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGVybXMuZmlsdGVyKGkgPT4gaS5pbmNsdWRlcyhzZWFyY2gpKVxyXG4gICAgICAgIGNvbnN0IHVybCA9IGBodHRwczovL2dsb3NzYXJ5LmluZmlsLm5ldC8/dD0ke3BhcmFtcy5qb2luKCclMjAnKS50b0xvd2VyQ2FzZSgpfWBcclxuXHJcbiAgICAgICAgaWYgKHJlc3VsdC5sZW5ndGggPT09IDApIHJldHVybiBtZXNzYWdlLnJlcGx5KGBUZXJtIFwiJHtzZWFyY2h9XCIgbm90IGZvdW5kYClcclxuICAgICAgICBpZiAocmVzdWx0Lmxlbmd0aCA9PT0gMSkgcmV0dXJuIG1lc3NhZ2UucmVwbHkoYFxcYFxcYFxcYCR7Z2xvc3NhcnlbcmVzdWx0WzBdXS5kZWZ9XFxgXFxgXFxgU291cmNlOiA8JHt1cmx9PmApXHJcblxyXG4gICAgICAgIG1lc3NhZ2UucmVwbHkodXJsKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
487
+ exports["default"] = _default;
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "@lotus-tree/fg-notation",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "main": "lib/index.js",
5
5
  "module": "src/index.js",
6
6
  "scripts": {
7
- "build": "babel --delete-dir-on-start --copy-files --source-maps inline --root-mode upward src --out-dir lib",
8
- "dev": "yarn build --watch"
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"
9
10
  },
10
11
  "dependencies": {
11
12
  "glob": "^7.2.0",
Binary file
package/src/index.js CHANGED
@@ -188,7 +188,7 @@ export default {
188
188
  if (result.length === 0) return message.reply(`Term "${search}" not found`)
189
189
  if (result.length === 1) return message.reply(`\`\`\`${glossary[result[0]].def}\`\`\`Source: <${url}>`)
190
190
 
191
- message.reply(url)
191
+ message.reply(`Multiple terms found: ${url}`)
192
192
  }
193
193
  }
194
194
  }
package/examples/ex1.GIF DELETED
Binary file
package/examples/fg1.GIF DELETED
Binary file
package/examples/fg2.GIF DELETED
Binary file