This commit is contained in:
2021-03-04 03:33:54 +03:00
parent 368382f63c
commit 5ac17d713f
67 changed files with 1824 additions and 119 deletions
+201
View File
@@ -0,0 +1,201 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const si = require("systeminformation");
exports.IS_DEBUG = true;
exports.CREATOR_ID = 0;
exports.startTime = 0;
exports.systemSpecsText = '';
exports.testAnswer = true;
exports.checkMom = true;
exports.checkDad = true;
exports.biteDick = true;
exports.messagesReceived = 0;
exports.messagesSent = 0;
exports.testAnswers = [];
function upReceivedMessages() {
exports.messagesReceived++;
}
exports.upReceivedMessages = upReceivedMessages;
function upSentMessages() {
exports.messagesSent++;
}
exports.upSentMessages = upSentMessages;
function setTestAnswers(answers) {
this.testAnswers = answers;
}
exports.setTestAnswers = setTestAnswers;
function setStartTime(startTime) {
this.startTime = startTime;
}
exports.setStartTime = setStartTime;
function initSystemSpecs() {
let text = '';
si.osInfo().then(async (os) => {
text += `OS: ${os.distro}\n`;
si.cpu().then(async (cpu) => {
text += `CPU: ${cpu.manufacturer} ${cpu.brand} ${cpu.physicalCores} cores ${cpu.cores} threads\n`;
si.mem().then(async (memory) => {
const totalRam = Math.round(memory.total / Math.pow(2, 30));
text += `RAM: ${totalRam} GB\n`;
exports.systemSpecsText = text;
});
});
});
}
exports.initSystemSpecs = initSystemSpecs;
class Chat {
}
exports.Chat = Chat;
class From {
}
exports.From = From;
class Message {
}
exports.Message = Message;
class MessageContext {
hasInvitedMembers() {
return !!this.message.new_chat_members;
}
hasLeftMembers() {
return !!this.message.left_chat_member;
}
isChat() {
return this.message.chat.type !== 'private';
}
getFullSenderTitle() {
return this.message.from.firstName + (this.message.from.lastName ? ' ' + this.message.from.lastName : '');
}
getFullChatTitle() {
return this.message.chat.firstName + (this.message.chat.lastName ? ' ' + this.message.chat.lastName : '');
}
hasRepliedMessage() {
return !!this.message.reply_to_message;
}
}
exports.MessageContext = MessageContext;
function prepareMessageContext(rawMessage) {
if (!rawMessage)
return null;
const context = new MessageContext();
context.message = this.prepareMessage(rawMessage);
context.senderId = context.message.from.id;
context.chatId = context.message.chat.id;
context.invitedMembers = context.message.new_chat_members;
context.leftMember = context.message.left_chat_member;
context.reply = rawMessage.reply;
if (context.message.reply_to_message !== null)
context.repliedMessage = this.prepareMessageContext(rawMessage.reply_to_message);
context.text = context.message.body;
return context;
}
exports.prepareMessageContext = prepareMessageContext;
function prepareMessage(rawMessage) {
if (!rawMessage)
return null;
const message = new Message();
message.id = rawMessage.message_id;
message.date = rawMessage.date;
message.body = rawMessage.text;
message.new_chat_members = rawMessage.new_chat_members;
message.left_chat_member = rawMessage.left_chat_member;
const from = new From();
from.id = rawMessage.from.id;
from.isBot = rawMessage.from.is_bot;
from.firstName = rawMessage.from.first_name;
from.lastName = rawMessage.from.last_name;
from.username = rawMessage.from.username;
message.from = from;
const chat = new Chat();
chat.id = rawMessage.chat.id;
chat.firstName = rawMessage.chat.first_name;
chat.lastName = rawMessage.chat.last_name;
chat.username = rawMessage.chat.username;
chat.type = rawMessage.chat.type;
message.chat = chat;
if (rawMessage.reply_to_message)
message.reply_to_message = this.prepareMessage(rawMessage.reply_to_message);
return message;
}
exports.prepareMessage = prepareMessage;
function includes(array, object) {
return array.indexOf(object) > -1;
}
exports.includes = includes;
function getRandomInt(max) {
return Math.floor(Math.random() * Math.floor(max));
}
exports.getRandomInt = getRandomInt;
function arrayRemove(arr, value) {
return arr.filter(function (ele) {
return ele != value;
});
}
exports.arrayRemove = arrayRemove;
function deepEqual(object1, object2) {
if ((object1 == null || object2 == null) && object1 != object2)
return false;
const keys1 = Object.keys(object1);
const keys2 = Object.keys(object2);
if (keys1.length !== keys2.length) {
return false;
}
for (const key of keys1) {
const val1 = object1[key];
const val2 = object2[key];
const areObjects = isObject(val1) && isObject(val2);
if (areObjects && !deepEqual(val1, val2) ||
!areObjects && val1 !== val2) {
return false;
}
}
return true;
}
exports.deepEqual = deepEqual;
function isObject(object) {
return object != null && typeof object === 'object';
}
exports.isObject = isObject;
function getUptime() {
const processSeconds = Math.ceil(process.uptime());
let minutes = 0;
let hours = 0;
let days = 0;
let i = 0;
let seconds = 0;
while (i < processSeconds) {
i++;
seconds++;
if (seconds == 60) {
minutes++;
seconds = 0;
}
if (minutes == 60) {
hours++;
minutes = 0;
}
if (hours == 24) {
days++;
hours = 0;
}
}
let text = '';
if (days > 0)
text += `${days} д. `;
if (hours > 0)
text += `${hours} ч. `;
if (minutes > 0)
text += `${minutes} м. `;
if (seconds > 0)
text += `${seconds} с. `;
return text;
}
exports.getUptime = getUptime;
function getExceptionText(e) {
return `Произошел троллинг
* Error : ${e.name}
* Message : ${e.message}
* StackTrace :
${e.stack}`;
}
exports.getExceptionText = getExceptionText;
//# sourceMappingURL=base.js.map
+1
View File
File diff suppressed because one or more lines are too long
+261
View File
@@ -0,0 +1,261 @@
import * as si from 'systeminformation'
export const IS_DEBUG: boolean = true
export const CREATOR_ID: number = 0
export let startTime: number = 0
export let systemSpecsText: string = ''
export let testAnswer: boolean = true
export let checkMom: boolean = true
export let checkDad: boolean = true
export let biteDick: boolean = true
export let messagesReceived = 0
export let messagesSent = 0
export let testAnswers: string[] = []
export function upReceivedMessages() {
messagesReceived++
}
export function upSentMessages() {
messagesSent++
}
export function setTestAnswers(answers: string[]) {
this.testAnswers = answers
}
export function setStartTime(startTime: number) {
this.startTime = startTime
}
export function initSystemSpecs() {
let text = ''
si.osInfo().then(async (os) => {
text += `OS: ${os.distro}\n`
si.cpu().then(async (cpu) => {
text += `CPU: ${cpu.manufacturer} ${cpu.brand} ${cpu.physicalCores} cores ${cpu.cores} threads\n`
si.mem().then(async (memory) => {
const totalRam = Math.round(memory.total / Math.pow(2, 30))
text += `RAM: ${totalRam} GB\n`
systemSpecsText = text
})
})
})
}
export class Chat {
id: number
firstName: string
lastName?: string
username?: string
type: string
}
export class From {
id: number
isBot: boolean
firstName: string
lastName?: string
username?: string
}
export class Message {
id: number
from: From
chat: Chat
date: number
reply_to_message?: Message
body: string
new_chat_members?: From[]
left_chat_member?: From
}
export class MessageContext {
message: Message
reply: any
senderId: number
chatId: number
repliedMessage?: MessageContext
text: string
invitedMembers?: From[]
leftMember?: From
hasInvitedMembers(): boolean {
return !!this.message.new_chat_members
}
hasLeftMembers(): boolean {
return !!this.message.left_chat_member
}
isChat(): boolean {
return this.message.chat.type !== 'private'
}
getFullSenderTitle(): string {
return this.message.from.firstName + (this.message.from.lastName ? ' ' + this.message.from.lastName : '')
}
getFullChatTitle(): string {
return this.message.chat.firstName + (this.message.chat.lastName ? ' ' + this.message.chat.lastName : '')
}
hasRepliedMessage(): boolean {
return !!this.message.reply_to_message
}
}
export function prepareMessageContext(rawMessage: any): MessageContext {
if (!rawMessage) return null
const context = new MessageContext()
context.message = this.prepareMessage(rawMessage)
context.senderId = context.message.from.id
context.chatId = context.message.chat.id
context.invitedMembers = context.message.new_chat_members
context.leftMember = context.message.left_chat_member
context.reply = rawMessage.reply
if (context.message.reply_to_message !== null)
context.repliedMessage = this.prepareMessageContext(rawMessage.reply_to_message)
context.text = context.message.body
return context
}
export function prepareMessage(rawMessage: any) {
if (!rawMessage) return null
const message = new Message()
message.id = rawMessage.message_id
message.date = rawMessage.date
message.body = rawMessage.text
message.new_chat_members = rawMessage.new_chat_members
message.left_chat_member = rawMessage.left_chat_member
const from = new From()
from.id = rawMessage.from.id
from.isBot = rawMessage.from.is_bot
from.firstName = rawMessage.from.first_name
from.lastName = rawMessage.from.last_name
from.username = rawMessage.from.username
message.from = from
const chat = new Chat()
chat.id = rawMessage.chat.id
chat.firstName = rawMessage.chat.first_name
chat.lastName = rawMessage.chat.last_name
chat.username = rawMessage.chat.username
chat.type = rawMessage.chat.type
message.chat = chat
if (rawMessage.reply_to_message) message.reply_to_message = this.prepareMessage(rawMessage.reply_to_message)
return message
}
export function includes(array: any[], object: any) {
return array.indexOf(object) > -1
}
export function getRandomInt(max: number) {
return Math.floor(Math.random() * Math.floor(max));
}
export function arrayRemove(arr: any[], value: any) {
return arr.filter(function (ele: any) {
return ele != value;
});
}
export function deepEqual(object1: { [x: string]: any }, object2: { [x: string]: any; year?: number; month?: number; day?: number }) {
if ((object1 == null || object2 == null) && object1 != object2) return false
const keys1 = Object.keys(object1);
const keys2 = Object.keys(object2);
if (keys1.length !== keys2.length) {
return false;
}
for (const key of keys1) {
const val1 = object1[key];
const val2 = object2[key];
const areObjects = isObject(val1) && isObject(val2);
if (
areObjects && !deepEqual(val1, val2) ||
!areObjects && val1 !== val2
) {
return false;
}
}
return true;
}
export function isObject(object: any) {
return object != null && typeof object === 'object';
}
export function getUptime() {
const processSeconds = Math.ceil(process.uptime())
let minutes = 0
let hours = 0
let days = 0
let i = 0
let seconds = 0
while (i < processSeconds) {
i++
seconds++
if (seconds == 60) {
minutes++
seconds = 0
}
if (minutes == 60) {
hours++
minutes = 0
}
if (hours == 24) {
days++
hours = 0
}
}
let text = ''
if (days > 0) text += `${days} д. `
if (hours > 0) text += `${hours} ч. `
if (minutes > 0) text += `${minutes} м. `
if (seconds > 0) text += `${seconds} с. `
return text
}
export function getExceptionText(e: Error) {
return `Произошел троллинг
* Error : ${e.name}
* Message : ${e.message}
* StackTrace :
${e.stack}`
}
+105
View File
@@ -0,0 +1,105 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const fs = require("fs");
const base_1 = require("./base");
exports.adminsList = [];
exports.chatsList = [];
exports.usersList = [];
exports.notesList = [];
exports.mutedList = [];
let jsonFile;
function setAdmins(admins) {
exports.adminsList = admins;
}
exports.setAdmins = setAdmins;
function setChats(chats) {
exports.chatsList = chats;
}
exports.setChats = setChats;
function setUsers(users) {
exports.usersList = users;
}
exports.setUsers = setUsers;
function setNotes(notes) {
exports.notesList = notes;
}
exports.setNotes = setNotes;
function setMuted(newMuted) {
exports.mutedList = newMuted;
}
exports.setMuted = setMuted;
function addMute(id) {
const index = searchMuted(id);
if (index >= 0)
return false;
exports.mutedList.push(id);
saveData();
return true;
}
exports.addMute = addMute;
function removeMute(id) {
const index = searchMuted(id);
if (index >= 0) {
setMuted(base_1.arrayRemove(exports.mutedList, exports.mutedList[index]));
saveData();
return true;
}
return false;
}
exports.removeMute = removeMute;
function searchMuted(id) {
for (let i = 0; i < exports.mutedList.length; i++) {
if (exports.mutedList[i] == id)
return i;
}
return -1;
}
exports.searchMuted = searchMuted;
function readData() {
try {
// @ts-ignore
jsonFile = JSON.parse(fs.readFileSync(base_1.IS_DEBUG ? 'debug_data.json' : 'data.json'));
exports.adminsList = jsonFile.admins;
exports.chatsList = jsonFile.chats;
exports.usersList = jsonFile.users;
exports.notesList = jsonFile.notes;
exports.mutedList = jsonFile.muted;
return 'success';
}
catch (e) {
console.error(e);
return e.toString();
}
}
exports.readData = readData;
function saveData() {
jsonFile.admins = exports.adminsList;
jsonFile.chats = exports.chatsList;
jsonFile.users = exports.usersList;
jsonFile.notes = exports.notesList;
jsonFile.muted = exports.mutedList;
fs.writeFileSync(base_1.IS_DEBUG ? 'debug_data.json' : 'data.json', JSON.stringify(jsonFile));
readData();
return 'success';
}
exports.saveData = saveData;
function retrieveAnswers() {
try {
// @ts-ignore
const json = JSON.parse(fs.readFileSync('answers.json'));
base_1.setTestAnswers(json.test);
return 'success';
}
catch (e) {
console.error(e);
return e.toString();
}
// fetch(answersUrl, {method: "Get"})
// .then(r => {
// const json = r.json()
// testAnswers = json.test
// console.log('success retrieved answers')
// })
}
exports.retrieveAnswers = retrieveAnswers;
//# sourceMappingURL=db.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"db.js","sourceRoot":"","sources":["db.ts"],"names":[],"mappings":"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"}
+112
View File
@@ -0,0 +1,112 @@
import * as fs from "fs";
import {arrayRemove, IS_DEBUG, setTestAnswers} from "./base";
export let adminsList: number[] = []
export let chatsList = []
export let usersList = []
export let notesList = []
export let mutedList: number[] = []
let jsonFile
export function setAdmins(admins: number[]) {
adminsList = admins
}
export function setChats(chats: any[]) {
chatsList = chats
}
export function setUsers(users: any[]) {
usersList = users
}
export function setNotes(notes: any[]) {
notesList = notes
}
export function setMuted(newMuted: number[]) {
mutedList = newMuted
}
export function addMute(id: number) {
const index = searchMuted(id)
if (index >= 0) return false
mutedList.push(id)
saveData()
return true
}
export function removeMute(id: number) {
const index = searchMuted(id)
if (index >= 0) {
setMuted(arrayRemove(mutedList, mutedList[index]))
saveData()
return true
}
return false
}
export function searchMuted(id: number) {
for (let i = 0; i < mutedList.length; i++) {
if (mutedList[i] == id) return i
}
return -1
}
export function readData() {
try {
// @ts-ignore
jsonFile = JSON.parse(fs.readFileSync(IS_DEBUG ? 'debug_data.json' : 'data.json'))
adminsList = jsonFile.admins
chatsList = jsonFile.chats
usersList = jsonFile.users
notesList = jsonFile.notes
mutedList = jsonFile.muted
return 'success'
} catch (e) {
console.error(e)
return e.toString()
}
}
export function saveData() {
jsonFile.admins = adminsList
jsonFile.chats = chatsList
jsonFile.users = usersList
jsonFile.notes = notesList
jsonFile.muted = mutedList
fs.writeFileSync(IS_DEBUG ? 'debug_data.json' : 'data.json', JSON.stringify(jsonFile))
readData()
return 'success'
}
export function retrieveAnswers() {
try {
// @ts-ignore
const json = JSON.parse(fs.readFileSync('answers.json'))
setTestAnswers(json.test)
return 'success'
} catch (e) {
console.error(e)
return e.toString()
}
// fetch(answersUrl, {method: "Get"})
// .then(r => {
// const json = r.json()
// testAnswers = json.test
// console.log('success retrieved answers')
// })
}
+26
View File
@@ -0,0 +1,26 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const TeleBot = require("telebot");
const base_1 = require("./base");
const commands_1 = require("../commands/base/commands");
exports.bot = new TeleBot('1640683270:AAFc4yIbeF_ofkcPtD8U9ReRXZ754rlxYrw');
function startBot() {
exports.bot.on('*', async (rawMessage) => {
base_1.upReceivedMessages();
console.log(rawMessage);
const context = base_1.prepareMessageContext(rawMessage);
if (context.hasInvitedMembers()) {
return;
}
await commands_1.parseCommands(context);
});
exports.bot.start();
}
exports.startBot = startBot;
async function sendMessage(context, text) {
return await exports.bot.sendMessage(context.chatId, text).then(() => {
base_1.upSentMessages();
});
}
exports.sendMessage = sendMessage;
//# sourceMappingURL=net.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"net.js","sourceRoot":"","sources":["net.ts"],"names":[],"mappings":";;AAAA,mCAAkC;AAClC,iCAAiG;AACjG,wDAAwD;AAE3C,QAAA,GAAG,GAAG,IAAI,OAAO,CAAC,gDAAgD,CAAC,CAAA;AAEhF,SAAgB,QAAQ;IACpB,WAAG,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,UAAe,EAAE,EAAE;QAClC,yBAAkB,EAAE,CAAA;QAEpB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAEvB,MAAM,OAAO,GAAG,4BAAqB,CAAC,UAAU,CAAC,CAAA;QAEjD,IAAI,OAAO,CAAC,iBAAiB,EAAE,EAAE;YAE7B,OAAM;SACT;QAED,MAAM,wBAAa,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC,CAAC,CAAA;IAEF,WAAG,CAAC,KAAK,EAAE,CAAA;AACf,CAAC;AAjBD,4BAiBC;AAEM,KAAK,UAAU,WAAW,CAAC,OAAuB,EAAE,IAAY;IACnE,OAAO,MAAM,WAAG,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;QACzD,qBAAc,EAAE,CAAA;IACpB,CAAC,CAAC,CAAA;AACN,CAAC;AAJD,kCAIC"}
+30
View File
@@ -0,0 +1,30 @@
import * as TeleBot from 'telebot'
import {MessageContext, prepareMessageContext, upReceivedMessages, upSentMessages} from "./base";
import {parseCommands} from "../commands/base/commands";
export const bot = new TeleBot('1640683270:AAFc4yIbeF_ofkcPtD8U9ReRXZ754rlxYrw')
export function startBot() {
bot.on('*', async (rawMessage: any) => {
upReceivedMessages()
console.log(rawMessage)
const context = prepareMessageContext(rawMessage)
if (context.hasInvitedMembers()) {
return
}
await parseCommands(context)
})
bot.start()
}
export async function sendMessage(context: MessageContext, text: string): Promise<any> {
return await bot.sendMessage(context.chatId, text).then(() => {
upSentMessages()
})
}
+4
View File
@@ -0,0 +1,4 @@
{
"_from": "base",
"_location": "/base"
}