Commit d02ca5d9 authored by nanahira's avatar nanahira

some apis

parent 47584fc8
Pipeline #1491 passed with stages
in 7 minutes and 48 seconds
......@@ -2014,6 +2014,19 @@
"babel-preset-current-node-syntax": "^1.0.0"
}
},
"bad-words-chinese": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/bad-words-chinese/-/bad-words-chinese-1.0.2.tgz",
"integrity": "sha1-VuVFL2SeZbK3kc0bSTjoL1scqrU=",
"requires": {
"badwords-list": "^1.0.0"
}
},
"badwords-list": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/badwords-list/-/badwords-list-1.0.0.tgz",
"integrity": "sha1-XphW2/E0gqKVw7CzBK+51M/FxXk="
},
"balanced-match": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
......
......@@ -118,3 +118,18 @@ export const CardInfo = {
'1074': 'Pendulum',
},
};
export function getStringValueByMysticalNumber(
lang: string,
offset: number,
num: number,
) {
for (let i = 0; i < 32; i++) {
if (num & (1 << i)) {
const index = offset + i;
const key = index.toString();
return CardInfo[lang][key];
}
}
return '';
}
import { Controller, Get, Query } from '@nestjs/common';
import {Controller, Get, Query, Res} from '@nestjs/common';
import express from 'express';
import { AppService } from './app.service';
import { UserInfo } from './entities/mycard/UserInfo';
......@@ -10,4 +11,19 @@ export class AppController {
async getUsers(@Query('o') orderByWhat: string) {
return await this.appService.getUsersRaw(orderByWhat === 'pt');
}
@Get('cardinfo')
async getCardInfo(@Query('lang') language: string, @Query('id')id: string, @Res() res: express.Response) {
const cardId = parseInt(id);
if(!cardId) {
res.status(404).end("card id is required!");
return;
}
const result = await this.appService.getCardInfo(cardId, language);
if(!result) {
res.status(404).end("card info not found!");
return;
}
res.json(result);
}
}
......@@ -13,9 +13,6 @@ import { Count } from './entities/mycard/Count';
import { DeckInfo } from './entities/mycard/DeckInfo';
import { BhAccount } from './entities/mycard/BhAccount';
import { RatingIndex } from './entities/mycard/RatingIndex';
import { Userinfo201812backup } from './entities/mycard/Userinfo201812backup';
import { Userinfo201902backup } from './entities/mycard/Userinfo201902backup';
import { Userinfo15backup } from './entities/mycard/Userinfo15backup';
import { Counter } from './entities/mycard/Counter';
import { UserBanHistory } from './entities/mycard/UserBanHistory';
import { DeckDemo } from './entities/mycard/DeckDemo';
......@@ -35,7 +32,6 @@ import { Deck } from './entities/mycard/Deck';
import { PlayerCards } from './entities/mycard/PlayerCards';
import { SiteConfig } from './entities/mycard/SiteConfig';
import { SingleHalfmonth } from './entities/mycard/SingleHalfmonth';
import { Userinfo201901backup } from './entities/mycard/Userinfo201901backup';
import { VoteResult } from './entities/mycard/VoteResult';
import { BattleHistory } from './entities/mycard/BattleHistory';
import { MessageHistory } from './entities/mycard/MessageHistory';
......@@ -44,7 +40,6 @@ import { SingleWeek } from './entities/mycard/SingleWeek';
import { Single } from './entities/mycard/Single';
import { TagMonth } from './entities/mycard/TagMonth';
import { DeckDay } from './entities/mycard/DeckDay';
import { RatingIndexBackup } from './entities/mycard/RatingIndexBackup';
import { TagSeason } from './entities/mycard/TagSeason';
import { Tag } from './entities/mycard/Tag';
import { DeckSeason } from './entities/mycard/DeckSeason';
......@@ -72,7 +67,6 @@ const mycardEntities = [
MessageHistory,
PlayerCards,
PlayerStatus,
RatingIndexBackup,
RatingIndex,
SafeAk,
SingleDay,
......@@ -91,10 +85,6 @@ const mycardEntities = [
UnknownDecks,
UserBanHistory,
UserHistoricalRecord,
Userinfo15backup,
Userinfo201812backup,
Userinfo201901backup,
Userinfo201902backup,
UserInfo,
VoteResult,
Votes,
......
......@@ -3,8 +3,17 @@ import { InjectConnection, InjectEntityManager } from '@nestjs/typeorm';
import { Connection, EntityManager } from 'typeorm';
import bunyan, { createLogger } from 'bunyan';
import { UserInfo } from './entities/mycard/UserInfo';
import * as Filter from 'bad-words-chinese';
import { ChineseDirtyWords } from './dirtyWordsChinese';
import { YGOProDatabaseDatas } from './entities/ygodb/YGOProDatabaseDatas';
import { YGOProDatabaseTexts } from './entities/ygodb/YGOProDatabaseTexts';
import { getStringValueByMysticalNumber } from './CardInfo';
const constants = {
const attrOffset = 1010;
const raceOffset = 1020;
const typeOffset = 1050;
const ygoproConstants = {
TYPES: {
TYPE_MONSTER: 1,
TYPE_SPELL: 2,
......@@ -47,6 +56,7 @@ const constants = {
@Injectable()
export class AppService {
log: bunyan;
chineseDirtyFilter: Filter;
constructor(
@InjectConnection('ygoproChinese')
private cndb: Connection,
......@@ -56,6 +66,9 @@ export class AppService {
private mcdb: Connection,
) {
this.log = createLogger({ name: 'ygopro-arena-revive' });
this.chineseDirtyFilter = new Filter({
chineseList: ChineseDirtyWords,
});
}
private async transaction(
......@@ -89,4 +102,88 @@ export class AppService {
.limit(100)
.getRawMany();
}
async getCardInfo(id: number, lang: string) {
lang ||= 'cn';
const db = (lang === 'cn' ? this.cndb : this.endb).manager;
try {
const cardDatas = await db.findOne(YGOProDatabaseDatas, id);
const cardTexts = await db.findOne(YGOProDatabaseTexts, id);
const result: any = {};
result.id = id;
result.name = cardTexts.name;
result.desc = cardTexts.desc;
result.str1 = cardTexts.str1;
result.str2 = cardTexts.str2;
result.str3 = cardTexts.str3;
result.ot = cardDatas.ot;
result.alias = cardDatas.alias;
result.setcode = cardDatas.setcode;
result.atk = cardDatas.atk;
result.def = cardDatas.def;
if (cardDatas.level <= 12) {
result.level = cardDatas.level;
} else {
//转化为16位,0x01010004,前2位是左刻度,2-4是右刻度,末2位是等级
const levelHex = cardDatas.level;
const cardLevel = levelHex & 0xff;
const cardLScale = (levelHex >> 6) & 0xff;
const cardRScale = (levelHex >> 4) & 0xff;
result.level = cardLevel;
result.cardLScale = cardLScale;
result.cardRScale = cardRScale;
}
if (!(cardDatas.type & ygoproConstants.TYPES.TYPE_LINK)) {
result.name += ' ';
result.name += ' ';
} else {
// result.name+="[LINK-" + cardLevel + "]";
// result.name += " " + (result.atk < 0 ? "?" : result.atk) + "/- ";
if (result.def & ygoproConstants.LINK_MARKERS.LINK_MARKER_TOP_LEFT)
result.name += '[↖]';
if (result.def & ygoproConstants.LINK_MARKERS.LINK_MARKER_TOP)
result.name += '[↑]';
if (result.def & ygoproConstants.LINK_MARKERS.LINK_MARKER_TOP_RIGHT)
result.name += '[↗]';
if (result.def & ygoproConstants.LINK_MARKERS.LINK_MARKER_LEFT)
result.name += '[←]';
if (result.def & ygoproConstants.LINK_MARKERS.LINK_MARKER_RIGHT)
result.name += '[→]';
if (result.def & ygoproConstants.LINK_MARKERS.LINK_MARKER_BOTTOM_LEFT)
result.name += '[↙]';
if (result.def & ygoproConstants.LINK_MARKERS.LINK_MARKER_BOTTOM)
result.name += '[↓]';
if (result.def & ygoproConstants.LINK_MARKERS.LINK_MARKER_BOTTOM_RIGHT)
result.name += '[↘]';
result.def = '-';
}
result.category = cardDatas.category;
result.type = getStringValueByMysticalNumber(
lang,
typeOffset,
cardDatas.type,
);
result.race = getStringValueByMysticalNumber(
lang,
raceOffset,
cardDatas.race,
);
result.attribute = getStringValueByMysticalNumber(
lang,
attrOffset,
cardDatas.attribute,
);
return result;
} catch (e) {
this.log.warn(`Failed fetching card with id ${id}: ${e.toString()}`);
return null;
}
}
}
export const ChineseDirtyWords = [
'',
'',
'',
'',
'',
'干你',
'操你',
'草你',
'叼你',
'傻吊',
'傻卵',
'册那',
'侧那',
'测拿',
'',
'狗东西',
'狗逼',
'狗比',
'狗币',
'狗滚',
'都是狗',
'你麻痹',
'2B',
'小逼崽子',
'黄网',
'报社狗',
'强退狗',
'垃圾',
'cnm',
'我草',
'静水居的',
'静水居',
'静水',
'王POT',
'sem',
'YGOPOT',
'AIDS',
'DICK',
'penis',
'爱滋',
'淋病',
'梅毒',
'爱液',
'肛交',
'肛门',
'龟头',
'机八',
'机巴',
'鸡八',
'鸡巴',
'机掰',
'鸡叭',
'鸡掰',
'鸡奸',
'妓女',
'精液',
'',
'口交',
'滥交',
'乱交',
'屁眼',
'嫖娼',
'强奸犯',
'情色',
'肉棒',
'乳房',
'乳交',
'乳头',
'乳晕',
'三陪',
'射精',
'手淫',
'威而钢',
'威而柔',
'伟哥',
'性高潮',
'性交',
'性虐',
'性欲',
'颜射',
'阳物',
'一夜情',
'阴部',
'阴唇',
'阴道',
'阴蒂',
'阴核',
'阴户',
'阴茎',
'阴门',
'淫秽',
'淫乱',
'淫水',
'淫娃',
'淫液',
'淫汁',
'淫穴',
'淫洞',
'援交妹',
'做爱',
'梦遗',
'阳痿',
'早泄',
'奸淫',
'Bitch',
'cao',
'FUCK',
'NMD',
'NND',
'SB',
'shit',
'SUCK',
'tnnd',
'K他命',
'婊子',
'操她妈',
'操他妈',
'蠢猪',
'废物',
'干她妈',
'干他妈',
'贱货',
'贱人',
'烂人',
'老母',
'老土',
'妈比',
'妈的',
'马的',
'破鞋',
'仆街',
'去她妈',
'去你妈',
'去死',
'去他妈',
'赛她娘',
'赛他娘',
'骚货',
'傻B',
'傻比',
'乡巴佬',
'猪猡',
'骑你',
'湿了',
'操他',
'操她',
'骑他',
'骑她',
'欠骑',
'欠人骑',
'干他',
'干她',
'干死',
'干爆',
'干机',
'机叭',
'干到',
'干爽',
'轮干',
'轮流干',
'干一干',
'援交',
'他娘',
'她娘',
'煞笔',
'她妈',
'傻逼',
'妈逼',
'j8',
'吗的',
'吃屎',
'抽插',
'屌毛',
'二逼',
'干死你',
'狗b',
'龟儿子',
'龟公',
'龟孙子',
'妈B',
'你大爷',
'你二大爷',
'你老母',
'你老味',
'你姥',
'你姥姥的',
'你妈',
'你妈的',
'你娘',
'你爷爷的',
'去你妈的',
'日他娘',
'食捻屎',
'食屎',
'他爹',
'他马的',
'他母亲',
'他祖宗',
'系统消息',
'系统公告',
'系统讯息',
'想上你',
'大鸡鸡',
'游戏管理员',
'强暴',
'裸聊',
'H图',
'爆乳',
'插进来',
'鸡吧',
'巨乳',
'破处',
'色图',
'射出来',
'涉毒',
'涉黄',
'涉枪',
'偷拍',
'透视',
'性服务',
'意淫',
'ygo6',
'新萌卡平台',
'新萌卡对战平台',
'你 妈',
'你`妈',
'你·妈',
'你。妈',
'你全家',
'死爹',
'死娘',
'死了妈',
'死了娘',
'死了爹',
'妈挂',
'妈炸',
'妈飞',
'妈天上飞',
'取妈',
'血妈',
'艹你妈',
'草拟吗',
'艹泥吗',
'草尼玛',
'nima',
'干你m',
'贱婢',
'贱狗',
'艹死',
'操死',
'臭嗨',
'日你妹',
'全家死',
'被人轮',
'入肉',
'杂种',
'死个妈',
'死妈',
'杀妈',
'妈死',
'出殡',
'你MA',
'你母亲',
'了个逼',
'jingshui',
'毛泽东',
'周恩来',
'刘少奇',
'朱德',
'彭德怀',
'林彪',
'刘伯承',
'陈毅',
'贺龙',
'聂荣臻',
'徐向前',
'罗荣桓',
'叶剑英',
'李大钊',
'陈独秀',
'孙中山',
'孙文',
'孙逸仙',
'邓小平',
'陈云',
'江泽民',
'李鹏',
'朱镕基',
'李瑞环',
'尉健行',
'李岚清',
'胡锦涛',
'罗干',
'温家宝',
'吴邦国',
'曾庆红',
'贾庆林',
'黄菊',
'吴官正',
'李长春',
'吴仪',
'回良玉',
'曾培炎',
'周永康',
'曹刚川',
'唐家璇',
'华建敏',
'陈至立',
'陈良宇',
'张德江',
'张立昌',
'俞正声',
'王乐泉',
'刘云山',
'王兆国',
'刘淇',
'贺国强',
'郭伯雄',
'胡耀邦',
'李登辉',
'陈水扁',
'宋楚瑜',
'吕秀莲',
'郁慕明',
'蒋介石',
'蒋中正',
'蒋经国',
'马英九',
'习近平',
'李克强',
'吴帮国',
'李源潮',
'汪洋',
'张高丽',
'薄熙来',
'江青',
'张春桥',
'姚文元',
'王洪文',
'赵紫阳',
'李洪志',
'李大师',
'赖昌星',
'马加爵',
'班禅',
'额尔德尼',
'阿扁万岁',
'六四',
'密宗',
'民进党',
'民运',
'民主潮',
'摩门教',
'南华早报',
'明慧网',
'亲民党',
'瘸腿帮',
'人民报',
'法轮功',
'台独',
'台独分子',
'台联',
'台湾独立',
'太子党',
'一贯道',
'真善忍',
'政变',
'政治反对派',
'政治犯',
'共党',
'高治联',
'高自联',
'大参考',
'小参考',
'法轮',
'真理教',
'走向圆满',
'黄大仙',
'跳大神',
'神汉',
'大卫教',
'高丽棒子',
'蒙古鞑子',
'贩毒',
'卖淫',
'强奸',
'轮奸',
'先奸后杀',
'抽头',
'坐庄',
'赌马',
'赌球',
'老虎机',
'轮盘赌',
'安非他命',
'大麻',
'可卡因',
'海洛因',
'冰毒',
'摇头丸',
'杜冷丁',
'鸦片',
'罂粟',
'迷幻药',
'嗑药',
'',
'臭机八',
'臭鸡巴',
'操妳妈',
'操你妈',
'荡妇',
'发骚',
'干妳',
'干妳娘',
'狗娘养的',
'妳老母的',
'妳娘的',
'你妈逼',
'去妳的',
'去妳妈',
'赛妳娘',
'赛你娘',
'上妳',
'屎妳娘',
'屎你娘',
'来爽我',
'来插我',
'臭鸡',
'臭机',
'烂鸟',
'览叫',
'阳具',
'肉壶',
'摸咪咪',
'干鸡',
'干入',
'小穴',
'插你',
'干X',
'干您',
'干汝',
'干林',
'操林',
'干尼',
'操尼',
'我咧干',
'干勒',
'欠干',
'狗干',
'奸暴',
'再奸',
'我奸',
'奸你',
'奸他',
'奸她',
'奸一奸',
'淫湿',
'鸡歪',
'臭西',
'遗精',
'烂逼',
'大血比',
'叼你妈',
'靠你妈',
'戳你',
'逼你老母',
'挨球',
'我日你',
'草拟妈',
'卖逼',
'狗操卖逼',
'日死',
'骚B',
'你妈了妹',
'逼毛',
'插你妈',
'渣波波',
'嫩b',
'weelaa',
'缔顺',
'帝顺',
'蒂顺',
'',
'',
'',
'',
'專政',
'',
'',
'',
'',
'卓伯源',
'',
'',
'',
'',
'子宫',
'',
'',
'自民党',
'自已的故事',
'',
'',
'',
'',
'',
'',
'作爱',
'保釣',
'',
'',
'',
'',
'陳炳基',
'陳博志',
'陳定南',
'陳建銘',
'陳景俊',
'陳菊',
'陳軍',
'陳良宇',
'陳蒙',
'陳破空',
'陳水扁',
'陳唐山',
'陳希同',
'陳小同',
'陳宣良',
'陳學聖',
'陳一諮',
'陳總統',
'',
'',
'',
'',
'程凱',
'程鐵軍',
'',
'痴鳩',
'痴拈',
'處女膜',
'傳染性病',
'吹簫',
'',
'',
'達癩',
'打飛機',
'戴維教',
'戴相龍',
'彈劾',
'',
'德維爾',
'登輝',
'鄧笑貧',
'',
'迪裏夏提',
'覿',
'地下教會',
'帝國主義',
'電視流氓',
'叼你媽',
'釣魚島',
'丁關根',
'東部地下水路',
'東方紅時空',
'東方時空',
'東南西北論談',
'東社',
'東升',
'東條',
'東條英機',
'東院看守',
'動亂',
'獨裁',
'獨夫',
'',
'',
'發楞',
'方勵之',
'放蕩',
'飛揚論壇',
'費鴻泰',
'費良勇',
'粉飾太平',
'糞便',
'豐饒的果實',
'封殺',
'馮東海',
'馮素英',
'傅作義',
'媽B',
'媽比',
'媽的',
'媽批',
'賣國',
'那嗎B',
'那嗎逼',
'你媽',
'你媽逼',
'你媽比',
'你媽的',
'你媽了妹',
'你爺',
'娘餓比',
'捏你鶏巴',
'去你媽的',
'日你爺爺',
'煞筆',
'私處',
'他媽',
'他媽的',
'他嗎的',
'他母親',
'小B樣',
'小比樣',
'小鶏鶏',
'作愛',
'做愛',
'日你妈',
'草你妈',
'安全局',
'澳洲光明网',
'八九风波',
'办理文凭',
'办理证件',
'包皮',
'保钓',
'保监会',
'保密局',
'鲍岳桥',
'暴动',
'暴乱',
'暴徒',
'北京之春',
'苯比',
'笨屄',
'笨逼',
'屄毛',
'逼样',
'比毛',
'波霸',
'博讯',
'薄一波',
'参事室',
'操GM',
'操XX',
'操逼',
'操比',
'交媾',
'K粉',
'小姐兼职',
'乱伦',
'毛片',
'黄片',
'交配',
'操你八辈祖宗',
'操你妈屄',
'草的你妈',
'草妈',
'插GM',
'插妳',
'插深些',
'成人电影',
'成人片',
'吃大便',
'臭化西',
'春药',
'达赖',
'大逼',
'大波波',
'大麻树脂',
'大麻油',
'大血B',
'呆卵',
'党主席',
'屌7',
'屌鸠',
'屌妳',
'屌七',
'屌西',
'二B',
'二屄',
'干拎娘',
'干妳老母',
'干妳妈',
'干七八',
'公安',
'狗操',
'狗卵',
'狗娘',
'国安局',
'国防部',
'国防科工委',
'国管局',
'国际法院',
'国家民委',
'国家主席',
'国家主要部委',
'国民党',
'激情电影',
'激情小电影',
'贱逼',
'狂操',
'狂操你全家',
'烂B',
'烂屄',
'烂比',
'烂屌',
'烂货',
'老逼',
'轮功',
'妈卖妈屁',
'妈批',
'妈祖',
'麻醉枪',
'麻醉药',
'马卖马屁',
'吗啡',
'买财富',
'卖国',
'卖B',
'卖比',
'妳妈的',
'妳马的',
'伱妈',
'日你娘',
'肉壁',
'肉洞',
'肉缝',
'肉棍',
'肉棍子',
'肉穴',
'乳波臀浪',
'塞你爸',
'塞你公',
'塞你老母',
'塞你老师',
'塞你母',
'塞你娘',
'骚逼',
'傻屄',
'煞逼',
'驶你爸',
'驶你公',
'驶你老母',
'驶你老师',
'驶你母',
'驶你娘',
'死全家',
'我操你',
'我妳老爸',
'小肉粒',
'小乳头',
'性爱',
'性虐待',
'性无能',
'血逼',
'血腥图片',
'阳精',
'以茎至洞',
'阴毛',
'阴水',
'阴小撕大',
'淫荡',
'淫货',
'淫贱',
'淫叫',
'淫毛',
'淫靡',
'淫语连连',
'淫欲',
'游戏发奖员',
'游戏宫理员',
'曰GM',
'曰你',
'中南海',
'中宣部',
'装屄',
'操逼毛',
'h站',
'xinjiang 12',
'致幻剂',
'强女干',
'习仲勋',
'彭丽媛',
'习明泽',
'上访',
'占中',
'钓鱼岛',
'bt成人',
'b好痒',
'b穴',
'b痒',
'H电影',
'j巴',
'j吧',
'SF网站定做',
'SM虐待',
'x伴侣',
'yindi',
'yinshui',
'yin部',
'yin道',
'yin毛',
'y蒂',
'y户',
'y茎',
'被人干',
'屄儿',
'屄裏',
'屄友',
'逼好痒',
'逼穴',
'逼痒',
'博彩',
'彩票机',
'插爆',
'插逼',
'插的好舒服',
'插肛',
'插进你下面',
'插进穴',
'插妹妹',
'插弄',
'插女',
'插肉',
'插入穴',
'插穴',
'潮吹',
'出售AV',
'出售处男',
'出售处女',
'出售美女',
'出售妹妹',
'处男出售',
'处女出售',
'处女穴',
'處女',
'春宫图',
'春宵',
'肏屄',
'肏干',
'肏她',
'肏妹妹',
'肏妳',
'肏娘',
'肏破',
'肏入',
'肏死',
'肏我',
'肏穴',
'肏这',
'操小逼',
'操穴',
'等你插',
'第一次破处',
'点对点裸聊',
'电车之狼',
'电影色情',
'发浪',
'粉红小b',
'粉红小逼',
'丰满坚挺',
'丰乳肥臀',
'丰韵少妇',
'风尘劫',
'风骚侍女',
'肤白胸大',
'肛插',
'肛恋',
'睪丸',
'搞个处女',
'合采开奖',
'合彩开奖',
'和采开奖',
'和彩开奖',
'黃色小電影',
'黄小说',
'黄站',
'雞八',
'雞巴',
'雞雞',
'茎精',
'菊花洞',
'菊花蕾',
'菊花穴',
'菊穴',
'抠b',
'抠逼',
'狂插',
'狂穴',
'两乳之间',
'露逼',
'露穴',
'卵蛋',
'乱伦熟女',
'乱淫',
'伦理片',
'裸陪',
'裸体',
'裸體',
'裸照',
'卖骚',
'美屄',
'美女出售',
'美女会所',
'美女兼职',
'美女裸体',
'美女全套',
'美女上门',
'美女脱衣',
'美少妇的哀羞',
'美穴',
'妹的服务',
'妹开苞',
'妹妹出售',
'妹妹的屄',
'妹妹穴',
'猛操',
'猛插',
'蒙汗',
'迷幻喷雾',
'迷幻香烟',
'迷昏药',
'迷奸',
'迷情',
'秘部',
'秘處',
'秘唇',
'秘肉',
'密穴',
'蜜唇',
'蜜洞',
'蜜壶',
'蜜穴',
'免费a片',
'摸奶',
'摸胸',
'内射',
'嫩屄',
'嫩逼',
'嫩穴',
'弄穴',
'女孩上门',
'女模招聘',
'女人穴',
'女上门',
'女死囚',
'女体',
'欧美色图',
'歐美bt',
'炮片',
'炮图',
'陪护私人',
'陪裸',
'喷潮',
'喷尿',
'喷雾型迷药',
'屁穴',
'枪淫少妇',
'强j',
'强姦',
'亲蛋蛋',
'亲吻蛋蛋',
'情色网',
'全套美女',
'群奸',
'人妻小说',
'肉屄',
'肉根',
'肉击',
'肉茎',
'肉具',
'肉门',
'肉丘',
'肉圈',
'肉体交融',
'肉臀',
'肉芽',
'乳fan',
'乳球',
'乳首',
'搔穴',
'骚屄',
'骚比',
'骚婊',
'骚姐姐',
'骚浪',
'骚妹',
'骚水',
'骚穴',
'骚痒',
'骚姊姊',
'騷穴',
'色电影',
'色淫',
'色友',
'色诱',
'少妇穴',
'少女高潮',
'舌头添',
'舌头舔',
'射乳',
'绳虐',
'湿穴',
'兽交',
'熟女俱乐部',
'双腿叉开',
'双腿间的禁地',
'爽电影',
'爽片',
'私密处',
'添逼',
'添你下面',
'添阴',
'舔xue',
'舔逼',
'舔便',
'舔遍',
'舔肛',
'舔花苞',
'舔奶',
'舔弄',
'舔批',
'舔舐',
'舔吮',
'舔下面',
'舔穴',
'舔阴',
'臀洞',
'臀沟',
'臀孔',
'臀丘',
'无码片',
'小屄',
'小电影',
'坐台',
'小姨子穴',
'性伴侣',
'性电影',
'性服务工作者',
'性虎',
'性教官',
'性开放的',
'性开放俱乐部',
'性启蒙老师',
'性器',
'性色',
'性色社区',
'性事',
'性学教授',
'性游戏',
'性友谊',
'穴洞',
'穴口',
'穴里',
'穴前庭',
'穴肉',
'穴穴',
'穴淫',
'亚洲色图',
'亞洲bt',
'亞洲圖區',
'夜场兼职',
'夜场女模特',
'夜场招聘',
'夜场直招',
'夜总会公关',
'夜总会模特',
'夜总会招聘',
'阴chun',
'阴dao',
'阴di',
'阴壁',
'阴纯',
'阴阜',
'阴护',
'阴丘',
'阴穴',
'陰核',
'陰户',
'陰茎',
'陰穴',
'婬水',
'淫b',
'淫暴',
'淫屄',
'淫逼',
'淫传',
'淫唇',
'淫蕩少婦',
'淫蕩丗家',
'淫蕩孕婦',
'淫道',
'淫电影',
'淫妇',
'淫棍',
'淫秽词语',
'淫奸',
'淫间道',
'淫浪',
'淫乱电影',
'淫亂',
'淫美贴图',
'淫妹',
'淫民',
'淫魔舞会',
'淫男',
'淫娘',
'淫女',
'淫虐',
'淫片',
'淫妻',
'淫情女教师',
'淫情贴图',
'淫色',
'淫色网站',
'淫声',
'淫兽',
'淫兽学园',
'淫术炼金士',
'淫贴图',
'淫图',
'淫臀',
'淫阴',
'淫影',
'淫影片',
'淫影院',
'有码片',
'有碼',
'幼b',
'幼逼',
'幼交',
'幼穴',
'诱惑电影',
'诱惑视频',
'诱奸',
'诱人双峰',
'玉女吹箫',
'玉蒲团',
'玉穴',
'欲生欲死',
'最淫官员',
'做ai',
'做鸡',
'日逼',
'G点高潮',
'H动漫',
'H漫画',
'P眼',
'獸交',
'避孕套',
'操屄',
'超级性虐',
'成人交友',
'成人书库',
'成人图',
'成人用品',
'臭逼',
'处女膜',
'处女终结者',
'床上猛男',
'吹气娃娃',
'激情陪聊',
'鸡把',
'奸尸',
'奸幼',
'性交易',
'性经验',
'性骚扰',
'病毒营销',
'动乱',
'動乱',
'發票',
'假币',
'假钞',
'假钱',
'买枪',
'卖枪',
'窃听',
'双管立式猎枪',
'双管猎枪',
'小口径步枪',
'自制枪',
'操你奶奶',
'操尼妈',
'草逼',
'草你吗',
'草死',
'草他',
'草她',
'狗卵子',
'贱比',
'islam',
'天藏',
'草榴',
'做爱姿势',
'胸推',
'卖身',
'偷欢',
'偷精',
'吹萧',
'失禁',
'外遇',
'出轨',
'呻吟',
'闷骚',
'寻欢',
'推女郎',
'色撸',
'性乐',
'恋孕',
'天天干',
'性息',
'裸欲',
'调教性奴',
'成人软件',
'sex聊天室',
'小姐裸聊',
'情色五月',
'美女祼聊',
'同居万岁',
'风流岁月',
'一本道',
'人屠',
'专宠',
'丰乳',
'翘臀',
'乳波',
'臀浪',
'浪臀',
'中共去死',
'无帮国',
'无邦国',
'无帮过',
'瘟家宝',
'假庆林',
'甲庆林',
'假青林',
'离长春',
'习远平',
'袭近平',
'李磕墙',
'贺过墙',
'和锅枪',
'粥永康',
'轴永康',
'肘永康',
'周健康',
'粥健康',
'周小康',
'柴玲',
'达赖喇嘛',
'沃尔开西',
'热那亚',
'热比娅',
'六四运动',
'美国之音',
'法轮大法',
'打倒共产党',
'台独万岁',
'台湾民国',
'台湾岛国',
'台湾国',
'天安门事件',
'新疆独立',
'新疆分裂',
'新疆国',
'西藏独立',
'西藏分裂',
'西藏国',
'藏青会',
'藏妇会',
'学潮',
'学运',
'中国之春',
'转法轮',
'共匪',
'支那',
'世界维吾尔大会',
'国内动态清样',
'河殇',
'回民吃猪肉',
'催情药',
'周恩來',
'',
'',
'朱駿',
'朱狨基',
'朱容基',
'朱溶剂',
'朱熔基',
'猪操',
'猪聋畸',
'猪毛',
'自由民主论坛',
'阿扁萬歲',
'阿萊娜',
'啊無卵',
'埃裏克蘇特勤',
'埃斯萬',
'',
'暗黑法師',
'',
'白立樸',
'白夢',
'暴亂',
'暴熱的戰士',
'北大三角地論壇',
'北韓',
'北京當局',
'北美自由論壇',
'貝尤爾',
'',
'逼樣',
'比樣',
'',
'',
'',
'婊子養的',
'賓周',
'冰後',
'博訊',
'不滅帝王',
'不爽不要錢',
'布萊爾',
'布雷爾',
'蔡崇國',
'蔡啓芳',
'',
'操鶏',
'操那嗎B',
'操那嗎逼',
'操那嗎比',
'操你媽',
'操你爺爺',
'曹長青',
'曹剛川',
'草你媽',
'草擬媽',
'册那娘餓比',
'插那嗎B',
'插那嗎逼',
'插那嗎比',
'插你媽',
'插你爺爺',
'長官沙塔特',
'常勁',
'車侖',
'車侖女幹',
'持不同政見',
'春夏自由論壇',
'戳那嗎B',
'戳那嗎逼',
'戳那嗎比',
'錯B',
'錯逼',
'錯比',
'錯那嗎B',
'錯那嗎逼',
'錯那嗎比',
'大參考',
'大東亞',
'大東亞共榮',
'大鶏巴',
'大紀元',
'大紀元新聞網',
'大紀園',
'大家論壇',
'大奶媽',
'大史記',
'大史紀',
'大衛教',
'大中國論壇',
'大中華論壇',
'大衆真人真事',
'蕩婦',
'東北獨立',
'東突暴動',
'東突獨立',
'東土耳其斯坦',
'東西南北論壇',
'獨裁政治',
'獨立臺灣會',
'發掄',
'發掄功',
'發倫',
'發倫功',
'發輪',
'發論',
'發論公',
'發論功',
'發騷',
'發正念',
'法~倫',
'法~淪',
'法~綸',
'法~輪',
'法~論',
'法掄',
'法掄功',
'法侖',
'法淪',
'法綸',
'法輪大法',
'法輪功',
'法十輪十功',
'法謫',
'法謫功',
'反封鎖',
'反封鎖技術',
'反腐敗論壇',
'風雨神州',
'風雨神州論壇',
'幹bi',
'幹逼',
'幹比',
'幹的你',
'幹幹幹',
'幹她',
'幹你',
'幹你老比',
'幹你老母',
'幹你娘',
'幹全家',
'幹死',
'幹死你',
'幹他',
'幹一家',
'趕你娘',
'滾那嗎',
'滾那嗎B',
'滾那嗎錯比',
'滾那嗎老比',
'滾那嗎瘟比',
'江八點',
'江羅',
'江綿恒',
'江戲子',
'江則民',
'江澤慧',
'江賊',
'將則民',
'僵賊',
'僵賊民',
'爛B',
'爛逼',
'爛比',
'爛袋',
'爛貨',
'濫B',
'濫逼',
'濫比',
'濫貨',
'濫交',
'勞動教養所',
'勞改',
'勞教',
'掄功',
'倫功',
'輪大',
'輪功',
'輪奸',
'賣逼',
'賣比',
'賣騷',
'賣淫',
'摸你鶏巴',
'那嗎錯比',
'那嗎老比',
'那嗎瘟比',
'那娘錯比',
'騷B',
'騷棒',
'騷包',
'騷逼',
'騷棍',
'騷貨',
'騷鶏',
'騷卵',
'殺你全家',
'殺你一家',
'氵去車侖工力',
'臺盟',
'臺灣帝國',
'臺灣獨立',
'臺灣獨',
'臺灣共産黨',
'臺灣狗',
'臺灣建國運動組織',
'臺灣民國',
'臺灣青年獨立聯盟',
'臺灣政論區',
'臺灣自由聯盟',
'天安門',
'天安門錄影帶',
'天安門事件',
'天安門屠殺',
'天安門一代',
'無界瀏覽器',
'系統公告',
'小參考',
'新聞封鎖',
'陰部',
'陰唇',
'陰道',
'陰蒂',
'陰戶',
'陰莖',
'陰精',
'陰毛',
'陰門',
'陰囊',
'陰水',
'淫蕩',
'淫穢',
'淫貨',
'淫賤',
'則民',
'擇民',
'澤民',
'賊民',
'中國復興論壇',
'中國共産黨',
'中國孤兒院',
'中國和平',
'中國論壇',
'中國社會進步黨',
'中國社會論壇',
'中國威脅論',
'中國問題論壇',
'中國移動通信',
'中國真實內容',
'中國之春',
'中國猪',
'中華大地',
'中華大衆',
'中華講清',
'中華民國',
'中華人民實話實說',
'中華人民正邪',
'中華時事',
'中華養生益智功',
'中華真實報道',
'中央電視臺',
'茉莉花革命',
'车仑',
'赤匪',
'出售假币',
'出售枪支',
'出售手枪',
'粗制吗啡',
'大学骚乱',
'东北独立',
'东突',
'东突暴动和独立',
'东突组织',
'发抡功',
'发伦',
'发伦功',
'发轮',
'发论',
'发论公',
'发论功',
'法功',
'法愣',
'法仑',
'共狗',
'官逼民反',
'官商勾结',
'国民党万岁',
'胡XX',
'胡紧涛',
'胡紧掏',
'胡紧套',
'胡锦淘',
'回民暴动',
'回族人吃猪肉',
'昏药',
'江Core',
'江八',
'江八点',
'江独裁',
'江核心',
'江戏子',
'江择民',
'江贼民',
'江折民',
'江猪',
'江猪媳',
'僵贼民',
'酱猪媳',
'李弘旨',
'李红志',
'李宏旨',
'李宏志',
'六四事件',
'六四真相',
'麻醉钢枪',
'麻醉乙醚',
'买卖枪支',
'毛XX',
'毛厕洞',
'毛贼东',
'拍肩神药',
'三个呆婊',
'三个代婊',
'氵去',
'水去车仑',
'扎卡维是英雄',
'朱容鸡',
'猪容基',
'子女任职名单',
'額爾德尼',
'西藏314事件',
'新疆獨立',
'西藏獨立',
'藏青會',
'藏婦會',
'疆獨',
'藏獨',
'東突',
'新疆國',
'西藏國',
'熱比娅',
'新疆凶徒',
'新疆暴徒',
'新疆事件',
'新疆出事',
'Gyallu',
'被遗忘的雪域之歌',
'度母化声',
'密勒日巴道歌',
'修行的女人',
'花开时节',
'葛莎雀吉',
'西藏寺庙',
'西藏喇嘛庙',
'迷情药',
'迷情水',
'迷情粉',
'臊冰',
'开心水',
'羟亚胺',
'盐酸伪麻黄碱',
'麻果',
'麻古',
'麻姑',
'植物冰',
'塑料冰',
'神仙水',
'喵喵药',
'海乐神',
'黄绿牙签',
'黄白牙签',
'黄白牙簽',
'氯胺酮',
'麦角胺',
'美沙酮',
'迷幻水',
'迷幻藥',
'ghb',
'king粉',
'HIGH水',
'钻石冰糖',
'happy水',
'快樂丸',
'长治筋',
'蒙汗药',
'苍蝇水',
'甲基苯丙胺',
'安钠咖',
'左旋麻黄素',
'神仙糖',
'昏迷粉',
'迷魂水',
'强暴药',
'云南情蛊',
'尼美西泮',
'安纳咖',
'安眠酮',
'冰古',
'催情粉',
'催情水',
'崔情水',
'吹情水',
'失身水',
'lsd',
'钻石冰毒',
'摇头糖',
'搖頭糖',
'曲马多',
'哌替啶',
'春藥',
'乙醚三唑',
'失忆水',
'酣乐欣',
'土冰',
'冰du',
'溜冰壶',
'溜冰妹',
'水晶冰',
'冰 毒',
'黄牙签',
'黃牙簽',
'纯冰黄冰',
'黄冰',
'黄冰白冰',
'麥角酸',
'鹽酸羥亞胺',
'三唑侖',
'强暴幼女',
'强暴电影',
'伦理三级',
'偷听器',
'躶聊',
'luo聊',
'深喉口爆',
'颜射口爆',
'',
'舔下体',
'人體炸彈',
'出售假钞',
'新唐人',
'大纪元',
'大东亚',
'监听王',
'手机复制',
'透视眼镜',
'身份证生成器',
'活摘器',
'雪山狮子旗',
'拉萨骚乱',
'退党团队',
'退出党团队',
'中共暴政',
'在线博彩',
'胡錦濤',
'習近平',
'刘奇葆',
'劉奇葆',
'代开发票',
'全能神',
'全能神教',
'国安会内幕',
'攻击党政',
'攻击共党',
'獨立臺灣',
'分裂国家',
'反右题材',
'反中游行',
'西藏流亡政府',
'范长龙',
'杨尚昆',
'1夜情',
'AV出售',
'AV电影',
'a片网',
'最新黄站',
'法lun功',
'仿54',
'仿64',
'仿六四',
'仿五四',
'仿真假钞',
'仿真枪',
'高薪日结',
'售枪',
'证件办理',
'骰宝',
'FaLunGong',
'Fa Lun Gong',
'FLG',
'活摘',
'东伊运',
'世维会',
'白话佛法',
'黄祸',
];
import { Column, Entity, Index } from 'typeorm';
import { Column, Entity, Index, PrimaryColumn } from 'typeorm';
@Index('battle_history_end_time_index', ['endTime'], {})
@Index('battle_history_usernamea_index', ['usernamea'], {})
@Index('battle_history_usernameb_index', ['usernameb'], {})
@Entity('battle_history', { schema: 'public' })
export class BattleHistory {
@Column('character varying', { name: 'usernamea', length: 100 })
@PrimaryColumn('character varying', { name: 'usernamea', length: 100 })
usernamea: string;
@Column('character varying', { name: 'usernameb', length: 100 })
@PrimaryColumn('character varying', { name: 'usernameb', length: 100 })
usernameb: string;
@Column('integer', { name: 'userscorea', default: 0 })
......@@ -87,7 +87,9 @@ export class BattleHistory {
@Column('timestamp without time zone', { name: 'start_time', nullable: true })
startTime: Date;
@Column('timestamp without time zone', { name: 'end_time', nullable: true })
@PrimaryColumn('timestamp without time zone', {
name: 'end_time',
})
endTime: Date;
@Column('text', { name: 'winner', nullable: true })
......
import { Column, Entity } from 'typeorm';
import { Column, Entity, PrimaryColumn } from 'typeorm';
@Entity('message_history', { schema: 'public' })
export class MessageHistory {
@Column('timestamp without time zone', { name: 'time', nullable: true })
@Column('timestamp without time zone', {
name: 'time',
nullable: true,
})
time: Date;
@Column('character varying', { name: 'sender', nullable: true })
@PrimaryColumn('character varying', { name: 'sender' })
sender: string;
@Column('character varying', { name: 'content', nullable: true })
@PrimaryColumn('character varying', { name: 'content' })
content: string;
@Column('integer', { name: 'level', nullable: true })
......
import {Column, Entity, PrimaryColumn} from 'typeorm';
import { Column, Entity, PrimaryColumn } from 'typeorm';
@Entity('rating_index', { schema: 'public' })
export class RatingIndex {
......
import { Column, Entity } from 'typeorm';
@Entity('rating_index_backup', { schema: 'public' })
export class RatingIndexBackup {
@Column('character varying', { name: 'username', nullable: true, length: 50 })
username: string;
@Column('integer', { name: 'exp', nullable: true })
exp: number;
@Column('character varying', { name: 'o', nullable: true, length: 6 })
o: string;
@Column('character varying', { name: 'u', nullable: true, length: 6 })
u: string;
@Column('double precision', { name: 'pt', nullable: true, precision: 53 })
pt: number;
@Column('character varying', { name: 'game', nullable: true, length: 6 })
game: string;
@Column('character varying', { name: 'win', nullable: true, length: 6 })
win: string;
@Column('character varying', { name: 'lose', nullable: true, length: 6 })
lose: string;
@Column('character varying', { name: 'last', nullable: true, length: 6 })
last: string;
@Column('character varying', { name: 'status', nullable: true, length: 6 })
status: string;
}
import { Column, Entity } from 'typeorm';
import { Column, Entity, PrimaryColumn } from 'typeorm';
@Entity('user_ban_history', { schema: 'public' })
export class UserBanHistory {
......@@ -14,7 +14,7 @@ export class UserBanHistory {
@Column('timestamp without time zone', { name: 'from', nullable: true })
from: Date;
@Column('integer', { name: 'id', nullable: true })
@PrimaryColumn('integer', { name: 'id' })
id: number;
@Column('character varying', { name: 'reason', nullable: true })
......
import { Column, Entity, Index } from 'typeorm';
import { Column, Entity, Index, PrimaryColumn } from 'typeorm';
@Index('user_historical_record_pk', ['season', 'username'], { unique: true })
@Entity('user_historical_record', { schema: 'public' })
export class UserHistoricalRecord {
@Column('character varying', { primary: true, name: 'username' })
@PrimaryColumn('character varying', { primary: true, name: 'username' })
username: string;
@Column('character varying', { primary: true, name: 'season' })
......
import { Column, Entity } from 'typeorm';
@Entity('userinfo15backup', { schema: 'public' })
export class Userinfo15backup {
@Column('character varying', {
name: 'username',
nullable: true,
length: 100,
})
username: string;
@Column('double precision', { name: 'exp', nullable: true, precision: 53 })
exp: number;
@Column('double precision', { name: 'pt', nullable: true, precision: 53 })
pt: number;
@Column('integer', { name: 'entertain_win', nullable: true })
entertainWin: number;
@Column('integer', { name: 'entertain_lose', nullable: true })
entertainLose: number;
@Column('integer', { name: 'entertain_draw', nullable: true })
entertainDraw: number;
@Column('integer', { name: 'entertain_all', nullable: true })
entertainAll: number;
@Column('integer', { name: 'athletic_win', nullable: true })
athleticWin: number;
@Column('integer', { name: 'athletic_lose', nullable: true })
athleticLose: number;
@Column('integer', { name: 'athletic_draw', nullable: true })
athleticDraw: number;
@Column('integer', { name: 'athletic_all', nullable: true })
athleticAll: number;
@Column('integer', { name: 'id', nullable: true })
id: number;
}
import { Column, Entity } from 'typeorm';
@Entity('userinfo201812backup', { schema: 'public' })
export class Userinfo201812backup {
@Column('character varying', {
name: 'username',
nullable: true,
length: 100,
})
username: string;
@Column('double precision', { name: 'exp', nullable: true, precision: 53 })
exp: number;
@Column('double precision', { name: 'pt', nullable: true, precision: 53 })
pt: number;
@Column('integer', { name: 'entertain_win', nullable: true })
entertainWin: number;
@Column('integer', { name: 'entertain_lose', nullable: true })
entertainLose: number;
@Column('integer', { name: 'entertain_draw', nullable: true })
entertainDraw: number;
@Column('integer', { name: 'entertain_all', nullable: true })
entertainAll: number;
@Column('integer', { name: 'athletic_win', nullable: true })
athleticWin: number;
@Column('integer', { name: 'athletic_lose', nullable: true })
athleticLose: number;
@Column('integer', { name: 'athletic_draw', nullable: true })
athleticDraw: number;
@Column('integer', { name: 'athletic_all', nullable: true })
athleticAll: number;
@Column('integer', { name: 'id', nullable: true })
id: number;
}
import { Column, Entity } from 'typeorm';
@Entity('userinfo201901backup', { schema: 'public' })
export class Userinfo201901backup {
@Column('character varying', {
name: 'username',
nullable: true,
length: 100,
})
username: string;
@Column('double precision', { name: 'exp', nullable: true, precision: 53 })
exp: number;
@Column('double precision', { name: 'pt', nullable: true, precision: 53 })
pt: number;
@Column('integer', { name: 'entertain_win', nullable: true })
entertainWin: number;
@Column('integer', { name: 'entertain_lose', nullable: true })
entertainLose: number;
@Column('integer', { name: 'entertain_draw', nullable: true })
entertainDraw: number;
@Column('integer', { name: 'entertain_all', nullable: true })
entertainAll: number;
@Column('integer', { name: 'athletic_win', nullable: true })
athleticWin: number;
@Column('integer', { name: 'athletic_lose', nullable: true })
athleticLose: number;
@Column('integer', { name: 'athletic_draw', nullable: true })
athleticDraw: number;
@Column('integer', { name: 'athletic_all', nullable: true })
athleticAll: number;
@Column('integer', { name: 'id', nullable: true })
id: number;
}
import { Column, Entity } from 'typeorm';
@Entity('userinfo201902backup', { schema: 'public' })
export class Userinfo201902backup {
@Column('character varying', {
name: 'username',
nullable: true,
length: 100,
})
username: string;
@Column('double precision', { name: 'exp', nullable: true, precision: 53 })
exp: number;
@Column('double precision', { name: 'pt', nullable: true, precision: 53 })
pt: number;
@Column('integer', { name: 'entertain_win', nullable: true })
entertainWin: number;
@Column('integer', { name: 'entertain_lose', nullable: true })
entertainLose: number;
@Column('integer', { name: 'entertain_draw', nullable: true })
entertainDraw: number;
@Column('integer', { name: 'entertain_all', nullable: true })
entertainAll: number;
@Column('integer', { name: 'athletic_win', nullable: true })
athleticWin: number;
@Column('integer', { name: 'athletic_lose', nullable: true })
athleticLose: number;
@Column('integer', { name: 'athletic_draw', nullable: true })
athleticDraw: number;
@Column('integer', { name: 'athletic_all', nullable: true })
athleticAll: number;
@Column('integer', { name: 'id', nullable: true })
id: number;
}
......@@ -2,7 +2,7 @@ import { Column, Entity } from 'typeorm';
@Entity('datas')
export class YGOProDatabaseDatas {
@Column('integer', { primary: true, name: 'id', nullable: true })
@Column('integer', { primary: true, name: 'id' })
id: number | null;
@Column('integer', { name: 'ot', nullable: true })
......
......@@ -2,8 +2,8 @@ import { Column, Entity } from 'typeorm';
@Entity('texts')
export class YGOProDatabaseTexts {
@Column('integer', { primary: true, name: 'id', nullable: true })
id: number | null;
@Column('integer', { primary: true, name: 'id' })
id: number;
@Column('text', { name: 'name', nullable: true })
name: string | null;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment