2022-02-24 19:51:11 +01:00
<!DOCTYPE html>
< html >
< head >
< meta charset = "utf-8" >
< title > Telegram Support Force< / title >
2022-12-06 15:11:38 +01:00
< meta name = "twitter:card" content = "summary" > < / meta >
< meta property = "og:title" content = "Manuals" >
2022-02-24 19:51:11 +01:00
< meta property = "og:description" content = "These manuals are intended for volunteers of the TSF , but anyone else is free to take a look as well .
Telegram Support BIOS…">
< link rel = "icon" type = "image/svg+xml" href = "/img/website_icon.svg?4" >
2022-04-21 15:52:36 +02:00
< link rel = "apple-touch-icon" sizes = "180x180" href = "/img/apple-touch-icon.png" >
< link rel = "icon" type = "image/png" sizes = "32x32" href = "/img/favicon-32x32.png" >
< link rel = "icon" type = "image/png" sizes = "16x16" href = "/img/favicon-16x16.png" >
< link rel = "alternate icon" href = "/img/favicon.ico" type = "image/x-icon" / >
2022-02-24 19:51:11 +01:00
< script > document . cookie = "stel_dt=" + encodeURIComponent ( ( new Date ) . getTimezoneOffset ( ) ) + ";path=/;max-age=31536000;samesite=None;secure" < / script >
2022-10-21 13:53:34 +02:00
< link href = "//telegram.org/css/font-roboto.css?1" rel = "stylesheet" type = "text/css" >
< link href = "//telegram.org/css/bootstrap.min.css?3" rel = "stylesheet" >
< link href = "//telegram.org/css/bootstrap-extra.css?2" rel = "stylesheet" >
2023-03-20 12:08:32 +01:00
< link href = "/css/telegram.css?236" rel = "stylesheet" >
2022-10-03 17:45:23 +02:00
< link href = "/css/tsf.css?7" rel = "stylesheet" >
2022-02-24 19:51:11 +01:00
< link href = "/css/jquery-ui.min.css?1" rel = "stylesheet" >
2022-05-04 15:09:35 +02:00
< link href = "/css/health.css?136" rel = "stylesheet" >
2022-02-24 19:51:11 +01:00
< link href = "/css/tchart.min.css?10" rel = "stylesheet" >
< link href = "/css/billboard.css?17" rel = "stylesheet" >
< / head >
< body class = "emoji_image no-transition" >
< div id = "aj_progress" class = "progress-bar" > < / div >
< div id = "aj_content" > < div class = "tr-container" >
< header >
< div class = "container" >
< div class = "header-wrap" >
< div id = "header-panel" class = "header-panel" >
< div class = "header-auth" >
< div class = "header-auth-item" > < a class = "header-search-btn" > < / a > < / div > < div class = "header-auth-item" > < a class = "header-auth-link login-link" href = "/auth" > Login< / a > < / div >
< / div >
< div class = "header-breadcrumb header-breadcrumb-simple" >
< ol id = "breadcrumb" class = "header-nav breadcrumb" > < li > < a href = "/" > Telegram Support Force< / a > < / li > < / ol >
< / div >
< / div >
< / div >
< / div >
< / header >
< main class = "container" >
< nav class = "tr-menu" >
< div class = "tr-menu-section" >
< div class = "tr-menu-header" >
< div class = "tr-menu-header-label" > Resources< / div >
< / div >
< ul class = "tr-menu-items" > < li >
< a class = "tr-menu-item" href = "/" >
< span class = "nav-label" > Introduction< / span >
< / a >
< / li > < li class = "active" >
< a class = "tr-menu-item" href = "/manuals" >
< span class = "nav-label" > Manuals< / span >
< / a >
< / li > < / ul >
< / div >
< / nav >
< section class = "content clearfix" >
< section class = "tr-content" > < div id = "dev_page_content_wrap" class = " " >
< div class = "dev_page_bread_crumbs" > < ul class = "breadcrumb clearfix" > < li > < a href = "/" > Telegram Support Initiative< / a > < / li > < i class = "icon icon-breadcrumb-divider" > < / i > < li > < a href = "/manuals" > Manuals< / a > < / li > < / ul > < / div >
< h1 id = "dev_page_title" > Manuals< / h1 >
< div id = "dev_page_content" > < p > These manuals are intended for volunteers of the < a href = "/" > TSF< / a > , but anyone else is free to take a look as well.< / p >
< h4 > < a class = "anchor-link" href = "#telegram-support-bios" > < i class = "anchor-icon" > < / i > < / a > < a class = "anchor" name = "telegram-support-bios" > < / a > < a href = "/manuals/bios" > Telegram Support BIOS< / a > < / h4 >
< p > A meta-text and mother of all answers.< / p >
< h4 > < a class = "anchor-link" href = "#answering-questions-tsf-aq" > < i class = "anchor-icon" > < / i > < / a > < a class = "anchor" name = "answering-questions-tsf-aq" > < / a > < a href = "/manuals/answering_questions" > Answering Questions< / a > (TSF-AQ)< / h4 >
< p > Covers important topics ranging from our goals to what you do when the user says ' fuck you!' < / p >
< h4 > < a class = "anchor-link" href = "#handling-bugs-and-troubleshooting-tsf-bt" > < i class = "anchor-icon" > < / i > < / a > < a class = "anchor" name = "handling-bugs-and-troubleshooting-tsf-bt" > < / a > < a href = "/manuals/bugs" > Handling Bugs and Troubleshooting< / a > (TSF-BT)< / h4 >
< p > Covers investigating, reporting and following up bugs, troubleshooting common issues, reporting tips.< / p >
< h4 > < a class = "anchor-link" href = "#bug-hunting-algorithm-tsf-bha" > < i class = "anchor-icon" > < / i > < / a > < a class = "anchor" name = "bug-hunting-algorithm-tsf-bha" > < / a > < a href = "/manuals/bug_hunting" > Bug Hunting Algorithm< / a > (TSF-BHA)< / h4 >
< p > An in-depth guide to investigating issues.< / p >
< h4 > < a class = "anchor-link" href = "#feature-philosophy-tsf-ff" > < i class = "anchor-icon" > < / i > < / a > < a class = "anchor" name = "feature-philosophy-tsf-ff" > < / a > < a href = "/manuals/feature_philosophy" > Feature Philosophy< / a > (TSF-FF)< / h4 >
< p > A general text to help you understand our reasoning when contemplating new features.< / p >
< h4 > < a class = "anchor-link" href = "#leaving-and-coming-back-tsf-off" > < i class = "anchor-icon" > < / i > < / a > < a class = "anchor" name = "leaving-and-coming-back-tsf-off" > < / a > < a href = "/manuals/come-and-go" > Leaving and Coming Back< / a > (TSF-OFF)< / h4 >
< p > When you realise you' re no longer with us.< / p >
< h4 > < a class = "anchor-link" href = "#bug-herding-explained-tsf-bhde" > < i class = "anchor-icon" > < / i > < / a > < a class = "anchor" name = "bug-herding-explained-tsf-bhde" > < / a > < a href = "/manuals/bug_herding" > Bug Herding Explained< / a > (TSF-BHDE)< / h4 >
< p > An advanced manual on handling bugs like a pro.< / p >
< h4 > < a class = "anchor-link" href = "#basic-faq-on-end-to-end-encryption-tsf-e2e" > < i class = "anchor-icon" > < / i > < / a > < a class = "anchor" name = "basic-faq-on-end-to-end-encryption-tsf-e2e" > < / a > < a href = "/manuals/e2ee-simple" > Basic FAQ on End-to-End Encryption< / a > (TSF-E2E)< / h4 >
< hr >
< h3 > < a class = "anchor-link" href = "#public-docs" > < i class = "anchor-icon" > < / i > < / a > < a class = "anchor" name = "public-docs" > < / a > Public docs< / h3 >
< h5 > < a class = "anchor-link" href = "#telegram-support-force-manifesto-tsfm" > < i class = "anchor-icon" > < / i > < / a > < a class = "anchor" name = "telegram-support-force-manifesto-tsfm" > < / a > < a href = "/" > Telegram Support Force Manifesto< / a > (TSFM)< / h5 >
< p > Contains general info on what we do and how to join us.< / p >
< h5 > < a class = "anchor-link" href = "#translating-telegram-ttm" > < i class = "anchor-icon" > < / i > < / a > < a class = "anchor" name = "translating-telegram-ttm" > < / a > < a href = "https://translations.telegram.org" > Translating Telegram< / a > (TTM)< / h5 >
< p > A style guide and manifesto for Telegram translators.< / p >
< / div >
< / div > < / section >
< / section >
< / main >
< / div > < div class = "popup-container login-popup-container hide" id = "login-popup-container" >
< div class = "popup" >
< div class = "popup-body" >
< section >
< h2 > Log In< / h2 >
< p > Log in here to access your TSF stats. Please enter your < b > phone number< / b > in the < a target = "_blank" rel = "noopener" href = "https://telegram.org/faq#login-and-sms" > international format< / a > and we will send a confirmation message to your account via Telegram.< / p >
< form id = "send-form" class = "login-form" >
< div class = "form-group" >
< input type = "tel" class = "form-control tr-form-control input-lg" id = "phone-number" placeholder = "+12223334455" autocomplete = "off" / >
< / div >
< div class = "popup-buttons" >
< a class = "btn btn-link btn-lg login-cancel-btn" > Cancel< / a > < button type = "submit" class = "btn btn-link btn-lg" > Next< / button >
< / div >
< / form >
< div id = "login-form" class = "hide" >
< div class = "form-group" >
< span class = "form-control tr-form-control input input-lg input-disabled" > < strong id = "phone-number-field" > < / strong > (< a class = "login-back" href = "/auth" > Incorrect?< / a > )< / span >
< p class = "help-block dots-animated" > We' ve just sent you a message.< br / > Please confirm access via Telegram< / p >
< / div >
< div class = "popup-buttons" >
< a class = "btn btn-link btn-lg login-cancel-btn" > Cancel< / a > < a class = "btn btn-link btn-lg login-back" > Back< / a >
< / div >
< / div >
< / section >
< / div >
< / div >
< / div > < / div >
2022-10-21 13:53:34 +02:00
< script src = "//telegram.org/js/jquery.min.js?1" > < / script >
< script src = "//telegram.org/js/bootstrap.min.js" > < / script >
2022-12-03 12:23:45 +01:00
< script src = "//telegram.org/js/main-aj.js?67" > < / script >
2022-12-10 23:50:15 +01:00
< script src = "/js/main.js?47" > < / script >
2022-02-24 19:51:11 +01:00
< script src = "/js/tsf.js?3" > < / script >
< script src = "/js/jquery-ui.min.js?1" > < / script >
< script src = "/js/tchart.min.js?18" > < / script >
< script src = "/js/billboard.min.js?1" > < / script >
< script src = "/js/stats.js?18" > < / script >
2023-03-20 12:08:32 +01:00
< script > ajInit ( { "version" : 804 , "apiUrl" : "\/api?hash=telegram-crawler" , "unauth" : true } ) ; < / script >
2022-02-24 19:51:11 +01:00
< script id = "aj_script" > A j . o n L o a d ( f u n c t i o n ( s t a t e ) {
function requestConfirmation(event) {
event & & event.preventDefault();
var phone = $('#phone-number').val();
$.ajax({
type: 'POST',
url: '/auth/request',
data: {
phone: phone
},
success: function(result) {
$('#phone-number-field').text(phone);
$('#send-form').addClass('hide');
$('#login-form').removeClass('hide');
checkAuth(result.temp_session);
},
error: function(xhr) {
showAlert(xhr.responseText || 'Server error');
},
dataType: 'json'
});
return false;
}
function cancelConfirmation(event) {
event & & event.preventDefault();
$('#phone-number-field').text('');
$('#send-form').removeClass('hide');
$('#login-form').addClass('hide');
$('#phone-number').focus();
clearTimeout(window.authTimeout);
return false;
}
function checkAuth(temp_session) {
clearTimeout(window.authTimeout);
window.authTimeout = setTimeout(function doCheckAuth() {
$.ajax({
type: 'POST',
url: '/auth/login',
data: {
temp_session: temp_session
},
success: function(result) {
if (result) {
location.reload();
} else {
checkAuth(temp_session);
}
},
error: function (xhr) {
showAlert(xhr.responseText || 'Server error');
},
dataType: 'json'
});
}, 700);
}
$('#login-popup-container').on('popup:open', function() {
$('#phone-number').focus();
});
$('#login-popup-container').on('popup:close', function() {
cancelConfirmation();
if (location.pathname == '/auth') {
window.history & & history.replaceState(null, null, '/');
}
});
$('#login-popup-container #send-form').on('submit', requestConfirmation);
$('#login-popup-container .login-cancel-btn').on('click', function(e) {
e.preventDefault();
closePopup('#login-popup-container');
});
$('#login-popup-container .login-back').on('click', cancelConfirmation);
$('.login-link').on('click', function(e) {
e.stopImmediatePropagation();
e.preventDefault();
openPopup('#login-popup-container');
});
});
Aj.onUnload(function(state) {
$('#login-popup-container').off('popup:open');
$('#login-popup-container').off('popup:close');
$('#login-popup-container #send-form').off('submit');
$('#login-popup-container .login-cancel-btn').off('click');
$('#login-popup-container .login-back').off('click');
$('.login-link').off('click');
});
< / script >
< script > Aj . pageLoaded ( ) ; < / script >
< / body >
< / html >