mirror of
https://github.com/syuilo/ai.git
synced 2024-12-22 08:21:08 +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 IModule from './module';
|
||||
import FollowModule from './modules/follow';
|
||||
const promiseRetry = require('promise-retry');
|
||||
|
||||
console.log('--- starting ai... ---');
|
||||
|
@ -38,7 +39,8 @@ promiseRetry(retry => {
|
|||
new CoreModule(),
|
||||
new PingModule(),
|
||||
new WelcomeModule(),
|
||||
new ServerModule()
|
||||
new ServerModule(),
|
||||
new FollowModule(),
|
||||
];
|
||||
|
||||
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: {
|
||||
cpu: 'サーバーの負荷が高そうです。大丈夫でしょうか...?'
|
||||
},
|
||||
|
||||
follow: {
|
||||
ok: 'フォローしました!',
|
||||
|
||||
requireMoreLove: 'もう少し仲良くなったらお願いできますか?',
|
||||
|
||||
alreadyFollowed: 'えっ?既にあなたのことはフォローしていますよ!',
|
||||
|
||||
ng: '嫌です...',
|
||||
}
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue