update
This commit is contained in:
+201
@@ -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
|
||||
File diff suppressed because one or more lines are too long
+261
@@ -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
@@ -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
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"db.js","sourceRoot":"","sources":["db.ts"],"names":[],"mappings":"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"}
|
||||
+112
@@ -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
@@ -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
|
||||
@@ -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
@@ -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()
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"_from": "base",
|
||||
"_location": "/base"
|
||||
}
|
||||
Reference in New Issue
Block a user