evogram-gramjs 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.evogram/7878190870/database.db +0 -0
- package/lib/EvogramGramJS.d.ts +51 -0
- package/lib/EvogramGramJS.js +99 -0
- package/lib/commands/Accounts.command.d.ts +6 -0
- package/lib/commands/Accounts.command.js +90 -0
- package/lib/commands/AddAccount.command.d.ts +6 -0
- package/lib/commands/AddAccount.command.js +170 -0
- package/lib/commands/index.d.ts +0 -0
- package/lib/commands/index.js +1 -0
- package/lib/commands/managment/DeleteAccount.command.d.ts +0 -0
- package/lib/commands/managment/DeleteAccount.command.js +12 -0
- package/lib/config/database.config.d.ts +26 -0
- package/lib/config/database.config.js +31 -0
- package/lib/entities/Session.entity.d.ts +28 -0
- package/lib/entities/Session.entity.js +71 -0
- package/lib/entities/SessionEventLog.entity.d.ts +22 -0
- package/lib/entities/SessionEventLog.entity.js +50 -0
- package/lib/examples/auth.example.d.ts +10 -0
- package/lib/examples/auth.example.js +126 -0
- package/lib/examples/database.example.d.ts +13 -0
- package/lib/examples/database.example.js +109 -0
- package/lib/examples/usage.example.d.ts +13 -0
- package/lib/examples/usage.example.js +127 -0
- package/lib/index.d.ts +7 -0
- package/lib/index.js +10 -0
- package/lib/services/DatabaseService.d.ts +30 -0
- package/lib/services/DatabaseService.js +93 -0
- package/lib/services/ImageUploadService.d.ts +15 -0
- package/lib/services/ImageUploadService.js +56 -0
- package/lib/sessions/Session.d.ts +13 -0
- package/lib/sessions/Session.js +25 -0
- package/lib/sessions/SessionAuth.d.ts +62 -0
- package/lib/sessions/SessionAuth.js +165 -0
- package/lib/sessions/SessionLogger.d.ts +84 -0
- package/lib/sessions/SessionLogger.js +196 -0
- package/lib/sessions/SessionManager.d.ts +79 -0
- package/lib/sessions/SessionManager.js +184 -0
- package/lib/types/auth.types.d.ts +90 -0
- package/lib/types/auth.types.js +19 -0
- package/lib/types/session.types.d.ts +87 -0
- package/lib/types/session.types.js +21 -0
- package/lib/utils/Deferrer.d.ts +6 -0
- package/lib/utils/Deferrer.js +14 -0
- package/package-lock.json +6 -0
- package/package.json +27 -0
- package/src/EvogramGramJS.ts +98 -0
- package/src/commands/Accounts.command.ts +84 -0
- package/src/commands/AddAccount.command.ts +171 -0
- package/src/commands/index.ts +0 -0
- package/src/commands/managment/DeleteAccount.command.ts +13 -0
- package/src/config/database.config.ts +75 -0
- package/src/entities/Session.entity.ts +58 -0
- package/src/entities/SessionEventLog.entity.ts +41 -0
- package/src/index.ts +7 -0
- package/src/services/DatabaseService.ts +82 -0
- package/src/services/ImageUploadService.ts +49 -0
- package/src/sessions/Session.ts +21 -0
- package/src/sessions/SessionAuth.ts +173 -0
- package/src/sessions/SessionLogger.ts +208 -0
- package/src/sessions/SessionManager.ts +190 -0
- package/src/types/auth.types.ts +94 -0
- package/src/types/session.types.ts +96 -0
- package/src/utils/Deferrer.ts +12 -0
- package/tsconfig.json +17 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { Session } from '../sessions/Session'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Конфигурация для создания новой сессии
|
|
5
|
+
*/
|
|
6
|
+
export interface SessionConfig {
|
|
7
|
+
/** Уникальный идентификатор сессии */
|
|
8
|
+
sessionId: string
|
|
9
|
+
/** API ID из Telegram */
|
|
10
|
+
apiId?: number
|
|
11
|
+
/** API Hash из Telegram */
|
|
12
|
+
apiHash?: string
|
|
13
|
+
/** Строка сессии (если уже существует) */
|
|
14
|
+
sessionString?: string
|
|
15
|
+
/** Дополнительные опции для клиента */
|
|
16
|
+
clientOptions?: {
|
|
17
|
+
/** Использовать IPv6 */
|
|
18
|
+
useIPV6?: boolean
|
|
19
|
+
/** Таймаут подключения */
|
|
20
|
+
connectionRetries?: number
|
|
21
|
+
/** Максимальное количество попыток переподключения */
|
|
22
|
+
maxRetries?: number
|
|
23
|
+
}
|
|
24
|
+
/** Настройки логирования */
|
|
25
|
+
logging?: {
|
|
26
|
+
/** Включить логирование (по умолчанию true) */
|
|
27
|
+
enabled?: boolean
|
|
28
|
+
/** Директория для хранения логов (по умолчанию './logs') */
|
|
29
|
+
logsDirectory?: string
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Информация о сессии
|
|
35
|
+
* Использует класс Session для представления сессии
|
|
36
|
+
*/
|
|
37
|
+
export type SessionInfo = Session
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* События, которые может генерировать менеджер сессий
|
|
41
|
+
*/
|
|
42
|
+
export enum SessionEvent {
|
|
43
|
+
/** Сессия была добавлена */
|
|
44
|
+
SESSION_ADDED = 'session:added',
|
|
45
|
+
/** Сессия была удалена */
|
|
46
|
+
SESSION_REMOVED = 'session:removed',
|
|
47
|
+
/** Сессия подключилась */
|
|
48
|
+
SESSION_CONNECTED = 'session:connected',
|
|
49
|
+
/** Сессия отключилась */
|
|
50
|
+
SESSION_DISCONNECTED = 'session:disconnected',
|
|
51
|
+
/** Произошла ошибка в сессии */
|
|
52
|
+
SESSION_ERROR = 'session:error',
|
|
53
|
+
|
|
54
|
+
/** Сессия стала недействительной */
|
|
55
|
+
SESSION_INVALID = 'session:invalid',
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Данные события добавления/удаления сессии
|
|
60
|
+
*/
|
|
61
|
+
export interface SessionEventData {
|
|
62
|
+
sessionId: string
|
|
63
|
+
sessionInfo?: Session
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Данные события подключения/отключения
|
|
68
|
+
*/
|
|
69
|
+
export interface SessionConnectionEventData {
|
|
70
|
+
sessionId: string
|
|
71
|
+
isConnected: boolean
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Данные события ошибки
|
|
76
|
+
*/
|
|
77
|
+
export interface SessionErrorEventData {
|
|
78
|
+
sessionId: string
|
|
79
|
+
error: Error
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Данные события удаления сессии
|
|
84
|
+
*/
|
|
85
|
+
export interface SessionRemovedEventData {
|
|
86
|
+
sessionId: string
|
|
87
|
+
error: Error
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Данные события недействительности сессии
|
|
92
|
+
*/
|
|
93
|
+
export interface SessionInvalidEventData {
|
|
94
|
+
sessionId: string
|
|
95
|
+
error: Error
|
|
96
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export class Deferred<T> {
|
|
2
|
+
public promise: Promise<T>
|
|
3
|
+
public resolve: (value: T | PromiseLike<T>) => void = () => {}
|
|
4
|
+
public reject: (reason?: any) => void = () => {}
|
|
5
|
+
|
|
6
|
+
constructor() {
|
|
7
|
+
this.promise = new Promise<T>((resolve, reject) => {
|
|
8
|
+
this.resolve = resolve
|
|
9
|
+
this.reject = reject
|
|
10
|
+
})
|
|
11
|
+
}
|
|
12
|
+
}
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "es2016",
|
|
4
|
+
"module": "CommonJS",
|
|
5
|
+
"rootDir": "./src",
|
|
6
|
+
"outDir": "./lib",
|
|
7
|
+
"esModuleInterop": true,
|
|
8
|
+
"forceConsistentCasingInFileNames": true,
|
|
9
|
+
"strict": true,
|
|
10
|
+
"declaration": true,
|
|
11
|
+
"experimentalDecorators": true,
|
|
12
|
+
"emitDecoratorMetadata": true,
|
|
13
|
+
"importHelpers": true,
|
|
14
|
+
"skipLibCheck": true,
|
|
15
|
+
"resolveJsonModule": true
|
|
16
|
+
}
|
|
17
|
+
}
|