Reooiq commited on
Commit
7cefe78
·
verified ·
1 Parent(s): 56430ff

Update bot.py

Browse files
Files changed (1) hide show
  1. bot.py +311 -288
bot.py CHANGED
@@ -1,289 +1,312 @@
1
- ===== Application Startup at 2026-08-29 22:32:06 =====
 
 
 
 
 
 
 
 
 
2
 
3
- 2026-08-29 22:32:24,165 - INFO - HTTP Request: GET https://huggingface.co/api/agent-harnesses "HTTP/1.1 200 OK"
4
- 2026-08-29 22:32:24,176 - INFO - HTTP Request: HEAD https://huggingface.co/api/telemetry/https%3A/api.gradio.app/gradio-initiated-analytics "HTTP/1.1 200 OK"
5
- 2026-08-29 22:32:24,550 - INFO - HTTP Request: GET https://api.gradio.app/pkg-version "HTTP/1.1 200 OK"
6
- 2026-08-29 22:32:24,641 - INFO - HTTP Request: GET http://localhost:7860/gradio_api/startup-events "HTTP/1.1 200 OK"
7
- 2026-08-29 22:32:24,664 - INFO - HTTP Request: HEAD http://localhost:7860/ "HTTP/1.1 200 OK"
8
- 2026-08-29 22:32:24,669 - INFO - HTTP Request: HEAD https://huggingface.co/api/telemetry/https%3A/api.gradio.app/gradio-launched-telemetry "HTTP/1.1 200 OK"
9
- 2026-08-29 22:32:24,907 - INFO - Connecting...
10
- 2026-08-29 22:32:24,930 - INFO - Connected! Production DC1 - IPv4
11
- 2026-08-29 22:32:24,930 - INFO - NetworkTask started
12
- 2026-08-29 22:32:25,076 - INFO - Session initialized: Layer 158
13
- 2026-08-29 22:32:25,076 - INFO - Device: Samsung Galaxy S23 Ultra - 10.14.1
14
- 2026-08-29 22:32:25,077 - INFO - System: Android 14 (ar)
15
- 2026-08-29 22:32:25,077 - INFO - Session started
16
- 2026-08-29 22:32:25,079 - INFO - PingTask started
17
- 2026-08-29 22:32:25,148 - INFO - Started 20 HandlerTasks
18
- 2026-08-29 22:32:25,263 - INFO - 🎯 تم التحقق من القناة: دکتۆر | id: -1004307601544
19
- 2026-08-29 22:32:25,263 - INFO - ==================================================
20
- 2026-08-29 22:32:25,263 - INFO - 🚀 البوت يعمل!
21
- 2026-08-29 22:32:25,263 - INFO - 👤 الحساب: Azoz (@dxeraxm)
22
- 2026-08-29 22:32:25,263 - INFO - 🎯 القناة الهدف: -1004307601544
23
- 2026-08-29 22:32:25,263 - INFO - 📡 المصدر: الكل (قنوات + مجموعات + خاص)
24
- 2026-08-29 22:32:25,263 - INFO - ==================================================
25
- 2026-08-29 22:32:44,923 - INFO - 📥 جديد من -5506135384 | مصدر | نوع: ChatType.GROUP | رسالة 86 | نوع: MessageMediaType.PHOTO
26
- 2026-08-29 22:32:44,923 - INFO - 📥 جديد من -5506135384 | مصدر | نوع: ChatType.GROUP | رسالة 87 | نوع: MessageMediaType.PHOTO
27
- 2026-08-29 22:32:49,926 - INFO - 📦 ألبوم 14304342119102233 يحتوي على 2 ملفات
28
- 2026-08-29 22:32:49,930 - INFO - Connecting...
29
- 2026-08-29 22:32:49,953 - INFO - Connected! Production DC1 (media) - IPv4
30
- 2026-08-29 22:32:49,953 - INFO - NetworkTask started
31
- 2026-08-29 22:32:50,093 - INFO - Session initialized: Layer 158
32
- 2026-08-29 22:32:50,093 - INFO - Device: Samsung Galaxy S23 Ultra - 10.14.1
33
- 2026-08-29 22:32:50,093 - INFO - System: Android 14 (ar)
34
- 2026-08-29 22:32:50,093 - INFO - Session started
35
- 2026-08-29 22:32:50,093 - INFO - PingTask started
36
- 2026-08-29 22:32:50,200 - INFO - PingTask stopped
37
- 2026-08-29 22:32:50,200 - INFO - Disconnected
38
- 2026-08-29 22:32:50,201 - INFO - NetworkTask stopped
39
- 2026-08-29 22:32:50,201 - INFO - Session stopped
40
- 2026-08-29 22:32:50,201 - INFO - ⬇️ تم التنزيل: 86 -> -5506135384_86.jpg
41
- 2026-08-29 22:32:50,203 - INFO - Connecting...
42
- 2026-08-29 22:32:50,226 - INFO - Connected! Production DC1 (media) - IPv4
43
- 2026-08-29 22:32:50,226 - INFO - NetworkTask started
44
- 2026-08-29 22:32:50,371 - INFO - Session initialized: Layer 158
45
- 2026-08-29 22:32:50,371 - INFO - Device: Samsung Galaxy S23 Ultra - 10.14.1
46
- 2026-08-29 22:32:50,371 - INFO - System: Android 14 (ar)
47
- 2026-08-29 22:32:50,371 - INFO - Session started
48
- 2026-08-29 22:32:50,372 - INFO - PingTask started
49
- 2026-08-29 22:32:50,467 - INFO - PingTask stopped
50
- 2026-08-29 22:32:50,468 - INFO - Disconnected
51
- 2026-08-29 22:32:50,468 - INFO - NetworkTask stopped
52
- 2026-08-29 22:32:50,468 - INFO - Session stopped
53
- 2026-08-29 22:32:50,468 - INFO - ⬇️ تم التنزيل: 87 -> -5506135384_87.jpg
54
- 2026-08-29 22:32:50,471 - INFO - Connecting...
55
- 2026-08-29 22:32:50,495 - INFO - Connected! Production DC1 (media) - IPv4
56
- 2026-08-29 22:32:50,496 - INFO - NetworkTask started
57
- 2026-08-29 22:32:50,646 - INFO - Session initialized: Layer 158
58
- 2026-08-29 22:32:50,646 - INFO - Device: Samsung Galaxy S23 Ultra - 10.14.1
59
- 2026-08-29 22:32:50,646 - INFO - System: Android 14 (ar)
60
- 2026-08-29 22:32:50,646 - INFO - Session started
61
- 2026-08-29 22:32:50,646 - INFO - PingTask started
62
- 2026-08-29 22:32:50,752 - INFO - PingTask stopped
63
- 2026-08-29 22:32:50,752 - INFO - Disconnected
64
- 2026-08-29 22:32:50,752 - INFO - NetworkTask stopped
65
- 2026-08-29 22:32:50,752 - INFO - Session stopped
66
- 2026-08-29 22:32:50,882 - INFO - Connecting...
67
- 2026-08-29 22:32:50,905 - INFO - Connected! Production DC1 (media) - IPv4
68
- 2026-08-29 22:32:50,905 - INFO - NetworkTask started
69
- 2026-08-29 22:32:51,064 - INFO - Session initialized: Layer 158
70
- 2026-08-29 22:32:51,064 - INFO - Device: Samsung Galaxy S23 Ultra - 10.14.1
71
- 2026-08-29 22:32:51,064 - INFO - System: Android 14 (ar)
72
- 2026-08-29 22:32:51,064 - INFO - Session started
73
- 2026-08-29 22:32:51,065 - INFO - PingTask started
74
- 2026-08-29 22:32:51,163 - INFO - PingTask stopped
75
- 2026-08-29 22:32:51,164 - INFO - Disconnected
76
- 2026-08-29 22:32:51,164 - INFO - NetworkTask stopped
77
- 2026-08-29 22:32:51,164 - INFO - Session stopped
78
- 2026-08-29 22:32:51,382 - INFO - ✅ تم إرسال الألبوم 14304342119102233
79
- 2026-08-29 22:35:50,160 - INFO - 👁️ رسالة من 8482164917 | نوع: ChatType.PRIVATE | اسم: مصدر
80
- 2026-08-29 22:35:50,161 - INFO - 👁️ رسالة من 8482164917 | نوع: ChatType.PRIVATE | اسم: مصدر
81
- 2026-08-29 22:36:13,123 - INFO - 📥 جديد من 8482164917 | مصدر | نوع: ChatType.PRIVATE | رسالة 90 | نوع: MessageMediaType.PHOTO
82
- 2026-08-29 22:36:13,124 - INFO - 📥 جديد من 8482164917 | مصدر | نوع: ChatType.PRIVATE | رسالة 91 | نوع: MessageMediaType.VIDEO
83
- 2026-08-29 22:36:13,124 - INFO - 📥 جديد من 8482164917 | مصدر | نوع: ChatType.PRIVATE | رسالة 92 | نوع: MessageMediaType.VIDEO
84
- 2026-08-29 22:36:13,125 - INFO - 📥 جديد من 8482164917 | مصدر | نوع: ChatType.PRIVATE | رسالة 93 | نوع: MessageMediaType.VIDEO
85
- 2026-08-29 22:36:13,125 - INFO - 📥 جديد من 8482164917 | مصدر | نوع: ChatType.PRIVATE | رسالة 94 | نوع: MessageMediaType.PHOTO
86
- 2026-08-29 22:36:13,126 - INFO - 📥 جديد من 8482164917 | مصدر | نوع: ChatType.PRIVATE | رسالة 95 | نوع: MessageMediaType.VIDEO
87
- 2026-08-29 22:36:13,127 - INFO - 📥 جديد من 8482164917 | مصدر | نوع: ChatType.PRIVATE | رسالة 96 | نوع: MessageMediaType.VIDEO
88
- 2026-08-29 22:36:13,128 - INFO - 📥 جديد من 8482164917 | مصدر | نوع: ChatType.PRIVATE | رسالة 97 | نوع: MessageMediaType.VIDEO
89
- 2026-08-29 22:36:13,128 - INFO - 📥 جديد من 8482164917 | مصدر | نوع: ChatType.PRIVATE | رسالة 98 | نوع: MessageMediaType.PHOTO
90
- 2026-08-29 22:36:13,129 - INFO - 📥 جديد من 8482164917 | مصدر | نوع: ChatType.PRIVATE | رسالة 99 | نوع: MessageMediaType.VIDEO
91
- 2026-08-29 22:36:13,130 - INFO - 📥 جديد من 8482164917 | مصدر | نوع: ChatType.PRIVATE | رسالة 100 | نوع: MessageMediaType.VIDEO
92
- 2026-08-29 22:36:13,130 - INFO - 📥 جديد من 8482164917 | مصدر | نوع: ChatType.PRIVATE | رسالة 101 | نوع: MessageMediaType.VIDEO
93
- 2026-08-29 22:36:13,131 - INFO - 📥 جديد من 8482164917 | مصدر | نوع: ChatType.PRIVATE | رسالة 102 | نوع: MessageMediaType.PHOTO
94
- 2026-08-29 22:36:13,131 - INFO - 📥 جديد من 8482164917 | مصدر | نوع: ChatType.PRIVATE | رسالة 103 | نوع: MessageMediaType.VIDEO
95
- 2026-08-29 22:36:13,132 - INFO - 📥 جديد من 8482164917 | مصدر | نوع: ChatType.PRIVATE | رسالة 104 | نوع: MessageMediaType.VIDEO
96
- 2026-08-29 22:36:13,132 - INFO - 📥 جديد من 8482164917 | مصدر | نوع: ChatType.PRIVATE | رسالة 105 | نوع: MessageMediaType.VIDEO
97
- 2026-08-29 22:36:13,132 - INFO - 📥 جديد من 8482164917 | مصدر | نوع: ChatType.PRIVATE | رسالة 106 | نوع: MessageMediaType.PHOTO
98
- 2026-08-29 22:36:13,133 - INFO - 📥 جديد من 8482164917 | مصدر | نوع: ChatType.PRIVATE | رسالة 107 | نوع: MessageMediaType.VIDEO
99
- 2026-08-29 22:36:13,133 - INFO - 📥 جديد من 8482164917 | مصدر | نوع: ChatType.PRIVATE | رسالة 108 | نوع: MessageMediaType.VIDEO
100
- 2026-08-29 22:36:13,134 - INFO - 📥 جديد من 8482164917 | مصدر | نوع: ChatType.PRIVATE | رسالة 109 | نوع: MessageMediaType.PHOTO
101
- 2026-08-29 22:36:18,137 - INFO - 📦 ألبوم 14304343783489225 يحتوي على 4 ملفات
102
- 2026-08-29 22:36:18,139 - INFO - Start creating a new auth key on DC4
103
- 2026-08-29 22:36:18,140 - INFO - Connecting...
104
- 2026-08-29 22:36:18,140 - INFO - 📦 ألبوم 14304343783489233 يحتوي على 4 ملفات
105
- 2026-08-29 22:36:18,141 - INFO - 📦 ألبوم 14304343783489241 يحتوي على 4 ملفات
106
- 2026-08-29 22:36:18,142 - INFO - 📦 ألبوم 14304343783489249 يحتوي على 4 ملفات
107
- 2026-08-29 22:36:18,142 - INFO - 📦 ألبوم 14304343783489257 يحتوي على 4 ملفات
108
- 2026-08-29 22:36:18,231 - INFO - Connected! Production DC4 - IPv4
109
- 2026-08-29 22:36:19,822 - INFO - Done auth key exchange: DhGenOk
110
- 2026-08-29 22:36:19,822 - INFO - Disconnected
111
- 2026-08-29 22:36:19,823 - INFO - Connecting...
112
- 2026-08-29 22:36:19,904 - INFO - Connected! Production DC4 (media) - IPv4
113
- 2026-08-29 22:36:19,904 - INFO - NetworkTask started
114
- 2026-08-29 22:36:20,515 - INFO - Session initialized: Layer 158
115
- 2026-08-29 22:36:20,515 - INFO - Device: Samsung Galaxy S23 Ultra - 10.14.1
116
- 2026-08-29 22:36:20,515 - INFO - System: Android 14 (ar)
117
- 2026-08-29 22:36:20,515 - INFO - Session started
118
- 2026-08-29 22:36:20,516 - INFO - PingTask started
119
- 2026-08-29 22:36:21,229 - INFO - PingTask stopped
120
- 2026-08-29 22:36:21,230 - INFO - Disconnected
121
- 2026-08-29 22:36:21,230 - INFO - NetworkTask stopped
122
- 2026-08-29 22:36:21,230 - INFO - Session stopped
123
- 2026-08-29 22:36:21,230 - INFO - ⬇️ تم التنزيل: 90 -> 8482164917_90.jpg
124
- 2026-08-29 22:36:21,234 - INFO - Start creating a new auth key on DC4
125
- 2026-08-29 22:36:21,235 - INFO - Connecting...
126
- 2026-08-29 22:36:21,316 - INFO - Connected! Production DC4 - IPv4
127
- 2026-08-29 22:36:22,861 - INFO - Done auth key exchange: DhGenOk
128
- 2026-08-29 22:36:22,862 - INFO - Disconnected
129
- 2026-08-29 22:36:22,863 - INFO - Connecting...
130
- 2026-08-29 22:36:22,951 - INFO - Connected! Production DC4 (media) - IPv4
131
- 2026-08-29 22:36:22,951 - INFO - NetworkTask started
132
- 2026-08-29 22:36:23,368 - INFO - Session initialized: Layer 158
133
- 2026-08-29 22:36:23,368 - INFO - Device: Samsung Galaxy S23 Ultra - 10.14.1
134
- 2026-08-29 22:36:23,368 - INFO - System: Android 14 (ar)
135
- 2026-08-29 22:36:23,368 - INFO - Session started
136
- 2026-08-29 22:36:23,369 - INFO - PingTask started
137
- 2026-08-29 22:36:24,027 - INFO - PingTask stopped
138
- 2026-08-29 22:36:24,027 - INFO - Disconnected
139
- 2026-08-29 22:36:24,027 - INFO - NetworkTask stopped
140
- 2026-08-29 22:36:24,027 - INFO - Session stopped
141
- 2026-08-29 22:36:24,028 - INFO - ⬇️ تم التنزيل: 94 -> 8482164917_94.jpg
142
- 2026-08-29 22:36:24,031 - INFO - Start creating a new auth key on DC4
143
- 2026-08-29 22:36:24,031 - INFO - Connecting...
144
- 2026-08-29 22:36:24,112 - INFO - Connected! Production DC4 - IPv4
145
- 2026-08-29 22:36:25,713 - INFO - Done auth key exchange: DhGenOk
146
- 2026-08-29 22:36:25,714 - INFO - Disconnected
147
- 2026-08-29 22:36:25,714 - INFO - Connecting...
148
- 2026-08-29 22:36:25,803 - INFO - Connected! Production DC4 (media) - IPv4
149
- 2026-08-29 22:36:25,803 - INFO - NetworkTask started
150
- 2026-08-29 22:36:26,227 - INFO - Session initialized: Layer 158
151
- 2026-08-29 22:36:26,227 - INFO - Device: Samsung Galaxy S23 Ultra - 10.14.1
152
- 2026-08-29 22:36:26,227 - INFO - System: Android 14 (ar)
153
- 2026-08-29 22:36:26,228 - INFO - Session started
154
- 2026-08-29 22:36:26,229 - INFO - PingTask started
155
- 2026-08-29 22:36:26,904 - INFO - PingTask stopped
156
- 2026-08-29 22:36:26,905 - INFO - Disconnected
157
- 2026-08-29 22:36:26,905 - INFO - NetworkTask stopped
158
- 2026-08-29 22:36:26,905 - INFO - Session stopped
159
- 2026-08-29 22:36:26,905 - INFO - ⬇️ تم التنزيل: 98 -> 8482164917_98.jpg
160
- 2026-08-29 22:36:26,906 - INFO - Start creating a new auth key on DC4
161
- 2026-08-29 22:36:26,907 - INFO - Connecting...
162
- 2026-08-29 22:36:26,987 - INFO - Connected! Production DC4 - IPv4
163
- 2026-08-29 22:36:28,455 - INFO - Done auth key exchange: DhGenOk
164
- 2026-08-29 22:36:28,456 - INFO - Disconnected
165
- 2026-08-29 22:36:28,456 - INFO - Connecting...
166
- 2026-08-29 22:36:28,539 - INFO - Connected! Production DC4 (media) - IPv4
167
- 2026-08-29 22:36:28,540 - INFO - NetworkTask started
168
- 2026-08-29 22:36:28,953 - INFO - Session initialized: Layer 158
169
- 2026-08-29 22:36:28,954 - INFO - Device: Samsung Galaxy S23 Ultra - 10.14.1
170
- 2026-08-29 22:36:28,954 - INFO - System: Android 14 (ar)
171
- 2026-08-29 22:36:28,954 - INFO - Session started
172
- 2026-08-29 22:36:28,955 - INFO - PingTask started
173
- 2026-08-29 22:36:29,649 - INFO - PingTask stopped
174
- 2026-08-29 22:36:29,649 - INFO - Disconnected
175
- 2026-08-29 22:36:29,649 - INFO - NetworkTask stopped
176
- 2026-08-29 22:36:29,649 - INFO - Session stopped
177
- 2026-08-29 22:36:29,650 - INFO - ⬇️ تم التنزيل: 102 -> 8482164917_102.jpg
178
- 2026-08-29 22:36:29,652 - INFO - Start creating a new auth key on DC4
179
- 2026-08-29 22:36:29,652 - INFO - Connecting...
180
- 2026-08-29 22:36:29,735 - INFO - Connected! Production DC4 - IPv4
181
- 2026-08-29 22:36:30,972 - INFO - 👁️ رسالة من -5524644293 | نوع: ChatType.GROUP | اسم: مصدر
182
- 2026-08-29 22:36:30,973 - INFO - 👁️ رسالة من -5524644293 | نوع: ChatType.GROUP | اسم: مصدر
183
- 2026-08-29 22:36:31,420 - INFO - Done auth key exchange: DhGenOk
184
- 2026-08-29 22:36:31,421 - INFO - Disconnected
185
- 2026-08-29 22:36:31,422 - INFO - Connecting...
186
- 2026-08-29 22:36:31,504 - INFO - Connected! Production DC4 (media) - IPv4
187
- 2026-08-29 22:36:31,504 - INFO - NetworkTask started
188
- 2026-08-29 22:36:31,892 - INFO - Session initialized: Layer 158
189
- 2026-08-29 22:36:31,892 - INFO - Device: Samsung Galaxy S23 Ultra - 10.14.1
190
- 2026-08-29 22:36:31,892 - INFO - System: Android 14 (ar)
191
- 2026-08-29 22:36:31,892 - INFO - Session started
192
- 2026-08-29 22:36:31,892 - INFO - PingTask started
193
- 2026-08-29 22:36:32,598 - INFO - PingTask stopped
194
- 2026-08-29 22:36:32,599 - INFO - Disconnected
195
- 2026-08-29 22:36:32,599 - INFO - NetworkTask stopped
196
- 2026-08-29 22:36:32,599 - INFO - Session stopped
197
- 2026-08-29 22:36:32,599 - INFO - ⬇️ تم التنزيل: 106 -> 8482164917_106.jpg
198
- 2026-08-29 22:36:32,601 - INFO - Start creating a new auth key on DC4
199
- 2026-08-29 22:36:32,601 - INFO - Connecting...
200
- 2026-08-29 22:36:32,681 - INFO - Connected! Production DC4 - IPv4
201
- 2026-08-29 22:36:34,256 - INFO - Done auth key exchange: DhGenOk
202
- 2026-08-29 22:36:34,257 - INFO - Disconnected
203
- 2026-08-29 22:36:34,259 - INFO - Connecting...
204
- 2026-08-29 22:36:34,339 - INFO - Connected! Production DC4 (media) - IPv4
205
- 2026-08-29 22:36:34,340 - INFO - NetworkTask started
206
- 2026-08-29 22:36:34,720 - INFO - Session initialized: Layer 158
207
- 2026-08-29 22:36:34,720 - INFO - Device: Samsung Galaxy S23 Ultra - 10.14.1
208
- 2026-08-29 22:36:34,720 - INFO - System: Android 14 (ar)
209
- 2026-08-29 22:36:34,720 - INFO - Session started
210
- 2026-08-29 22:36:34,721 - INFO - PingTask started
211
- 2026-08-29 22:36:48,046 - INFO - 📥 جديد من -5524644293 | مصدر | نوع: ChatType.GROUP | رسالة 112 | نوع: MessageMediaType.PHOTO
212
- 2026-08-29 22:36:48,046 - INFO - 📥 جديد من -5524644293 | مصدر | نوع: ChatType.GROUP | رسالة 113 | نوع: MessageMediaType.VIDEO
213
- 2026-08-29 22:36:48,047 - INFO - 📥 جديد من -5524644293 | مصدر | نوع: ChatType.GROUP | رسالة 114 | نوع: MessageMediaType.VIDEO
214
- 2026-08-29 22:36:48,047 - INFO - 📥 جديد من -5524644293 | مصدر | نوع: ChatType.GROUP | رسالة 115 | نوع: MessageMediaType.VIDEO
215
- 2026-08-29 22:36:48,047 - INFO - 📥 جديد من -5524644293 | مصدر | نوع: ChatType.GROUP | رسالة 116 | نوع: MessageMediaType.PHOTO
216
- 2026-08-29 22:36:48,048 - INFO - 📥 جديد من -5524644293 | مصدر | نوع: ChatType.GROUP | رسالة 117 | نوع: MessageMediaType.VIDEO
217
- 2026-08-29 22:36:48,048 - INFO - 📥 جديد من -5524644293 | مصدر | نوع: ChatType.GROUP | رسالة 118 | نوع: MessageMediaType.VIDEO
218
- 2026-08-29 22:36:48,048 - INFO - 📥 جديد من -5524644293 | مصدر | نوع: ChatType.GROUP | رسالة 119 | نوع: MessageMediaType.VIDEO
219
- 2026-08-29 22:36:48,049 - INFO - 📥 جديد من -5524644293 | مصدر | نوع: ChatType.GROUP | رسالة 120 | نوع: MessageMediaType.PHOTO
220
- 2026-08-29 22:36:48,049 - INFO - 📥 جديد من -5524644293 | مصدر | نوع: ChatType.GROUP | رسالة 121 | نوع: MessageMediaType.VIDEO
221
- 2026-08-29 22:36:48,049 - INFO - 📥 جديد من -5524644293 | مصدر | نوع: ChatType.GROUP | رسالة 122 | نوع: MessageMediaType.VIDEO
222
- 2026-08-29 22:36:48,050 - INFO - 📥 جديد من -5524644293 | مصدر | نوع: ChatType.GROUP | رسالة 123 | نوع: MessageMediaType.VIDEO
223
- 2026-08-29 22:36:48,050 - INFO - 📥 جديد من -5524644293 | مصدر | نوع: ChatType.GROUP | رسالة 124 | نوع: MessageMediaType.PHOTO
224
- 2026-08-29 22:36:48,051 - INFO - 📥 جديد من -5524644293 | مصدر | نوع: ChatType.GROUP | رسالة 125 | نوع: MessageMediaType.VIDEO
225
- 2026-08-29 22:36:48,051 - INFO - 📥 جديد من -5524644293 | مصدر | نوع: ChatType.GROUP | رسالة 126 | نوع: MessageMediaType.VIDEO
226
- 2026-08-29 22:36:48,051 - INFO - 📥 جديد من -5524644293 | مصدر | نوع: ChatType.GROUP | رسالة 127 | نوع: MessageMediaType.VIDEO
227
- 2026-08-29 22:36:48,052 - INFO - 📥 جديد من -5524644293 | مصدر | نوع: ChatType.GROUP | رسالة 128 | نوع: MessageMediaType.PHOTO
228
- 2026-08-29 22:36:48,052 - INFO - 📥 جديد من -5524644293 | مصدر | نوع: ChatType.GROUP | رسالة 129 | نوع: MessageMediaType.VIDEO
229
- 2026-08-29 22:36:48,052 - INFO - 📥 جديد من -5524644293 | مصدر | نوع: ChatType.GROUP | رسالة 130 | نوع: MessageMediaType.VIDEO
230
- 2026-08-29 22:36:48,052 - INFO - 📥 جديد من -5524644293 | مصدر | نوع: ChatType.GROUP | رسالة 131 | نوع: MessageMediaType.PHOTO
231
- 2026-08-29 22:36:53,054 - INFO - 📦 ألبوم 14304344061420257 يحتوي على 4 ملفات
232
- 2026-08-29 22:36:53,055 - INFO - 📦 ألبوم 14304344061420265 يحتوي على 4 ملفات
233
- 2026-08-29 22:36:53,055 - INFO - 📦 ألبوم 14304344061420273 يحتوي على 4 ملفات
234
- 2026-08-29 22:36:53,055 - INFO - 📦 ألبوم 14304344061420281 يحتوي على 4 ملفات
235
- 2026-08-29 22:36:53,056 - INFO - 📦 ألبوم 14304344061420289 يحتوي على 4 ملفات
236
- 2026-08-29 22:36:55,723 - INFO - PingTask stopped
237
- 2026-08-29 22:36:55,724 - INFO - Disconnected
238
- 2026-08-29 22:36:55,724 - INFO - NetworkTask stopped
239
- 2026-08-29 22:36:55,724 - INFO - Session stopped
240
- 2026-08-29 22:36:55,724 - INFO - ⬇️ تم التنزيل: 91 -> 8482164917_91.mp4
241
- 2026-08-29 22:36:55,727 - INFO - Start creating a new auth key on DC4
242
- 2026-08-29 22:36:55,727 - INFO - Connecting...
243
- 2026-08-29 22:36:55,815 - INFO - Connected! Production DC4 - IPv4
244
- 2026-08-29 22:36:57,207 - INFO - Done auth key exchange: DhGenOk
245
- 2026-08-29 22:36:57,207 - INFO - Disconnected
246
- 2026-08-29 22:36:57,208 - INFO - Connecting...
247
- 2026-08-29 22:36:57,291 - INFO - Connected! Production DC4 (media) - IPv4
248
- 2026-08-29 22:36:57,291 - INFO - NetworkTask started
249
- 2026-08-29 22:36:57,677 - INFO - Session initialized: Layer 158
250
- 2026-08-29 22:36:57,677 - INFO - Device: Samsung Galaxy S23 Ultra - 10.14.1
251
- 2026-08-29 22:36:57,677 - INFO - System: Android 14 (ar)
252
- 2026-08-29 22:36:57,677 - INFO - Session started
253
- 2026-08-29 22:36:57,678 - INFO - PingTask started
254
- 2026-08-29 22:37:21,192 - INFO - PingTask stopped
255
- 2026-08-29 22:37:21,193 - INFO - Disconnected
256
- 2026-08-29 22:37:21,193 - INFO - NetworkTask stopped
257
- 2026-08-29 22:37:21,193 - INFO - Session stopped
258
- 2026-08-29 22:37:21,193 - INFO - ⬇️ تم التنزيل: 95 -> 8482164917_95.mp4
259
- 2026-08-29 22:37:21,195 - INFO - Start creating a new auth key on DC4
260
- 2026-08-29 22:37:21,195 - INFO - Connecting...
261
- 2026-08-29 22:37:21,276 - INFO - Connected! Production DC4 - IPv4
262
- 2026-08-29 22:37:22,600 - INFO - Done auth key exchange: DhGenOk
263
- 2026-08-29 22:37:22,601 - INFO - Disconnected
264
- 2026-08-29 22:37:22,602 - INFO - Connecting...
265
- 2026-08-29 22:37:22,683 - INFO - Connected! Production DC4 (media) - IPv4
266
- 2026-08-29 22:37:22,683 - INFO - NetworkTask started
267
- 2026-08-29 22:37:23,072 - INFO - Session initialized: Layer 158
268
- 2026-08-29 22:37:23,072 - INFO - Device: Samsung Galaxy S23 Ultra - 10.14.1
269
- 2026-08-29 22:37:23,072 - INFO - System: Android 14 (ar)
270
- 2026-08-29 22:37:23,072 - INFO - Session started
271
- 2026-08-29 22:37:23,073 - INFO - PingTask started
272
- 2026-08-29 22:37:47,783 - INFO - PingTask stopped
273
- 2026-08-29 22:37:47,784 - INFO - Disconnected
274
- 2026-08-29 22:37:47,784 - INFO - NetworkTask stopped
275
- 2026-08-29 22:37:47,784 - INFO - Session stopped
276
- 2026-08-29 22:37:47,784 - INFO - ⬇️ تم التنزيل: 99 -> 8482164917_99.mp4
277
- 2026-08-29 22:37:47,787 - INFO - Start creating a new auth key on DC4
278
- 2026-08-29 22:37:47,787 - INFO - Connecting...
279
- 2026-08-29 22:37:47,874 - INFO - Connected! Production DC4 - IPv4
280
- 2026-08-29 22:37:49,661 - INFO - Done auth key exchange: DhGenOk
281
- 2026-08-29 22:37:49,661 - INFO - Disconnected
282
- 2026-08-29 22:37:49,662 - INFO - Connecting...
283
- 2026-08-29 22:37:49,743 - INFO - Connected! Production DC4 (media) - IPv4
284
- 2026-08-29 22:37:49,743 - INFO - NetworkTask started
285
- 2026-08-29 22:37:50,122 - INFO - Session initialized: Layer 158
286
- 2026-08-29 22:37:50,123 - INFO - Device: Samsung Galaxy S23 Ultra - 10.14.1
287
- 2026-08-29 22:37:50,123 - INFO - System: Android 14 (ar)
288
- 2026-08-29 22:37:50,123 - INFO - Session started
289
- 2026-08-29 22:37:50,124 - INFO - PingTask started
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import asyncio
3
+ import logging
4
+ import shutil
5
+ import time
6
+ import threading
7
+ import gradio as gr
8
+ from pyrogram import Client, filters
9
+ from pyrogram.errors import FloodWait, RPCError
10
+ from pyrogram.types import InputMediaPhoto, InputMediaVideo, InputMediaDocument, InputMediaAudio
11
 
