diff --git a/src/index.ts b/src/index.ts index dca5703..cff6315 100644 --- a/src/index.ts +++ b/src/index.ts @@ -34,6 +34,7 @@ import SleepReportModule from './modules/sleep-report'; import NotingModule from './modules/noting'; import PollModule from './modules/poll'; import ReminderModule from './modules/reminder'; +import RecommendMusicModule from './modules/recommend-music'; console.log(' __ ____ _____ ___ '); console.log(' /__\\ (_ _)( _ )/ __)'); @@ -88,6 +89,7 @@ promiseRetry(retry => { new NotingModule(), new PollModule(), new ReminderModule(), + new RecommendMusicModule(), ]); }).catch(e => { log(chalk.red('Failed to fetch the account')); diff --git a/src/modules/emoji-react/index.ts b/src/modules/emoji-react/index.ts index e671b4d..786f567 100644 --- a/src/modules/emoji-react/index.ts +++ b/src/modules/emoji-react/index.ts @@ -69,5 +69,8 @@ export default class extends Module { if (includes(note.text, ['å¯ŋ司', 'sushi']) || note.text === 'すし') return react('đŸŖ'); if (includes(note.text, ['藍'])) return react('🙌'); + if (includes(note.text, ['ãĒでãĒで'])) return react('y6ymef3aio1q3iwchjx0rwf5'); + if (includes(note.text, ['ãĒでãĻ'])) return react('blobcatpnd_onaka_nade'); + if (includes(note.text, ['æ’ĢでãĻ'])) return react('blobcatpnd_onaka_nade'); } } diff --git a/src/modules/recommend-music/index.ts b/src/modules/recommend-music/index.ts new file mode 100644 index 0000000..998a9ca --- /dev/null +++ b/src/modules/recommend-music/index.ts @@ -0,0 +1,115 @@ +import autobind from 'autobind-decorator'; +import Module from '@/module'; +import Message from '@/message'; +import serifs from '@/serifs'; + +const vocaloidUrls = [ + // ボã‚Ģロ + 'https://www.nicovideo.jp/watch/sm31677384', + 'https://www.nicovideo.jp/watch/sm19042393', + 'https://www.nicovideo.jp/watch/sm24892241', + 'https://www.nicovideo.jp/watch/sm20503793', + 'https://www.nicovideo.jp/watch/sm23393078', + 'https://www.nicovideo.jp/watch/sm24485755', + 'https://www.nicovideo.jp/watch/sm25808292', + 'https://www.nicovideo.jp/watch/sm20433229', + 'https://www.nicovideo.jp/watch/sm8541371', + 'https://www.nicovideo.jp/watch/sm34509853', + 'https://www.nicovideo.jp/watch/sm26661454', + 'https://www.nicovideo.jp/watch/sm9797269', + 'https://www.nicovideo.jp/watch/sm42536675', + 'https://www.nicovideo.jp/watch/sm10244728', + 'https://www.nicovideo.jp/watch/sm24626484', + 'https://www.nicovideo.jp/watch/sm39875801', + 'https://www.nicovideo.jp/watch/sm31472648', + 'https://www.nicovideo.jp/watch/sm22608740', + 'https://www.nicovideo.jp/watch/sm30519579', + 'https://www.nicovideo.jp/watch/sm28406516', + 'https://www.nicovideo.jp/watch/sm21652882', + 'https://www.nicovideo.jp/watch/sm32626095', + 'https://www.nicovideo.jp/watch/sm32748202', + 'https://www.nicovideo.jp/watch/sm19870840', + 'https://www.nicovideo.jp/watch/sm13471002', + 'https://www.nicovideo.jp/watch/sm13173001', + 'https://www.nicovideo.jp/watch/sm12195657', + 'https://www.nicovideo.jp/watch/sm38824626', + 'https://www.nicovideo.jp/watch/sm27057005', + 'https://www.nicovideo.jp/watch/sm21036288', + 'https://www.nicovideo.jp/watch/sm23762151', + 'https://www.nicovideo.jp/watch/nm14629738', + 'https://www.nicovideo.jp/watch/sm6529016', + 'https://www.nicovideo.jp/watch/sm19625630', + 'https://www.nicovideo.jp/watch/sm11224129', + 'https://www.nicovideo.jp/watch/sm11834233', + 'https://www.nicovideo.jp/watch/sm30519579', + 'https://www.nicovideo.jp/watch/sm32537029', + 'https://www.nicovideo.jp/watch/sm38708262', + 'https://www.nicovideo.jp/watch/sm10393864', + 'https://www.nicovideo.jp/watch/sm8061508', + 'https://www.nicovideo.jp/watch/so15313251', + 'https://www.nicovideo.jp/watch/sm2651288', + 'https://www.nicovideo.jp/watch/sm36787316', + 'https://www.nicovideo.jp/watch/sm1715919', + 'https://www.nicovideo.jp/watch/sm2397344', + 'https://www.nicovideo.jp/watch/sm25943367', + 'https://www.nicovideo.jp/watch/sm9714351', + 'https://www.nicovideo.jp/watch/sm40554570', + 'https://www.nicovideo.jp/watch/sm31533883', + 'https://www.nicovideo.jp/watch/sm33510542', + 'https://www.nicovideo.jp/watch/sm12825985', + 'https://www.nicovideo.jp/watch/sm2937784', + 'https://www.nicovideo.jp/watch/sm20296308', + 'https://www.nicovideo.jp/watch/sm30067009', + 'https://www.nicovideo.jp/watch/sm31606995', + 'https://www.nicovideo.jp/watch/sm11809611', + 'https://www.nicovideo.jp/watch/sm24536934', + 'https://www.nicovideo.jp/watch/sm12441199', + 'https://www.nicovideo.jp/watch/sm6119955', + 'https://www.nicovideo.jp/watch/sm8082467', + 'https://www.nicovideo.jp/watch/sm3504435', + 'https://www.nicovideo.jp/watch/sm14330479', + 'https://www.nicovideo.jp/watch/sm22960446', + 'https://www.nicovideo.jp/watch/sm6909505', + 'https://www.nicovideo.jp/watch/sm17910036', + 'https://www.nicovideo.jp/watch/sm15630734', + 'https://www.nicovideo.jp/watch/sm11956364', + 'https://www.nicovideo.jp/watch/sm31791630', + 'https://www.nicovideo.jp/watch/sm11398357', + 'https://www.nicovideo.jp/watch/sm28576299', + 'https://www.nicovideo.jp/watch/sm1097445', + 'https://www.nicovideo.jp/watch/sm18100389', + 'https://www.nicovideo.jp/watch/sm6529016', + 'https://www.nicovideo.jp/watch/nm6049209', + 'https://www.nicovideo.jp/watch/sm31807833', + 'https://www.nicovideo.jp/watch/sm31388743', + 'https://www.nicovideo.jp/watch/sm35761194', + 'https://www.nicovideo.jp/watch/sm27529228' + // ** +] + +const jPopUrls = [ + 'https://youtu.be/GpADSdd68UI?si=zrmgRShTOO8m1dA7', + 'https://www.youtube.com/watch?v=qU-mi_S68Dk' +] + +export default class extends Module { + public readonly name = 'recommendMusic'; + + @autobind + public install() { + return { + mentionHook: this.mentionHook + }; + } + + @autobind + private async mentionHook(msg: Message) { + if (msg.includes(['éŸŗæĨŊ', 'æ›˛', 'æ›˛č€…'])) { + const music = vocaloidUrls[Math.floor(Math.random() * vocaloidUrls.length)]; + msg.reply(serifs.recommendMusic.suggestMusic(music)); + return true; + } else { + return false; + } + } +} diff --git a/src/serifs.ts b/src/serifs.ts index 15ae16e..5670c73 100644 --- a/src/serifs.ts +++ b/src/serifs.ts @@ -313,6 +313,13 @@ export default { suggest: emoji => `こんãĒぎはおうですかīŧŸâ†’${emoji}`, }, + /** + * éŸŗæĨŊおすすめ + */ + recommendMusic: { + suggestMusic: musicUrl => `こんãĒぎはおうでしょうīŧŸ\n${musicUrl}` + }, + /** * 占い */ diff --git a/torisetu.md b/torisetu.md index 3b1c13b..b4bbecc 100644 --- a/torisetu.md +++ b/torisetu.md @@ -5,6 +5,10 @@ ## プロフã‚ŖãƒŧãƒĢ [ã“ãĄã‚‰](https://xn--931a.moe/) +## į‹Ŧč‡Ē抟čƒŊ +### æ›˛į´šäģ‹ +ã€Œæ›˛ã€ã€ŒéŸŗæĨŊ」ãĒãŠã¨čŠąã—ã‹ã‘ã‚‹ã¨ã€ãƒĒ゚トãĢある中からナãƒŗãƒ€ãƒ ã§æ›˛ã‚’ãŠã™ã™ã‚ã—ãĻくれぞす。(įžåœ¨40æ›˛į¨‹åēĻ) + ## č—ãŽä¸ģãĒ抟čƒŊ ### 挨æ‹ļ 「おはよう」「おやすãŋ」ãĒãŠã¨čŠąã—ã‹ã‘ã‚‹ã¨ååŋœã—ãĻくれぞす。