mirror of
https://github.com/syuilo/ai.git
synced 2025-03-25 21:12:56 +00:00
125 lines
2.8 KiB
TypeScript
125 lines
2.8 KiB
TypeScript
import 藍 from '../../ai';
|
|
import IModule from '../../module';
|
|
import MessageLike from '../../message-like';
|
|
import serifs from '../../serifs';
|
|
import * as seedrandom from 'seedrandom';
|
|
|
|
const omikujis = [
|
|
'大大吉',
|
|
'大吉',
|
|
'吉',
|
|
'中吉',
|
|
'小吉',
|
|
'凶',
|
|
'大凶'
|
|
];
|
|
|
|
const itemPrefixes = [
|
|
'プラチナ製',
|
|
'新鮮な',
|
|
'最新式の',
|
|
'古代の',
|
|
'手作り',
|
|
'時計じかけの',
|
|
'伝説の',
|
|
'焼き',
|
|
'生の',
|
|
'藍謹製',
|
|
'ポケットサイズ',
|
|
'3日前の',
|
|
'そこらへんの',
|
|
'偽の',
|
|
'使用済み',
|
|
'壊れた',
|
|
'市販の',
|
|
'オーダーメイドの',
|
|
'業務用の',
|
|
'Microsoft製',
|
|
'Apple製',
|
|
'人類の技術を結集して作った',
|
|
'2018年製',
|
|
'500kgくらいある',
|
|
'高級'
|
|
];
|
|
|
|
const items = [
|
|
'ナス',
|
|
'トマト',
|
|
'きゅうり',
|
|
'じゃがいも',
|
|
'焼きビーフン',
|
|
'腰',
|
|
'寿司',
|
|
'かぼちゃ',
|
|
'諭吉',
|
|
'キロバー',
|
|
'アルミニウム',
|
|
'ナトリウム',
|
|
'マグネシウム',
|
|
'プルトニウム',
|
|
'ちいさなメダル',
|
|
'牛乳パック',
|
|
'ペットボトル',
|
|
'クッキー',
|
|
'チョコレート',
|
|
'メイド服',
|
|
'オレンジ',
|
|
'ニーソ',
|
|
'反物質コンデンサ',
|
|
'粒子加速器',
|
|
'マイクロプロセッサ(4コア8スレッド)',
|
|
'原子力発電所',
|
|
'レイヤ4スイッチ',
|
|
'緩衝チェーン',
|
|
'陽電子頭脳',
|
|
'惑星',
|
|
'テルミン',
|
|
'虫歯車',
|
|
'マウンター',
|
|
'バケットホイールエクスカベーター',
|
|
'デーモンコア',
|
|
'ゲームボーイアドバンス',
|
|
'量子コンピューター',
|
|
'アナモルフィックレンズ',
|
|
'押し入れの奥から出てきた謎の生き物',
|
|
'スマートフォン',
|
|
'時計',
|
|
'プリン',
|
|
'ガブリエルのラッパ',
|
|
'メンガーのスポンジ',
|
|
'ハンドスピナー',
|
|
'超立方体',
|
|
'建築物',
|
|
'エナジードリンク',
|
|
'マウスカーソル',
|
|
'メガネ',
|
|
'まぐろ',
|
|
'ゴミ箱',
|
|
'つまようじ',
|
|
'お弁当に入ってる緑の仕切りみたいなやつ',
|
|
'割りばし',
|
|
'換気扇',
|
|
'ペットボトルのキャップ',
|
|
'消波ブロック'
|
|
];
|
|
|
|
export default class FortuneModule implements IModule {
|
|
public readonly name = 'fortune';
|
|
|
|
public install = (ai: 藍) => { }
|
|
|
|
public onMention = (msg: MessageLike) => {
|
|
if (msg.includes(['占', 'うらな', '運勢', 'おみくじ'])) {
|
|
const date = new Date();
|
|
const seed = `${date.getFullYear()}/${date.getMonth()}/${date.getDay()}@${msg.userId}`;
|
|
const rng = seedrandom(seed);
|
|
const omikuji = omikujis[Math.floor(rng() * omikujis.length)];
|
|
const itemPrefix = Math.floor(rng() * 3) == 0 ? itemPrefixes[Math.floor(rng() * itemPrefixes.length)] : '';
|
|
const item = items[Math.floor(rng() * items.length)];
|
|
msg.reply(`**${omikuji}🎉**\nラッキーアイテム: ${itemPrefix}${item}`, serifs.fortune.cw(msg.friend.name));
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
}
|