■ ■ ■ ■ ■ ■
src/telepathy/telepathy.py
| skipped 175 lines |
176 | 176 | | |
177 | 177 | | async def retrieve_entity(self, _target): |
178 | 178 | | current_entity = None |
| 179 | + | target = None |
179 | 180 | | try: |
180 | 181 | | current_entity = await self.client.get_entity(_target) |
| 182 | + | target = _target |
181 | 183 | | except Exception as exx: |
| 184 | + | try: |
| 185 | + | current_entity = await self.client.get_entity(int(_target)) |
| 186 | + | target = int(_target) |
| 187 | + | except: |
| 188 | + | pass |
182 | 189 | | pass |
183 | 190 | | if not current_entity: |
184 | 191 | | try: |
185 | 192 | | current_entity = await self.client.get_entity(PeerChannel(_target)) |
| 193 | + | target = _target |
186 | 194 | | except Exception as exx: |
187 | 195 | | pass |
188 | 196 | | if not current_entity: |
189 | 197 | | try: |
190 | 198 | | current_entity = await self.client.get_entity(PeerChat(_target)) |
| 199 | + | target = _target |
191 | 200 | | except Exception as exx: |
192 | 201 | | pass |
193 | | - | return current_entity |
| 202 | + | if type(target) is int and current_entity.username: |
| 203 | + | target = current_entity.username |
| 204 | + | return current_entity, target |
194 | 205 | | |
195 | 206 | | async def looking_for_members(self, _target): |
196 | 207 | | members = [] |
| skipped 43 lines |
240 | 251 | | _result = {"entity": None} |
241 | 252 | | web_req = None |
242 | 253 | | |
243 | | - | _result["entity"] = await self.retrieve_entity(_handle) |
| 254 | + | _result["entity"], self._target = await self.retrieve_entity(_handle) |
244 | 255 | | |
245 | 256 | | if not _result["entity"] or ( |
246 | 257 | | _result["entity"].__class__ == User and _check_user |
| skipped 3 lines |
250 | 261 | | " [!] ", |
251 | 262 | | "You can't search for users using flag -c, run Telepathy using the flag -u.", |
252 | 263 | | ) |
| 264 | + | exit(1) |
253 | 265 | | else: |
254 | 266 | | color_print_green( |
255 | 267 | | " [!] ", "Telegram handle: {} wasn't found. !!!!".format(_handle) |
256 | 268 | | ) |
| 269 | + | exit(1) |
257 | 270 | | return |
258 | 271 | | elif _check_user: |
259 | 272 | | if _result["entity"].__class__ == User: |
| skipped 69 lines |
329 | 342 | | _result["datepost"] = "N/A" |
330 | 343 | | _result["mtime"] = "N/A" |
331 | 344 | | |
332 | | - | async for message in self.client.iter_messages(_handle, reverse=True): |
| 345 | + | async for message in self.client.iter_messages(self._target, reverse=True): |
333 | 346 | | _result["datepost"] = parse_tg_date(message.date) |
334 | 347 | | _result["date"] = _result["date"] |
335 | 348 | | _result["mtime"] = _result["mtime"] |
| skipped 74 lines |
410 | 423 | | else: |
411 | 424 | | self._translated_description = "N/A" |
412 | 425 | | |
413 | | - | self._first_post = "Not found" |
414 | | - | self._date = "N/A" |
415 | | - | self._datepost = "N/A" |
416 | | - | self._mtime = "N/A" |
417 | | - | |
418 | | - | async for message in self.client.iter_messages(_handle, reverse=True): |
419 | | - | self._datepost = parse_tg_date(message.date) |
420 | | - | self._date = self._datepost["date"] |
421 | | - | self._mtime = self._datepost["mtime"] |
422 | | - | self._first_post = self._datepost["timestamp"] |
423 | | - | break |
424 | | - | |
425 | | - | if self._entity.restriction_reason is not None: |
426 | | - | ios_restriction = self._entity.restriction_reason[0] |
427 | | - | if 1 in self._entity.restriction_reason: |
428 | | - | android_restriction = self._entity.restriction_reason[1] |
429 | | - | self._group_status = ( |
430 | | - | str(ios_restriction) + ", " + str(android_restriction) |
431 | | - | ) |
432 | | - | else: |
433 | | - | self._group_status = str(ios_restriction) |
434 | | - | else: |
435 | | - | self._group_status = "None" |
| 426 | + | self._group_status = _entitydetails["group_status"] |
| 427 | + | self._first_post = _entitydetails["first_post"] |
| 428 | + | self._date = _entitydetails["date"] |
| 429 | + | self._datepost = _entitydetails["datepost"] |
| 430 | + | self._mtime = _entitydetails["mtime"] |
436 | 431 | | |
437 | 432 | | def create_dirs_files(self): |
438 | 433 | | self.save_directory = None |
| skipped 143 lines |
582 | 577 | | print_flag = "channel_recap" |
583 | 578 | | print_shell(print_flag, self._entity) |
584 | 579 | | self.telepathy_log_run() |
585 | | - | await self.process_group_channel_messages(_target) |
| 580 | + | await self.process_group_channel_messages(self._target) |
586 | 581 | | |
587 | 582 | | async def f_export(self): |
588 | | - | |
589 | 583 | | exports = [] |
590 | 584 | | for Dialog in await self.client.get_dialogs(): |
591 | 585 | | try: |
| skipped 91 lines |
683 | 677 | | if not _target: |
684 | 678 | | _target = self._target |
685 | 679 | | cc = True |
| 680 | + | |
686 | 681 | | _target = clean_private_invite(_target) |
687 | 682 | | await self.retrieve_chat_group_entity(_target) |
688 | 683 | | |
| skipped 1386 lines |