mirror of
https://github.com/syuilo/ai.git
synced 2024-11-22 05:08:00 +00:00
Refactor
This commit is contained in:
parent
643f3a3d58
commit
73c2ef516a
|
@ -19,7 +19,7 @@ Misskey用の日本語Botです。
|
||||||
"mecab": "MeCab のインストールパス (ソースからインストールした場合、大体は /usr/local/bin/mecab)"
|
"mecab": "MeCab のインストールパス (ソースからインストールした場合、大体は /usr/local/bin/mecab)"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
`npm install` して `npm run build` して `node built` すれば起動できます
|
`npm install` して `npm run build` して `npm start` すれば起動できます
|
||||||
|
|
||||||
## 記憶
|
## 記憶
|
||||||
藍は記憶の保持にインメモリデータベースを使用しており、藍のインストールディレクトリに `memory.json` という名前で永続化されます。
|
藍は記憶の保持にインメモリデータベースを使用しており、藍のインストールディレクトリに `memory.json` という名前で永続化されます。
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
// AiOS bootstrapper
|
||||||
|
|
||||||
import 藍 from './ai';
|
import 藍 from './ai';
|
||||||
import config from './config';
|
import config from './config';
|
||||||
import _log from './utils/log';
|
import _log from './utils/log';
|
||||||
|
@ -30,6 +32,8 @@ log(chalk.bold('Ai v1.0'));
|
||||||
|
|
||||||
promiseRetry(retry => {
|
promiseRetry(retry => {
|
||||||
log(`Account fetching... ${chalk.gray(config.host)}`);
|
log(`Account fetching... ${chalk.gray(config.host)}`);
|
||||||
|
|
||||||
|
// アカウントをフェッチ
|
||||||
return request.post(`${config.apiUrl}/i`, {
|
return request.post(`${config.apiUrl}/i`, {
|
||||||
json: {
|
json: {
|
||||||
i: config.i
|
i: config.i
|
||||||
|
@ -43,6 +47,7 @@ promiseRetry(retry => {
|
||||||
|
|
||||||
log('Starting AiOS...');
|
log('Starting AiOS...');
|
||||||
|
|
||||||
|
// 藍起動
|
||||||
new 藍(account, [
|
new 藍(account, [
|
||||||
new EmojiModule(),
|
new EmojiModule(),
|
||||||
new FortuneModule(),
|
new FortuneModule(),
|
||||||
|
|
|
@ -17,11 +17,22 @@ export default abstract class Module {
|
||||||
this.ai.log(`[${this.name}]: ${msg}`);
|
this.ai.log(`[${this.name}]: ${msg}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* コンテキストを生成し、ユーザーからの返信を待ち受けます
|
||||||
|
* @param key コンテキストを識別するためのキー
|
||||||
|
* @param isDm トークメッセージ上のコンテキストかどうか
|
||||||
|
* @param id トークメッセージ上のコンテキストならばトーク相手のID、そうでないなら待ち受ける投稿のID
|
||||||
|
* @param data コンテキストに保存するオプションのデータ
|
||||||
|
*/
|
||||||
@autobind
|
@autobind
|
||||||
protected subscribeReply(key: string, isDm: boolean, id: string, data?: any) {
|
protected subscribeReply(key: string, isDm: boolean, id: string, data?: any) {
|
||||||
this.ai.subscribeReply(this, key, isDm, id, data);
|
this.ai.subscribeReply(this, key, isDm, id, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 返信の待ち受けを解除します
|
||||||
|
* @param key コンテキストを識別するためのキー
|
||||||
|
*/
|
||||||
@autobind
|
@autobind
|
||||||
protected unsubscribeReply(key: string) {
|
protected unsubscribeReply(key: string) {
|
||||||
this.ai.unsubscribeReply(this, key);
|
this.ai.unsubscribeReply(this, key);
|
||||||
|
|
Loading…
Reference in a new issue