diff --git a/src/index.ts b/src/index.ts index a6e02fc..825b057 100644 --- a/src/index.ts +++ b/src/index.ts @@ -3,6 +3,7 @@ import config from './config'; import ReversiModule from './modules/reversi'; import ServerModule from './modules/server'; import PingModule from './modules/ping'; +import EmojiModule from './modules/emoji'; import * as request from 'request-promise-native'; const promiseRetry = require('promise-retry'); @@ -16,6 +17,7 @@ promiseRetry(retry => { const ai = new ่—(account); ai.install(new PingModule()); + ai.install(new EmojiModule()); ai.install(new ServerModule()); ai.install(new ReversiModule()); }); diff --git a/src/modules/emoji/index.ts b/src/modules/emoji/index.ts new file mode 100644 index 0000000..4e48612 --- /dev/null +++ b/src/modules/emoji/index.ts @@ -0,0 +1,135 @@ +import ่— from '../../ai'; +import IModule from '../../module'; +import MessageLike from '../../message-like'; +import serifs from '../../serifs'; + +const hands = [ + '๐Ÿ‘', + '๐Ÿ‘', + '๐Ÿ‘Ž', + '๐Ÿ‘Š', + 'โœŠ', + ['๐Ÿค›', '๐Ÿคœ'], + ['๐Ÿคœ', '๐Ÿค›'], + '๐Ÿคž', + 'โœŒ', + '๐ŸคŸ', + '๐Ÿค˜', + '๐Ÿ‘Œ', + '๐Ÿ‘ˆ', + '๐Ÿ‘‰', + ['๐Ÿ‘ˆ', '๐Ÿ‘‰'], + ['๐Ÿ‘‰', '๐Ÿ‘ˆ'], + '๐Ÿ‘†', + '๐Ÿ‘‡', + 'โ˜', + ['โœ‹', '๐Ÿคš'], + '๐Ÿ–', + '๐Ÿ––', + '๐Ÿ‘‹', + '๐Ÿค™', + '๐Ÿ’ช', + '๐Ÿ–•' +] + +const faces = [ + '๐Ÿ˜€', + '๐Ÿ˜ƒ', + '๐Ÿ˜„', + '๐Ÿ˜', + '๐Ÿ˜†', + '๐Ÿ˜…', + '๐Ÿ˜‚', + '๐Ÿคฃ', + 'โ˜บ', + '๏ธ๐Ÿ˜Š', + '๐Ÿ˜‡', + '๐Ÿ™‚', + '๐Ÿ™ƒ', + '๐Ÿ˜‰', + '๐Ÿ˜Œ', + '๐Ÿ˜', + '๐Ÿ˜˜', + '๐Ÿ˜—', + '๐Ÿ˜™', + '๐Ÿ˜š', + '๐Ÿ˜‹', + '๐Ÿ˜›', + '๐Ÿ˜', + '๐Ÿ˜œ', + '๐Ÿคช', + '๐Ÿคจ', + '๐Ÿง', + '๐Ÿค“', + '๐Ÿ˜Ž', + '๐Ÿคฉ', + '๐Ÿ˜', + '๐Ÿ˜’', + '๐Ÿ˜ž', + '๐Ÿ˜”', + '๐Ÿ˜Ÿ', + '๐Ÿ˜•', + '๐Ÿ™', + 'โ˜น๏ธ', + '๐Ÿ˜ฃ', + '๐Ÿ˜–', + '๐Ÿ˜ซ', + '๐Ÿ˜ฉ', + '๐Ÿ˜ข', + '๐Ÿ˜ญ', + '๐Ÿ˜ค', + '๐Ÿ˜ ', + '๐Ÿ˜ก', + '๐Ÿคฌ', + '๐Ÿคฏ', + '๐Ÿ˜ณ', + '๐Ÿ˜ฑ', + '๐Ÿ˜จ', + '๐Ÿ˜ฐ', + '๐Ÿ˜ฅ', + '๐Ÿ˜“', + '๐Ÿค—', + '๐Ÿค”', + '๐Ÿคญ', + '๐Ÿคซ', + '๐Ÿคฅ', + '๐Ÿ˜ถ', + '๐Ÿ˜', + '๐Ÿ˜‘', + '๐Ÿ˜ฌ', + '๐Ÿ™„', + '๐Ÿ˜ฏ', + '๐Ÿ˜ฆ', + '๐Ÿ˜ง', + '๐Ÿ˜ฎ', + '๐Ÿ˜ฒ', + '๐Ÿ˜ด', + '๐Ÿคค', + '๐Ÿ˜ช', + '๐Ÿ˜ต', + '๐Ÿค', + '๐Ÿคข', + '๐Ÿคฎ', + '๐Ÿคง', + '๐Ÿ˜ท', + '๐Ÿค’', + '๐Ÿค•', + '๐Ÿค‘', + '๐Ÿค ' +] + +export default class EmojiModule implements IModule { + public install = (ai: ่—) => { } + + public onMention = (msg: MessageLike) => { + if (msg.text && msg.text.indexOf('็ตตๆ–‡ๅญ—') > -1) { + const hand = hands[Math.floor(Math.random() * hands.length)]; + const face = faces[Math.floor(Math.random() * faces.length)]; + const emoji = Array.isArray(hand) ? hand[0] + face + hand[1] : hand + face + hand; + msg.reply(serifs.EMOJI_SUGGEST.replace('$', emoji)); + return true; + } else { + return false; + } + } +} diff --git a/src/serifs.ts b/src/serifs.ts index d035b7b..bfb127e 100644 --- a/src/serifs.ts +++ b/src/serifs.ts @@ -18,5 +18,11 @@ export default { * ใพใ‚‚ใชใๅ†่ตทๅ‹•ใ•ใ‚Œใ‚‹ใจใ */ REBOOT: 'ใงใฏใ€ใพใ‚‚ใชใใ‚ตใƒผใƒใƒผใ‚’ๅ†่ตทๅ‹•ใ—ใพใ™๏ผ', - REBOOT_DETAIL: '(็งใ‚‚ๅ†่ตทๅ‹•ใซๅทปใ่พผใพใ‚Œใกใ‚ƒใ†ใฎใงใ€ใ‚ตใƒผใƒใƒผใฎๅ†่ตทๅ‹•ใŒๅฎŒไบ†ใ—ใŸใ“ใจใฎใŠ็Ÿฅใ‚‰ใ›ใฏใงใใพใ›ใ‚“...)' + REBOOT_DETAIL: '(็งใ‚‚ๅ†่ตทๅ‹•ใซๅทปใ่พผใพใ‚Œใกใ‚ƒใ†ใฎใงใ€ใ‚ตใƒผใƒใƒผใฎๅ†่ตทๅ‹•ใŒๅฎŒไบ†ใ—ใŸใ“ใจใฎใŠ็Ÿฅใ‚‰ใ›ใฏใงใใพใ›ใ‚“...)', + + /** + * ็ตตๆ–‡ๅญ—็”Ÿๆˆ + */ + EMOJI_SUGGEST: 'ใ“ใ‚“ใชใฎใฏใฉใ†ใงใ™ใ‹๏ผŸโ†’$', + };