mirror of
https://github.com/syuilo/ai.git
synced 2024-11-22 05:08:00 +00:00
フォロバしてくれる機能 (#20)
* Implement Follow Back * Require more love * モジュール読むの忘れてたw * 条件式ミスった * 完全なユーザー情報を取れるように * バグったのでやり方かえた * 毎度取得することに * 型がおかしいのなおした * fix bugs * 藍ちゃが好感度に関わらずフォロバするように
This commit is contained in:
parent
ce6bd6a7c3
commit
5c3408714b
|
@ -15,6 +15,7 @@ import ServerModule from './modules/server';
|
||||||
|
|
||||||
import * as request from 'request-promise-native';
|
import * as request from 'request-promise-native';
|
||||||
import IModule from './module';
|
import IModule from './module';
|
||||||
|
import FollowModule from './modules/follow';
|
||||||
const promiseRetry = require('promise-retry');
|
const promiseRetry = require('promise-retry');
|
||||||
|
|
||||||
console.log('--- starting ai... ---');
|
console.log('--- starting ai... ---');
|
||||||
|
@ -38,7 +39,8 @@ promiseRetry(retry => {
|
||||||
new CoreModule(),
|
new CoreModule(),
|
||||||
new PingModule(),
|
new PingModule(),
|
||||||
new WelcomeModule(),
|
new WelcomeModule(),
|
||||||
new ServerModule()
|
new ServerModule(),
|
||||||
|
new FollowModule(),
|
||||||
];
|
];
|
||||||
|
|
||||||
if (config.keywordEnabled) modules.push(new KeywordModule());
|
if (config.keywordEnabled) modules.push(new KeywordModule());
|
||||||
|
|
35
src/modules/follow/index.ts
Normal file
35
src/modules/follow/index.ts
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
import 藍 from '../../ai';
|
||||||
|
import IModule from '../../module';
|
||||||
|
import MessageLike from '../../message-like';
|
||||||
|
import serifs from '../../serifs';
|
||||||
|
|
||||||
|
export default class FollowModule implements IModule {
|
||||||
|
public readonly name = 'follow';
|
||||||
|
private ai: 藍;
|
||||||
|
|
||||||
|
public install = (ai: 藍) => {
|
||||||
|
this.ai = ai;
|
||||||
|
}
|
||||||
|
|
||||||
|
public onMention = (msg: MessageLike) => {
|
||||||
|
if (msg.text && msg.text.includes('フォロー')) {
|
||||||
|
let user: any;
|
||||||
|
this.ai.api("users/show", {
|
||||||
|
userId: msg.userId,
|
||||||
|
}).then(u => {
|
||||||
|
user = u;
|
||||||
|
if (user.isFollowing) {
|
||||||
|
msg.reply(serifs.follow.alreadyFollowed);
|
||||||
|
} else {
|
||||||
|
this.ai.api("following/create", {
|
||||||
|
userId: msg.userId,
|
||||||
|
});
|
||||||
|
msg.reply(serifs.follow.ok);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -260,6 +260,16 @@ export default {
|
||||||
|
|
||||||
server: {
|
server: {
|
||||||
cpu: 'サーバーの負荷が高そうです。大丈夫でしょうか...?'
|
cpu: 'サーバーの負荷が高そうです。大丈夫でしょうか...?'
|
||||||
|
},
|
||||||
|
|
||||||
|
follow: {
|
||||||
|
ok: 'フォローしました!',
|
||||||
|
|
||||||
|
requireMoreLove: 'もう少し仲良くなったらお願いできますか?',
|
||||||
|
|
||||||
|
alreadyFollowed: 'えっ?既にあなたのことはフォローしていますよ!',
|
||||||
|
|
||||||
|
ng: '嫌です...',
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue