mirror of
				https://github.com/LonamiWebs/Telethon.git
				synced 2025-11-04 01:47:27 +03:00 
			
		
		
		
	Report errors in the background not to interfer with users (#262)
This commit is contained in:
		
							parent
							
								
									c0ee123156
								
							
						
					
					
						commit
						01c91bb895
					
				| 
						 | 
				
			
			@ -1,5 +1,6 @@
 | 
			
		|||
import urllib.request
 | 
			
		||||
import re
 | 
			
		||||
from threading import Thread
 | 
			
		||||
 | 
			
		||||
from .common import (
 | 
			
		||||
    ReadCancelledError, InvalidParameterError, TypeNotFoundError,
 | 
			
		||||
| 
						 | 
				
			
			@ -18,21 +19,28 @@ from .rpc_errors_401 import *
 | 
			
		|||
from .rpc_errors_420 import *
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def report_error(code, message, report_method):
 | 
			
		||||
    try:
 | 
			
		||||
        # Ensure it's signed
 | 
			
		||||
        report_method = int.from_bytes(
 | 
			
		||||
            report_method.to_bytes(4, 'big'), 'big', signed=True
 | 
			
		||||
        )
 | 
			
		||||
        url = urllib.request.urlopen(
 | 
			
		||||
            'https://rpc.pwrtelegram.xyz?code={}&error={}&method={}'
 | 
			
		||||
            .format(code, message, report_method)
 | 
			
		||||
        )
 | 
			
		||||
        url.read()
 | 
			
		||||
        url.close()
 | 
			
		||||
    except:
 | 
			
		||||
        "We really don't want to crash when just reporting an error"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def rpc_message_to_error(code, message, report_method=None):
 | 
			
		||||
    if report_method is not None:
 | 
			
		||||
        try:
 | 
			
		||||
            # Ensure it's signed
 | 
			
		||||
            report_method = int.from_bytes(
 | 
			
		||||
                report_method.to_bytes(4, 'big'), 'big', signed=True
 | 
			
		||||
            )
 | 
			
		||||
            url = urllib.request.urlopen(
 | 
			
		||||
                'https://rpc.pwrtelegram.xyz?code={}&error={}&method={}'
 | 
			
		||||
                .format(code, message, report_method)
 | 
			
		||||
            )
 | 
			
		||||
            url.read()
 | 
			
		||||
            url.close()
 | 
			
		||||
        except:
 | 
			
		||||
            "We really don't want to crash when just reporting an error"
 | 
			
		||||
        Thread(
 | 
			
		||||
            target=report_method,
 | 
			
		||||
            args=(code, message, report_method)
 | 
			
		||||
        ).start()
 | 
			
		||||
 | 
			
		||||
    errors = {
 | 
			
		||||
        303: rpc_errors_303_all,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user