478 lines
11 KiB
Plaintext
478 lines
11 KiB
Plaintext
-- --------------------------------------------------------------------------- --
|
|
-- --
|
|
-- Postgresql scheme for iSida Jabber Bot --
|
|
-- Copyright (C) 2012 diSabler <dsy@dsy.name> --
|
|
-- --
|
|
-- This program is free software: you can redistribute it and/or modify --
|
|
-- it under the terms of the GNU General Public License as published by --
|
|
-- the Free Software Foundation, either version 3 of the License, or --
|
|
-- (at your option) any later version. --
|
|
-- --
|
|
-- This program is distributed in the hope that it will be useful, --
|
|
-- but WITHOUT ANY WARRANTY; without even the implied warranty of --
|
|
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --
|
|
-- GNU General Public License for more details. --
|
|
-- --
|
|
-- You should have received a copy of the GNU General Public License --
|
|
-- along with this program. If not, see <http://www.gnu.org/licenses/>. --
|
|
-- --
|
|
-- --------------------------------------------------------------------------- --
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- Base of ages
|
|
--
|
|
CREATE TABLE age (
|
|
room text,
|
|
nick text,
|
|
jid text,
|
|
time integer,
|
|
age integer,
|
|
status integer,
|
|
type text,
|
|
message text,
|
|
no_case_nick text
|
|
);
|
|
|
|
CREATE INDEX age_rj ON age (room,jid);
|
|
|
|
CREATE INDEX age_rnj ON age (room,nick,jid);
|
|
|
|
CREATE TABLE jid (
|
|
login text,
|
|
server text,
|
|
resourse text
|
|
);
|
|
|
|
CREATE INDEX jid_log ON jid (login);
|
|
CREATE INDEX jid_srv ON jid (server);
|
|
CREATE INDEX jid_res ON jid (resourse);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- Base of talkers
|
|
--
|
|
CREATE TABLE talkers (
|
|
room text,
|
|
jid text,
|
|
nick text,
|
|
words integer,
|
|
frases integer
|
|
);
|
|
|
|
CREATE INDEX talkers_rj ON talkers (room,jid);
|
|
CREATE INDEX talkers_rjn ON talkers (room,jid,nick);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- Base for `WTF` commands
|
|
--
|
|
CREATE TABLE wtf (
|
|
ind integer,
|
|
room text,
|
|
jid text,
|
|
nick text,
|
|
wtfword text,
|
|
wtftext text,
|
|
time integer,
|
|
lim integer
|
|
);
|
|
|
|
CREATE INDEX wtf_r ON wtf (room);
|
|
CREATE INDEX wtf_rj ON wtf (room,jid);
|
|
CREATE INDEX wtf_rw ON wtf (room,wtfword);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- Answers base for random flood
|
|
--
|
|
CREATE TABLE answer (
|
|
ind integer,
|
|
body text
|
|
);
|
|
|
|
-- INSERT INTO answer VALUES(1,';-)');
|
|
-- INSERT INTO answer VALUES(2,'Hi!');
|
|
CREATE INDEX answer_id ON answer (ind);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- Base for `SayTo` plugin
|
|
--
|
|
CREATE TABLE sayto (
|
|
who text,
|
|
room text,
|
|
jid text,
|
|
message text
|
|
);
|
|
|
|
CREATE INDEX sayto_rj ON sayto (room,jid);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- User distances for `Dist` plugin
|
|
--
|
|
CREATE TABLE dist (
|
|
point text,
|
|
latitude text,
|
|
longtitude text
|
|
);
|
|
|
|
CREATE INDEX dist_di ON dist (point);
|
|
|
|
CREATE TABLE dist_user (
|
|
point text,
|
|
latitude text,
|
|
longtitude text
|
|
);
|
|
|
|
CREATE INDEX dist_user_di ON dist_user (point);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- Karma base
|
|
--
|
|
CREATE TABLE karma (
|
|
room text,
|
|
jid text,
|
|
karma int
|
|
);
|
|
|
|
CREATE INDEX karma_krj ON karma (room,jid);
|
|
CREATE INDEX karma_crjk ON karma (room,jid,karma);
|
|
|
|
CREATE TABLE karma_commiters (
|
|
room text,
|
|
jid text,
|
|
karmajid text,
|
|
last int
|
|
);
|
|
|
|
CREATE INDEX karma_commiters_rjk ON karma_commiters (room,jid,karmajid);
|
|
|
|
CREATE TABLE karma_limits (
|
|
room text,
|
|
jid text,
|
|
log text
|
|
);
|
|
|
|
CREATE INDEX karma_limits_lrj ON karma_limits (room,jid);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- Action list base
|
|
--
|
|
CREATE TABLE acl (
|
|
jid text,
|
|
action text,
|
|
type text,
|
|
text text,
|
|
command text,
|
|
time int,
|
|
level int default 9
|
|
);
|
|
|
|
CREATE INDEX acl_jid ON acl (jid,action,type);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- Base for `GisMeteo` plugin
|
|
--
|
|
CREATE TABLE gis (
|
|
code text,
|
|
city text,
|
|
lcity text
|
|
);
|
|
|
|
CREATE INDEX gis_clcc ON gis (code,lcity,city);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- DEF-Codes
|
|
--
|
|
CREATE TABLE def_ru_stat (
|
|
phone text,
|
|
region text,
|
|
city text
|
|
);
|
|
|
|
CREATE INDEX def_ru_stat_ph ON def_ru_stat (phone,city);
|
|
|
|
CREATE TABLE def_ua_stat (
|
|
phone text,
|
|
region text,
|
|
city text
|
|
);
|
|
|
|
CREATE INDEX def_ua_stat_ph ON def_ua_stat (phone,city);
|
|
|
|
CREATE TABLE def_ru_mobile (
|
|
provider text,
|
|
region text,
|
|
def integer,
|
|
defbegin integer,
|
|
defend integer,
|
|
date text
|
|
);
|
|
|
|
CREATE INDEX def_ru_mobile_ph ON def_ru_mobile (def,defbegin,defend);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- WZ Weather base
|
|
--
|
|
CREATE TABLE wz (
|
|
code text,
|
|
city text,
|
|
counry text
|
|
);
|
|
|
|
CREATE INDEX wz_ccc ON wz (code,city,counry);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- Muc-filter lock base
|
|
--
|
|
CREATE TABLE muc_lock (
|
|
room text,
|
|
jid text
|
|
);
|
|
|
|
CREATE INDEX muc_lock_rj ON muc_lock (room,jid);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- Versions base
|
|
--
|
|
CREATE TABLE versions (
|
|
room text,
|
|
jid text,
|
|
client text,
|
|
version text,
|
|
os text,
|
|
time integer
|
|
);
|
|
|
|
CREATE INDEX versions_rj ON versions (room,jid);
|
|
CREATE INDEX versions_cvo ON versions (client,version,os);
|
|
CREATE INDEX versions_rjcvo ON versions (room,jid,client,version,os);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- Issues base
|
|
--
|
|
CREATE TABLE issues (
|
|
id integer,
|
|
room text,
|
|
jid text,
|
|
nick text,
|
|
level integer,
|
|
tags text,
|
|
body text,
|
|
status integer,
|
|
date integer,
|
|
comment text,
|
|
accept_by text,
|
|
accept_date integer
|
|
);
|
|
|
|
CREATE INDEX issues_r ON issues (room,id);
|
|
CREATE INDEX issues_d ON issues (room,date);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- Cron base
|
|
--
|
|
CREATE TABLE cron (
|
|
room text,
|
|
jid text,
|
|
nick text,
|
|
time integer,
|
|
repeat text,
|
|
command text,
|
|
level integer
|
|
);
|
|
|
|
CREATE INDEX cron_r ON cron (room);
|
|
CREATE INDEX cron_rt ON cron (room,time);
|
|
CREATE INDEX cron_rtr ON cron (room,time,repeat);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- Conference config
|
|
--
|
|
CREATE TABLE config_conf (
|
|
room text,
|
|
option text,
|
|
value text
|
|
);
|
|
|
|
CREATE INDEX config_conf_r ON config_conf (room);
|
|
CREATE INDEX config_conf_ro ON config_conf (room,option);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- Owner config
|
|
--
|
|
CREATE TABLE config_owner (
|
|
option text unique,
|
|
value text
|
|
);
|
|
|
|
CREATE INDEX config_owner_o ON config_owner (option);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- Top command
|
|
--
|
|
CREATE TABLE top (
|
|
room text unique,
|
|
count integer,
|
|
time integer
|
|
);
|
|
|
|
CREATE INDEX top_r ON top (room);
|
|
CREATE INDEX top_rc ON top (room,count);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- Aliases
|
|
--
|
|
CREATE TABLE alias (
|
|
room text,
|
|
match text,
|
|
cmd text
|
|
);
|
|
|
|
CREATE INDEX alias_r ON alias (room);
|
|
CREATE INDEX alias_rm ON alias (room,match);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- Blacklist for rooms
|
|
--
|
|
CREATE TABLE blacklist (
|
|
room text unique
|
|
);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- Comm ON/OFF
|
|
--
|
|
CREATE TABLE commonoff (
|
|
room text,
|
|
cmd text
|
|
);
|
|
|
|
CREATE INDEX commonoff_r ON commonoff (room);
|
|
CREATE INDEX commonoff_rm ON commonoff (room,cmd);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- Rooms list
|
|
--
|
|
CREATE TABLE conference (
|
|
room text unique,
|
|
passwd text
|
|
);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- Feeds
|
|
--
|
|
CREATE TABLE feed (
|
|
url text,
|
|
update text,
|
|
type text,
|
|
time integer,
|
|
room text,
|
|
hash text array[10],
|
|
changed text
|
|
);
|
|
|
|
CREATE INDEX feed_r ON feed (room);
|
|
CREATE INDEX feed_rt ON feed (room,time);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- Hiden rooms
|
|
--
|
|
CREATE TABLE hiden_rooms (
|
|
room text unique
|
|
);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- Bot Ignore
|
|
--
|
|
CREATE TABLE bot_ignore (
|
|
pattern text unique
|
|
);
|
|
|
|
CREATE INDEX bot_ignore_p ON bot_ignore (pattern);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- Bot Owner
|
|
--
|
|
CREATE TABLE bot_owner (
|
|
jid text unique
|
|
);
|
|
|
|
CREATE INDEX bot_owner_j ON bot_owner (jid);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- Logs in rooms
|
|
--
|
|
CREATE TABLE log_rooms (
|
|
room text unique
|
|
);
|
|
|
|
CREATE INDEX log_rooms_r ON log_rooms (room);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- Spy for activity
|
|
--
|
|
CREATE TABLE spy (
|
|
room text unique,
|
|
time integer,
|
|
participant integer,
|
|
message integer,
|
|
pattern text
|
|
);
|
|
|
|
CREATE INDEX spy_r ON spy (room);
|
|
CREATE INDEX spy_rt ON spy (room,time);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- Temporary ban
|
|
--
|
|
CREATE TABLE tmp_ban (
|
|
room text,
|
|
jid text,
|
|
time integer
|
|
);
|
|
|
|
CREATE INDEX tmp_ban_r ON tmp_ban (room);
|
|
CREATE INDEX tmp_ban_rt ON tmp_ban (room,time);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- Say to owner
|
|
--
|
|
CREATE TABLE saytoowner (
|
|
jid text unique,
|
|
time integer
|
|
);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- Ignore ban for global_ban
|
|
--
|
|
CREATE TABLE ignore_ban (
|
|
room text unique
|
|
);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- First join time
|
|
--
|
|
CREATE TABLE first_join (
|
|
room text,
|
|
jid text,
|
|
time integer
|
|
);
|
|
|
|
CREATE INDEX join_rj ON first_join (room,jid);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- URL Storage
|
|
--
|
|
CREATE TABLE url (
|
|
room text,
|
|
jid text,
|
|
nick text,
|
|
time integer,
|
|
url text,
|
|
title text);
|
|
|
|
CREATE INDEX url_r ON url (room);
|
|
CREATE INDEX url_rj ON url (room,jid);
|
|
CREATE INDEX url_rjn ON url (room,jid,nick);
|
|
CREATE INDEX url_rt ON url (room,time);
|
|
|
|
-- --------------------------------------------------------------------------- --
|
|
-- THE END
|
|
-- --------------------------------------------------------------------------- --
|