• Как переслать уведомление windows/chrome в телеграм?

    zkrvndm
    @zkrvndm
    Архитектор решений
    Нужно в консоли открыть контекст расширения и отредактировать метод отсылающий уведомления.

    Потребуется знание JavaScript. Пример функции для отправки уведомлений из браузера в Телеграм:
    async function sendTelegram(send_text) {
    	
    	var chat_id = '-*****************'; // Номер группы Телеграм
    	
    	// Токен, бот должен состоять в группе, куда шлем уведомления:
    	var bot_token = '*******************************************';
    	
    	var url_obj = new URL('https://api.telegram.org/bot'+bot_token+'/sendMessage');
    	url_obj.searchParams.set('time', new Date().getTime());
    	
    	var max_send_count = 3; var send_status = false;
    	
    	do {
    		
    		max_send_count--;
    		
    		try {
    			
    			var response = await (await fetch(url_obj.href, {
    				'method': 'POST',
    				'headers': {
    					'Content-Type': 'application/json; charset=UTF-8'
    				},
    				'body': JSON.stringify({
    					'chat_id': chat_id,
    					'text': send_text,
    					'parse_mode': 'HTML'
    				})
    			})).json();
    			
    			if (response.ok) {
    				
    				send_status = true;
    				
    				console.log('Уведомление успешно отправлено в группу Телеграм:');
    				console.dir(response);
    				
    			}
    			
    			else {
    				
    				console.log('Произошла ошибка при отправке уведомления в группу Телеграм:');
    				console.dir(response);
    				
    				await new Promise(function(s) { setTimeout(s, 1000); });
    				
    			}
    			
    		}
    		
    		catch (err) {
    			
    			console.log('Произошла ошибка при отправке уведомления в группу Телеграм:');
    			console.error(err);
    			
    			await new Promise(function(s) { setTimeout(s, 1000); });
    			
    		}
    		
    	} while (!send_status && max_send_count > 0);
    	
    	if (!send_status) {
    		
    		alert('Не удалось отправить уведомление в Телеграм, детали см. в консоли.');
    		
    	}
    	
    	return send_status;
    	
    }
    Ответ написан