12
+ # ============ إصلاح MIN_CHANNEL_ID ============
13
+ import pyrogram
14
+ pyrogram.utils.MIN_CHANNEL_ID = -1007852516352
15
+ pyrogram.utils.MIN_CHAT_ID = -999999999999
16
+
17
+ logging.basicConfig(
18
+ level=logging.INFO,
19
+ format='%(asctime)s - %(levelname)s - %(message)s'
20
+ )
21
+ logger = logging.getLogger(__name__)
22
+
23
+ # ============ الإعدادات ============
24
+ API_ID = int(os.environ.get("API_ID", 0))
25
+ API_HASH = os.environ.get("API_HASH", "")
26
+ SESSION_STRING = os.environ.get("SESSION_STRING", "")
27
+ TARGET_CHAT_RAW = os.environ.get("TARGET_CHAT", "me")
28
+
29
+ DATA_DIR = "./data"
30
+ DOWNLOAD_DIR = os.path.join(DATA_DIR, "downloads")
31
+ os.makedirs(DOWNLOAD_DIR, exist_ok=True)
32
+
33
+ # ============ العميل ============
34
+ app = Client(
35
+ "archiver",
36
+ api_id=API_ID,
37
+ api_hash=API_HASH,
38
+ session_string=SESSION_STRING,
39
+ in_memory=True,
40
+ device_model="Samsung Galaxy S23 Ultra",
41
+ system_version="Android 14",
42
+ app_version="10.14.1",
43
+ lang_code="ar"
44
+ )
45
+
46
+ TARGET_CHAT = None
47
+
48
+ # 🔑 Lock واحد لكل العمليات — يمنع فتح DCs متعددة
49
+ download_lock = asyncio.Lock()
50
+
51
+ # ============ معرفة نوع الملف + الامتداد ============
52
+ def get_media_info(message):
53
+ if message.photo:
54
+ return "photo", ".jpg"
55
+ elif message.video:
56
+ return "video", ".mp4"
57
+ elif message.document:
58
+ ext = os.path.splitext(message.document.file_name or "")[1] or ""
59
+ return "doc", ext
60
+ elif message.audio:
61
+ ext = os.path.splitext(message.audio.file_name or "")[1] or ".mp3"
62
+ return "audio", ext
63
+ elif message.voice:
64
+ return "voice", ".ogg"
65
+ elif message.video_note:
66
+ return "video_note", ".mp4"
67
+ elif message.animation:
68
+ return "animation", ".mp4"
69
+ return None, ""
70
+
71
+ def get_source_name(message):
72
+ chat = message.chat
73
+ if chat.type in ["channel", "supergroup", "group"]:
74
+ return chat.title or "قناة/مجموعة"
75
+ elif chat.type == "private":
76
+ return chat.first_name or chat.username or "خاص"
77
+ return "مصدر"
78
+
79
+ # ============ الألبومات ============
80
+ media_groups = {}
81
+ mg_lock = asyncio.Lock()
82
+
83
+ async def flush_media_group(chat_id, mg_id):
84
+ await asyncio.sleep(5)
85
+
86
+ async with mg_lock:
87
+ key = (chat_id, mg_id)
88
+ if key not in media_groups:
89
+ return
90
+ messages = media_groups.pop(key, [])
91
+
92
+ if not messages:
93
+ return
94
+
95
+ messages.sort(key=lambda m: m.id)
96
+ logger.info(f"📦 ألبوم {mg_id} يحتوي على {len(messages)} ملفات")
97
+
98
+ downloaded = []
99
+ for i, msg in enumerate(messages):
100
+ m_type, ext = get_media_info(msg)
101
+ if not m_type:
102
+ continue
103
+
104
+ cap = msg.caption if i == 0 else ""
105
+ src_name = get_source_name(msg)
106
+ final_cap = f"{cap}\n\n📌 المصدر: {src_name}".strip() if cap else f"📌 المصدر: {src_name}"
107
+
108
+ # 🔑 استخدام Lock + app.download_media() بدلاً من message.download()
109
+ async with download_lock:
110
+ try:
111
+ file_path = await app.download_media(
112
+ msg,
113
+ file_name=f"{DOWNLOAD_DIR}/{chat_id}_{msg.id}{ext}"
114
+ )
115
+ if file_path and os.path.exists(file_path) and os.path.getsize(file_path) > 0:
116
+ downloaded.append((m_type, file_path, final_cap))
117
+ logger.info(f"⬇️ تم التنزيل: {msg.id}")
118
+ else:
119
+ logger.warning(f"⚠️ فشل تنزيل: {msg.id}")
120
+ except Exception as e:
121
+ logger.error(f"❌ خطأ تنزيل {msg.id}: {e}")
122
+
123
+ if not downloaded:
124
+ return
125
+
126
+ # 🔑 إرسال الألبوم تحت Lock
127
+ async with download_lock:
128
+ try:
129
+ media_list = []
130
+ for idx, (m_type, fpath, cap) in enumerate(downloaded):
131
+ item_cap = cap if idx == 0 else ""
132
+
133
+ if m_type == "photo":
134
+ media_list.append(InputMediaPhoto(media=fpath, caption=item_cap))
135
+ elif m_type == "video":
136
+ media_list.append(InputMediaVideo(media=fpath, caption=item_cap, supports_streaming=True))
137
+ elif m_type == "doc":
138
+ media_list.append(InputMediaDocument(media=fpath, caption=item_cap))
139
+ elif m_type == "audio":
140
+ media_list.append(InputMediaAudio(media=fpath, caption=item_cap))
141
+
142
+ if media_list:
143
+ await app.send_media_group(TARGET_CHAT, media=media_list)
144
+ logger.info(f"✅ تم إرسال الألبوم {mg_id}")
145
+ except FloodWait as e:
146
+ logger.warning(f"⏳ FloodWait: {e.value} ثانية")
147
+ await asyncio.sleep(e.value + 5)
148
+ await app.send_media_group(TARGET_CHAT, media=media_list)
149
+ except Exception as e:
150
+ logger.error(f"❌ فشل إرسال الألبوم: {e}")
151
+ finally:
152
+ for _, fpath, _ in downloaded:
153
+ try:
154
+ if os.path.exists(fpath):
155
+ os.remove(fpath)
156
+ except:
157
+ pass
158
+
159
+ # ============ المعالج الرئيسي ============
160
+ @app.on_message(filters.incoming & ~filters.me & filters.media)
161
+ async def on_media(client, message):
162
+ chat_id = message.chat.id
163
+
164
+ if str(chat_id) == str(TARGET_CHAT):
165
+ return
166
+
167
+ src_name = get_source_name(message)
168
+ logger.info(f"📥 جديد من {chat_id} | {src_name} | نوع: {message.chat.type} | رسالة {message.id} | نوع: {message.media}")
169
+
170
+ if message.media_group_id:
171
+ key = (chat_id, message.media_group_id)
172
+ async with mg_lock:
173
+ if key not in media_groups:
174
+ media_groups[key] = []
175
+ asyncio.create_task(flush_media_group(chat_id, message.media_group_id))
176
+ media_groups[key].append(message)
177
+ return
178
+
179
+ m_type, ext = get_media_info(message)
180
+ if not m_type:
181
+ return
182
+
183
+ src_name = get_source_name(message)
184
+ raw_cap = message.caption or ""
185
+ final_cap = f"{raw_cap}\n\n📌 المصدر: {src_name}".strip() if raw_cap else f"📌 المصدر: {src_name}"
186
+
187
+ file_path = None
188
+
189
+ # 🔑 Lock يضمن عملية واحدة فقط في الوقت — يمنع فتح DCs متعددة
190
+ async with download_lock:
191
+ try:
192
+ # 🔑 app.download_media() أكثر استقراراً من message.download()
193
+ file_path = await app.download_media(
194
+ message,
195
+ file_name=f"{DOWNLOAD_DIR}/{chat_id}_{message.id}{ext}"
196
+ )
197
+ if not file_path or not os.path.exists(file_path) or os.path.getsize(file_path) == 0:
198
+ logger.warning(f"⚠️ فشل تنزيل الرسالة {message.id}")
199
+ return
200
+
201
+ if m_type == "photo":
202
+ await app.send_photo(TARGET_CHAT, photo=file_path, caption=final_cap)
203
+ elif m_type == "video":
204
+ await app.send_video(TARGET_CHAT, video=file_path, caption=final_cap, supports_streaming=True)
205
+ elif m_type == "doc":
206
+ await app.send_document(TARGET_CHAT, document=file_path, caption=final_cap)
207
+ elif m_type == "audio":
208
+ await app.send_audio(TARGET_CHAT, audio=file_path, caption=final_cap)
209
+ elif m_type == "voice":
210
+ await app.send_voice(TARGET_CHAT, voice=file_path, caption=final_cap)
211
+ elif m_type == "video_note":
212
+ await app.send_video_note(TARGET_CHAT, video_note=file_path)
213
+ elif m_type == "animation":
214
+ await app.send_animation(TARGET_CHAT, animation=file_path, caption=final_cap)
215
+
216
+ logger.info(f"✅ تم الإرسال: {message.id}")
217
+
218
+ except FloodWait as e:
219
+ logger.warning(f"⏳ FloodWait: {e.value} ثانية")
220
+ await asyncio.sleep(e.value + 5)
221
+ except RPCError as e:
222
+ logger.error(f"❌ خطأ Telegram: {e}")
223
+ except Exception as e:
224
+ logger.error(f"❌ خطأ: {e}")
225
+ finally:
226
+ if file_path and os.path.exists(file_path):
227
+ try:
228
+ os.remove(file_path)
229
+ except:
230
+ pass
231
+
232
+ # ============ مراقبة عامة ============
233
+ @app.on_message(filters.incoming & ~filters.me)
234
+ async def monitor_all(client, message):
235
+ if str(message.chat.id) == str(TARGET_CHAT):
236
+ return
237
+ src_name = get_source_name(message)
238
+ logger.info(f"👁️ رسالة من {message.chat.id} | نوع: {message.chat.type} | اسم: {src_name}")
239
+
240
+ # ============ التحقق من القناة الهدف ============
241
+ async def resolve_target_chat():
242
+ global TARGET_CHAT
243
+ raw = TARGET_CHAT_RAW
244
+
245
+ if raw.lower() == "me":
246
+ TARGET_CHAT = "me"
247
+ logger.info("🎯 الهدف: Saved Messages (me)")
248
+ return
249
+
250
+ try:
251
+ chat_id_int = int(raw)
252
+ chat = await app.get_chat(chat_id_int)
253
+ TARGET_CHAT = chat_id_int
254
+ logger.info(f"🎯 تم التحقق من القناة: {chat.title} | id: {chat_id_int}")
255
+ except Exception as e:
256
+ logger.error(f"❌ فشل التحقق من القناة {raw}: {e}")
257
+ logger.info("⚠️ سيتم استخدام Saved Messages (me) كاحتياطي")
258
+ TARGET_CHAT = "me"
259
+
260
+ # ============ تشغيل Gradio ============
261
+ def run_gradio():
262
+ with gr.Blocks(title="Telegram Archiver") as demo:
263
+ gr.Markdown("# 📡 Telegram Archiver")
264
+ gr.Markdown("🟢 **الحالة:** البوت يعمل في الخلفية")
265
+
266
+ gr.Textbox(
267
+ label="الحالة",
268
+ value="✅ نشط - يستقبل من الكل",
269
+ interactive=False
270
+ )
271
+
272
+ gr.Markdown("""
273
+ ### 🔧 المتغيرات:
274
+
275
+ | المتغير | القيمة | مثال |
276
+ |---------|--------|------|
277
+ | `API_ID` | رقم | `12345678` |
278
+ | `API_HASH` | نص | `abc123...` |
279
+ | `SESSION_STRING` | نص | `BQAD...` |
280
+ | `TARGET_CHAT` | معرف القناة الخاصة | `-1004307601544` |
281
+ """)
282
+
283
+ demo.launch(server_name="0.0.0.0", server_port=7860)
284
+
285
+ # ============ التشغيل الرئيسي ============
286
+ async def main():
287
+ await app.start()
288
+ me = await app.get_me()
289
+
290
+ await resolve_target_chat()
291
+
292
+ logger.info("=" * 50)
293
+ logger.info(f"🚀 البوت يعمل!")
294
+ logger.info(f"👤 الحساب: {me.first_name} (@{me.username})")
295
+ logger.info(f"🎯 القناة الهدف: {TARGET_CHAT}")
296
+ logger.info("📡 المصدر: الكل (قنوات + مجموعات + خاص)")
297
+ logger.info("=" * 50)
298
+
299
+ stop_event = asyncio.Event()
300
+ await stop_event.wait()
301
+
302
+ if __name__ == "__main__":
303
+ gradio_thread = threading.Thread(target=run_gradio, daemon=True)
304
+ gradio_thread.start()
305
+
306
+ loop = asyncio.get_event_loop()
307
+ try:
308
+ loop.run_until_complete(main())
309
+ except KeyboardInterrupt:
310
+ pass
311
+ finally:
312
+ loop.run_until_complete(app.stop())