mirror of
https://github.com/syuilo/ai.git
synced 2024-11-24 22:01:07 +00:00
Refactoring
This commit is contained in:
parent
4b13c6deae
commit
971d78a957
21
src/ai.ts
21
src/ai.ts
|
@ -11,7 +11,6 @@ import Module from './module';
|
|||
import Message from './message';
|
||||
import { FriendDoc } from './friend';
|
||||
import { User } from './misskey/user';
|
||||
import getCollection from './utils/get-collection';
|
||||
import Stream from './stream';
|
||||
import log from './utils/log';
|
||||
|
||||
|
@ -83,11 +82,11 @@ export default class 藍 {
|
|||
@autobind
|
||||
private run() {
|
||||
//#region Init DB
|
||||
this.contexts = getCollection(this.db, 'contexts', {
|
||||
this.contexts = this.getCollection('contexts', {
|
||||
indices: ['key']
|
||||
});
|
||||
|
||||
this.friends = getCollection(this.db, 'friends', {
|
||||
this.friends = this.getCollection('friends', {
|
||||
indices: ['userId']
|
||||
});
|
||||
//#endregion
|
||||
|
@ -207,6 +206,22 @@ export default class 藍 {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* データベースのコレクションを取得します
|
||||
*/
|
||||
@autobind
|
||||
public getCollection(name: string, opts?: any): loki.Collection {
|
||||
let collection: loki.Collection;
|
||||
|
||||
collection = this.db.getCollection(name);
|
||||
|
||||
if (collection == null) {
|
||||
collection = this.db.addCollection(name, opts);
|
||||
}
|
||||
|
||||
return collection;
|
||||
}
|
||||
|
||||
/**
|
||||
* 投稿します
|
||||
*/
|
||||
|
|
|
@ -3,7 +3,6 @@ import * as loki from 'lokijs';
|
|||
import Module from '../../module';
|
||||
import Message from '../../message';
|
||||
import serifs from '../../serifs';
|
||||
import getCollection from '../../utils/get-collection';
|
||||
|
||||
export default class extends Module {
|
||||
public readonly name = 'guessingGame';
|
||||
|
@ -19,11 +18,9 @@ export default class extends Module {
|
|||
|
||||
@autobind
|
||||
public install() {
|
||||
//#region Init DB
|
||||
this.guesses = getCollection(this.ai.db, 'guessingGame', {
|
||||
this.guesses = this.ai.getCollection('guessingGame', {
|
||||
indices: ['userId']
|
||||
});
|
||||
//#endregion
|
||||
|
||||
return {
|
||||
mentionHook: this.mentionHook,
|
||||
|
|
|
@ -3,7 +3,6 @@ import * as loki from 'lokijs';
|
|||
import Module from '../../module';
|
||||
import Message from '../../message';
|
||||
import serifs from '../../serifs';
|
||||
import getCollection from '../../utils/get-collection';
|
||||
import { User } from '../../misskey/user';
|
||||
|
||||
type Game = {
|
||||
|
@ -23,7 +22,7 @@ export default class extends Module {
|
|||
|
||||
@autobind
|
||||
public install() {
|
||||
this.games = getCollection(this.ai.db, 'kazutori');
|
||||
this.games = this.ai.getCollection('kazutori');
|
||||
|
||||
this.crawleGameEnd();
|
||||
setInterval(this.crawleGameEnd, 1000);
|
||||
|
|
|
@ -3,7 +3,6 @@ import * as loki from 'lokijs';
|
|||
import Module from '../../module';
|
||||
import config from '../../config';
|
||||
import serifs from '../../serifs';
|
||||
import getCollection from '../../utils/get-collection';
|
||||
const MeCab = require('mecab-async');
|
||||
|
||||
function kanaToHira(str: string) {
|
||||
|
@ -26,11 +25,9 @@ export default class extends Module {
|
|||
public install() {
|
||||
if (!config.keywordEnabled) return {};
|
||||
|
||||
//#region Init DB
|
||||
this.learnedKeywords = getCollection(this.ai.db, '_keyword_learnedKeywords', {
|
||||
this.learnedKeywords = this.ai.getCollection('_keyword_learnedKeywords', {
|
||||
indices: ['userId']
|
||||
});
|
||||
//#endregion
|
||||
|
||||
this.tokenizer = new MeCab();
|
||||
this.tokenizer.command = config.mecab;
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
import * as loki from 'lokijs';
|
||||
|
||||
export default function(db: loki, name: string, opts?: any): loki.Collection {
|
||||
let collection;
|
||||
|
||||
collection = db.getCollection(name);
|
||||
|
||||
if (collection == null) {
|
||||
collection = db.addCollection(name, opts);
|
||||
}
|
||||
|
||||
return collection;
|
||||
}
|
Loading…
Reference in a new issue