リファクタリングなど

This commit is contained in:
syuilo 2018-08-29 16:47:07 +09:00
parent 2f14ba690c
commit 7b04c2947e
7 changed files with 66 additions and 69 deletions

View file

@ -53,7 +53,7 @@ export default class CoreModule implements IModule {
data.lastBirthdayChecked = today; data.lastBirthdayChecked = today;
friend.setPerModulesData(this, data); friend.setPerModulesData(this, data);
const text = friend.name ? serifs.core.happyBirthdayWithName.replace('{name}', friend.name) : serifs.core.happyBirthday; const text = serifs.core.happyBirthday(friend.name);
this.ai.sendMessage(friend.userId, { this.ai.sendMessage(friend.userId, {
text: text text: text
@ -92,7 +92,7 @@ export default class CoreModule implements IModule {
if (withSan) { if (withSan) {
msg.friend.updateName(name); msg.friend.updateName(name);
msg.reply(serifs.core.setNameOk.replace('{name}', name)); msg.reply(serifs.core.setNameOk(name));
} else { } else {
msg.reply(serifs.core.san).then(reply => { msg.reply(serifs.core.san).then(reply => {
this.ai.subscribeReply(this, msg.userId, msg.isMessage, msg.isMessage ? msg.userId : reply.id, { this.ai.subscribeReply(this, msg.userId, msg.isMessage, msg.isMessage ? msg.userId : reply.id, {
@ -108,6 +108,7 @@ export default class CoreModule implements IModule {
if (!msg.text) return false; if (!msg.text) return false;
const incLove = () => { const incLove = () => {
//#region 1日に1回だけ親愛度を上げる
const today = getDate(); const today = getDate();
const data = msg.friend.getPerModulesData(this); const data = msg.friend.getPerModulesData(this);
@ -118,41 +119,24 @@ export default class CoreModule implements IModule {
msg.friend.setPerModulesData(this, data); msg.friend.setPerModulesData(this, data);
msg.friend.incLove(); msg.friend.incLove();
//#endregion
}; };
if (msg.text.includes('こんにちは')) { if (msg.text.includes('こんにちは')) {
if (msg.friend.name) { msg.reply(serifs.core.hello(msg.friend.name));
msg.reply(serifs.core.helloWithName.replace('{name}', msg.friend.name));
} else {
msg.reply(serifs.core.hello);
}
incLove(); incLove();
return true; return true;
} }
if (msg.text.includes('おはよ')) { if (msg.text.includes('おはよ')) {
if (msg.friend.name) { msg.reply(serifs.core.goodMorning(msg.friend.name));
msg.reply(serifs.core.goodMorningWithName.replace('{name}', msg.friend.name));
} else {
msg.reply(serifs.core.goodMorning);
}
incLove(); incLove();
return true; return true;
} }
if (msg.text.includes('おやすみ')) { if (msg.text.includes('おやすみ')) {
if (msg.friend.name) { msg.reply(serifs.core.goodNight(msg.friend.name));
msg.reply(serifs.core.goodNightWithName.replace('{name}', msg.friend.name));
} else {
msg.reply(serifs.core.goodNight);
}
incLove(); incLove();
return true; return true;
} }
@ -201,7 +185,7 @@ export default class CoreModule implements IModule {
if (msg.text == null) return; if (msg.text == null) return;
const done = () => { const done = () => {
msg.reply(serifs.core.setNameOk.replace('{name}', msg.friend.name)); msg.reply(serifs.core.setNameOk(msg.friend.name));
this.ai.unsubscribeReply(this, msg.userId); this.ai.unsubscribeReply(this, msg.userId);
}; };

View file

@ -128,7 +128,7 @@ export default class EmojiModule implements IModule {
const hand = hands[Math.floor(Math.random() * hands.length)]; const hand = hands[Math.floor(Math.random() * hands.length)];
const face = faces[Math.floor(Math.random() * faces.length)]; const face = faces[Math.floor(Math.random() * faces.length)];
const emoji = Array.isArray(hand) ? hand[0] + face + hand[1] : hand + face + hand; const emoji = Array.isArray(hand) ? hand[0] + face + hand[1] : hand + face + hand;
msg.reply(serifs.emoji.suggest.replace('$', emoji)); msg.reply(serifs.emoji.suggest(emoji));
return true; return true;
} else { } else {
return false; return false;

View file

@ -30,7 +30,9 @@ export default class FortuneModule implements IModule {
public install = (ai: ) => { } public install = (ai: ) => { }
public onMention = (msg: MessageLike) => { public onMention = (msg: MessageLike) => {
if (msg.text && (msg.text.includes('占') || msg.text.includes('うらな') || msg.text.includes('運勢'))) { if (msg.text == null) return false;
if (msg.text.includes('占') || msg.text.includes('うらな') || msg.text.includes('運勢') || msg.text.includes('おみくじ')) {
const date = new Date(); const date = new Date();
const seed = `${date.getFullYear()}/${date.getMonth()}/${date.getDay()}@${msg.userId}`; const seed = `${date.getFullYear()}/${date.getMonth()}/${date.getDay()}@${msg.userId}`;
const rng = seedrandom(seed); const rng = seedrandom(seed);

View file

@ -102,15 +102,15 @@ export default class GuessingGameModule implements IModule {
if (exist.secret < g) { if (exist.secret < g) {
text = firsttime text = firsttime
? serifs.guessingGame.less.replace('$', g.toString()) ? serifs.guessingGame.less(g.toString())
: serifs.guessingGame.lessAgain.replace('$', g.toString()); : serifs.guessingGame.lessAgain(g.toString());
} else if (exist.secret > g) { } else if (exist.secret > g) {
text = firsttime text = firsttime
? serifs.guessingGame.grater.replace('$', g.toString()) ? serifs.guessingGame.grater(g.toString())
: serifs.guessingGame.graterAgain.replace('$', g.toString()); : serifs.guessingGame.graterAgain(g.toString());
} else { } else {
end = true; end = true;
text = serifs.guessingGame.congrats.replace('{tries}', exist.tries.length.toString()); text = serifs.guessingGame.congrats(exist.tries.length.toString());
} }
if (end) { if (end) {

View file

@ -217,29 +217,29 @@ class Session {
if (msg.body.game.surrendered) { if (msg.body.game.surrendered) {
if (this.isSettai) { if (this.isSettai) {
text = serifs.reversi.settaiButYouSurrendered.replace('{name}', this.userName); text = serifs.reversi.settaiButYouSurrendered(this.userName);
} else { } else {
text = serifs.reversi.youSurrendered.replace('{name}', this.userName); text = serifs.reversi.youSurrendered(this.userName);
} }
} else if (msg.body.winnerId) { } else if (msg.body.winnerId) {
if (msg.body.winnerId == this.account.id) { if (msg.body.winnerId == this.account.id) {
if (this.isSettai) { if (this.isSettai) {
text = serifs.reversi.iWonButSettai.replace('{name}', this.userName); text = serifs.reversi.iWonButSettai(this.userName);
} else { } else {
text = serifs.reversi.iWon.replace('{name}', this.userName); text = serifs.reversi.iWon(this.userName);
} }
} else { } else {
if (this.isSettai) { if (this.isSettai) {
text = serifs.reversi.iLoseButSettai.replace('{name}', this.userName); text = serifs.reversi.iLoseButSettai(this.userName);
} else { } else {
text = serifs.reversi.iLose.replace('{name}', this.userName); text = serifs.reversi.iLose(this.userName);
} }
} }
} else { } else {
if (this.isSettai) { if (this.isSettai) {
text = serifs.reversi.drawnSettai.replace('{name}', this.userName); text = serifs.reversi.drawnSettai(this.userName);
} else { } else {
text = serifs.reversi.drawn.replace('{name}', this.userName); text = serifs.reversi.drawn(this.userName);
} }
} }
@ -418,8 +418,8 @@ class Session {
*/ */
private postGameStarted = async () => { private postGameStarted = async () => {
const text = this.isSettai const text = this.isSettai
? serifs.reversi.startedSettai.replace('{name}', this.userName) ? serifs.reversi.startedSettai(this.userName)
: serifs.reversi.started.replace('{name}', this.userName).replace('{strength}', this.strength.toString()); : serifs.reversi.started(this.userName, this.strength.toString());
return await this.post(`${text}\n→[観戦する](${this.url})`); return await this.post(`${text}\n→[観戦する](${this.url})`);
} }

View file

@ -37,7 +37,7 @@ export default class TimerModule implements IModule {
setTimeout(() => { setTimeout(() => {
const name = msg.friend.name; const name = msg.friend.name;
this.ai.sendMessage(msg.userId, { this.ai.sendMessage(msg.userId, {
text: name ? serifs.timer.notifyWithName.replace('{time}', str).replace('{name}', name) : serifs.timer.notify.replace('{time}', str) text: serifs.timer.notify(str, name)
}); });
}, time); }, time);

View file

@ -1,27 +1,37 @@
export default { export default {
core: { core: {
setNameOk: 'わかりました。これからは{name}とお呼びしますね!', setNameOk: name => `わかりました。これからは${name}とお呼びしますね!`,
san: 'さん付けした方がいいですか?', san: 'さん付けした方がいいですか?',
yesOrNo: '「はい」か「いいえ」しかわからないんです...', yesOrNo: '「はい」か「いいえ」しかわからないんです...',
hello: 'こんにちは♪',
helloWithName: 'こんにちは、{name}♪', hello: name => name ? `こんにちは、${name}` : `こんにちは♪`,
goodMorning: 'おはようございます!',
goodMorningWithName: 'おはようございます、{name}', goodMorning: name => name ? `おはようございます、${name}` : 'おはようございます!',
goodNight: 'おやすみなさい!',
goodNightWithName: 'おやすみなさい、{name}', goodNight: name => name ? `おやすみなさい、${name}` : 'おやすみなさい!',
tooLong: '長すぎる気がします...', tooLong: '長すぎる気がします...',
invalidName: '発音が難しい気がします', invalidName: '発音が難しい気がします',
requireMoreLove: 'もっと仲良くなったら考えてあげてもいいですよ?', requireMoreLove: 'もっと仲良くなったら考えてあげてもいいですよ?',
happyBirthday: 'お誕生日おめでとうございます🎉',
happyBirthdayWithName: 'お誕生日おめでとうございます、{name}🎉', happyBirthday: name => name ? `お誕生日おめでとうございます、${name}🎉` : 'お誕生日おめでとうございます🎉',
nadenade1: '…っ! びっくりしました', nadenade1: '…っ! びっくりしました',
nadenade2: 'わわっ… 恥ずかしいです', nadenade2: 'わわっ… 恥ずかしいです',
nadenade3: 'ん… ありがとうございます♪', nadenade3: 'ん… ありがとうございます♪',
kawaii: 'ありがとうございます♪' kawaii: 'ありがとうございます♪'
}, },
keyword: { keyword: {
learned: '({word}..... {reading}..... 覚えました)', learned: '({word}..... {reading}..... 覚えました)',
remembered: '{reading}' remembered: '{reading}'
}, },
@ -42,52 +52,52 @@ export default {
/** /**
* *
*/ */
started: '対局を{name}と始めました! (強さ{strength})', started: (name, strength) => `対局を${name}と始めました! (強さ${strength})`,
/** /**
* *
*/ */
startedSettai: '({name}の接待を始めました)', startedSettai: name => `(${name}の接待を始めました)`,
/** /**
* *
*/ */
iWon: '{name}に勝ちました♪', iWon: name => `${name}に勝ちました♪`,
/** /**
* *
*/ */
iWonButSettai: '({name}に接待で勝ってしまいました...)', iWonButSettai: name => `(${name}に接待で勝ってしまいました...)`,
/** /**
* *
*/ */
iLose: '{name}に負けました...', iLose: name => `${name}に負けました...`,
/** /**
* *
*/ */
iLoseButSettai: '({name}に接待で負けてあげました...♪)', iLoseButSettai: name => `(${name}に接待で負けてあげました...♪)`,
/** /**
* *
*/ */
drawn: '{name}と引き分けました~', drawn: name => `${name}と引き分けました~`,
/** /**
* *
*/ */
drawnSettai: '({name}に接待で引き分けました...)', drawnSettai: name => `(${name}に接待で引き分けました...)`,
/** /**
* *
*/ */
youSurrendered: '{name}が投了しちゃいました', youSurrendered: name => `${name}が投了しちゃいました`,
/** /**
* *
*/ */
settaiButYouSurrendered: '({name}を接待していたら投了されちゃいました... ごめんなさい)', settaiButYouSurrendered: name => `(${name}を接待していたら投了されちゃいました... ごめんなさい)`,
}, },
/** /**
@ -122,34 +132,34 @@ export default {
/** /**
* *
*/ */
grater: '$より大きいですね', grater: num => `${num}より大きいですね`,
/** /**
* (2) * (2)
*/ */
graterAgain: 'もう一度言いますが$より大きいですよ!', graterAgain: num => `もう一度言いますが${num}より大きいですよ!`,
/** /**
* *
*/ */
less: '$より小さいですね', less: num => `${num}より小さいですね`,
/** /**
* (2) * (2)
*/ */
lessAgain: 'もう一度言いますが$より小さいですよ!', lessAgain: num => `もう一度言いますが${num}より小さいですよ!`,
/** /**
* *
*/ */
congrats: '正解です🎉 ({tries}回目で当てました)', congrats: tries => `正解です🎉 (${tries}回目で当てました)`,
}, },
/** /**
* *
*/ */
emoji: { emoji: {
suggest: 'こんなのはどうですか?→$', suggest: emoji => `こんなのはどうですか?→${emoji}`,
}, },
/** /**
@ -164,8 +174,9 @@ export default {
*/ */
timer: { timer: {
set: 'わかりました!', set: 'わかりました!',
invalid: 'うーん...', invalid: 'うーん...',
notify: '{time}経ちましたよ!',
notifyWithName: '{name}、{time}経ちましたよ!' notify: (time, name) => name ? `${name}${time}経ちましたよ!` : `${time}経ちましたよ!`
} }
}; };