リファクタリングなど

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;
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, {
text: text
@ -92,7 +92,7 @@ export default class CoreModule implements IModule {
if (withSan) {
msg.friend.updateName(name);
msg.reply(serifs.core.setNameOk.replace('{name}', name));
msg.reply(serifs.core.setNameOk(name));
} else {
msg.reply(serifs.core.san).then(reply => {
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;
const incLove = () => {
//#region 1日に1回だけ親愛度を上げる
const today = getDate();
const data = msg.friend.getPerModulesData(this);
@ -118,41 +119,24 @@ export default class CoreModule implements IModule {
msg.friend.setPerModulesData(this, data);
msg.friend.incLove();
//#endregion
};
if (msg.text.includes('こんにちは')) {
if (msg.friend.name) {
msg.reply(serifs.core.helloWithName.replace('{name}', msg.friend.name));
} else {
msg.reply(serifs.core.hello);
}
msg.reply(serifs.core.hello(msg.friend.name));
incLove();
return true;
}
if (msg.text.includes('おはよ')) {
if (msg.friend.name) {
msg.reply(serifs.core.goodMorningWithName.replace('{name}', msg.friend.name));
} else {
msg.reply(serifs.core.goodMorning);
}
msg.reply(serifs.core.goodMorning(msg.friend.name));
incLove();
return true;
}
if (msg.text.includes('おやすみ')) {
if (msg.friend.name) {
msg.reply(serifs.core.goodNightWithName.replace('{name}', msg.friend.name));
} else {
msg.reply(serifs.core.goodNight);
}
msg.reply(serifs.core.goodNight(msg.friend.name));
incLove();
return true;
}
@ -201,7 +185,7 @@ export default class CoreModule implements IModule {
if (msg.text == null) return;
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);
};

View file

@ -128,7 +128,7 @@ export default class EmojiModule implements IModule {
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));
msg.reply(serifs.emoji.suggest(emoji));
return true;
} else {
return false;

View file

@ -30,7 +30,9 @@ export default class FortuneModule implements IModule {
public install = (ai: ) => { }
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 seed = `${date.getFullYear()}/${date.getMonth()}/${date.getDay()}@${msg.userId}`;
const rng = seedrandom(seed);

View file

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

View file

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

View file

@ -37,7 +37,7 @@ export default class TimerModule implements IModule {
setTimeout(() => {
const name = msg.friend.name;
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);

View file

@ -1,27 +1,37 @@
export default {
core: {
setNameOk: 'わかりました。これからは{name}とお呼びしますね!',
setNameOk: name => `わかりました。これからは${name}とお呼びしますね!`,
san: 'さん付けした方がいいですか?',
yesOrNo: '「はい」か「いいえ」しかわからないんです...',
hello: 'こんにちは♪',
helloWithName: 'こんにちは、{name}♪',
goodMorning: 'おはようございます!',
goodMorningWithName: 'おはようございます、{name}',
goodNight: 'おやすみなさい!',
goodNightWithName: 'おやすみなさい、{name}',
hello: name => name ? `こんにちは、${name}` : `こんにちは♪`,
goodMorning: name => name ? `おはようございます、${name}` : 'おはようございます!',
goodNight: name => name ? `おやすみなさい、${name}` : 'おやすみなさい!',
tooLong: '長すぎる気がします...',
invalidName: '発音が難しい気がします',
requireMoreLove: 'もっと仲良くなったら考えてあげてもいいですよ?',
happyBirthday: 'お誕生日おめでとうございます🎉',
happyBirthdayWithName: 'お誕生日おめでとうございます、{name}🎉',
happyBirthday: name => name ? `お誕生日おめでとうございます、${name}🎉` : 'お誕生日おめでとうございます🎉',
nadenade1: '…っ! びっくりしました',
nadenade2: 'わわっ… 恥ずかしいです',
nadenade3: 'ん… ありがとうございます♪',
kawaii: 'ありがとうございます♪'
},
keyword: {
learned: '({word}..... {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)
*/
graterAgain: 'もう一度言いますが$より大きいですよ!',
graterAgain: num => `もう一度言いますが${num}より大きいですよ!`,
/**
*
*/
less: '$より小さいですね',
less: num => `${num}より小さいですね`,
/**
* (2)
*/
lessAgain: 'もう一度言いますが$より小さいですよ!',
lessAgain: num => `もう一度言いますが${num}より小さいですよ!`,
/**
*
*/
congrats: '正解です🎉 ({tries}回目で当てました)',
congrats: tries => `正解です🎉 (${tries}回目で当てました)`,
},
/**
*
*/
emoji: {
suggest: 'こんなのはどうですか?→$',
suggest: emoji => `こんなのはどうですか?→${emoji}`,
},
/**
@ -164,8 +174,9 @@ export default {
*/
timer: {
set: 'わかりました!',
invalid: 'うーん...',
notify: '{time}経ちましたよ!',
notifyWithName: '{name}、{time}経ちましたよ!'
notify: (time, name) => name ? `${name}${time}経ちましたよ!` : `${time}経ちましたよ!`
}
};