db-discord
Version:
db-discord is a library that uses discord guilds and text channels as databases. db-discord relies on discord.js
38 lines (37 loc) • 1.63 kB
TypeScript
import * as Discord from "db-discord-discord.js";
import { Table } from "./Table";
import { LongTable } from "./LongTable";
import { FileTable } from "./FileTable";
import { ShortTable } from "./ShortTable";
import { KeyPairValue } from "./utilities";
export declare type TableType = "long" | "short" | "file";
export interface MetaTableData {
name: string;
id: string;
objectTypes: {
[property: string]: string;
} | null;
type: TableType;
}
export declare class discordDB {
private guild;
private channels;
metatable: ShortTable<MetaTableData>;
tables: KeyPairValue<MetaTableData, Table<any>>[];
private constructor();
static init(guild: Discord.Guild): Promise<discordDB>;
getShortTableFromName<T>(name: string): ShortTable<T> | null;
getLongTableFromName<T>(name: string): LongTable<T> | null;
getFileTableFromName(id: string): FileTable | null;
getShortTableFromID<T>(id: string): ShortTable<T> | null;
getLongTableFromID<T>(id: string): LongTable<T> | null;
getFileTableFromID(id: string): FileTable | null;
createNewShortTable<T>(name: string): Promise<ShortTable<T>>;
createNewLongTable<T>(name: string): Promise<LongTable<T>>;
createNewFileTable(name: string): Promise<FileTable>;
getOrCreateShortTable<T>(name: string): Promise<ShortTable<T>>;
getOrCreateLongTable<T>(name: string): Promise<LongTable<T>>;
getOrCreateFileTable(name: string): Promise<FileTable>;
deleteTable(table: Table<any>): Promise<{}>;
protected addToMetatable(table: Table<any>): Promise<string>;
}