mirror of
https://github.com/MarshalX/telegram-crawler.git
synced 2024-11-25 00:38:33 +01:00
285 lines
13 KiB
HTML
285 lines
13 KiB
HTML
<!DOCTYPE html>
|
||
<html>
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<title>Developer Challenges</title>
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
|
||
<meta name="format-detection" content="telephone=no" />
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||
<meta name="MobileOptimized" content="176" />
|
||
<meta name="HandheldFriendly" content="True" /><meta property="og:title" content="Telegram Developer Challenges">
|
||
<meta property="og:description" content="Participate in Telegram Coding Competitions and help find issues in the apps.">
|
||
|
||
<link rel="shortcut icon" href="/img/cd_favicon.ico" type="image/x-icon" />
|
||
<link rel="mask-icon" href="/img/cd_icon.svg" color="#299ed8">
|
||
<script>document.cookie="stel_dt="+encodeURIComponent((new Date).getTimezoneOffset())+";path=/;max-age=31536000;samesite=None;secure"</script>
|
||
|
||
<link href="https://fonts.googleapis.com/css?family=Roboto:400,500,700" rel="stylesheet" type="text/css">
|
||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||
<link href="/css/bootstrap-extra.css?2" rel="stylesheet">
|
||
<link href="/css/telegram.css?214" rel="stylesheet">
|
||
<link href="/css/contest.css?40" rel="stylesheet">
|
||
<link href="/css/contest-zoo.css?7" rel="stylesheet">
|
||
<link href="/css/jquery-ui.min.css?1" rel="stylesheet">
|
||
|
||
</head>
|
||
<body class="emoji_image no-transition">
|
||
|
||
<div id="aj_progress" class="progress-bar"></div>
|
||
|
||
<div id="aj_content"><div class="cd-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-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 class="cd-logo"><a href="/"><i class="cd-icon"></i><span class="cd-logo-title">Developer Challenges</span></a></li></ol>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</header>
|
||
<main class="container"><section class="cd-aside">
|
||
|
||
<div class="cd-markdown cd-markdown-page">
|
||
<h4>Recent News</h4>
|
||
<p>Subscribe to the <a href="https://t.me/contest">Telegram Contests</a> channel for the latest updates and information about <strong>ongoing competitions</strong>.</p>
|
||
<h4>About this Platform</h4>
|
||
<p>Everybody is welcome to try out works submitted by the contestants and create issues (with supporting videos and screenshots) if they encounter any problems.</p>
|
||
<p><br></p>
|
||
|
||
<p>Contestants can respond to issues. They appear on the platform under <strong>animal aliases</strong> to ensure fairness and transparency in testing. <strong>Admins</strong> will be around to do their own checks on the apps and tally up the <strong>results</strong>.</p>
|
||
<p><br></p>
|
||
|
||
<p>If you're looking for information about contests that are currently open, check the <a href="https://t.me/contest">Telegram Contests</a> channel.</p>
|
||
</div>
|
||
</section>
|
||
<section class="cd-content">
|
||
|
||
<h3 class="cd-header">Contests</h3>
|
||
<a href="/android-nov2021" class="cd-contest">
|
||
<div class="cd-contest-title">November 2021 Android Contest. $50,000<span class="cd-badge cd-badge-new">New</span></div>
|
||
<div class="cd-contest-period">Nov 5 – Nov 15</div>
|
||
</a><a href="/gif2021-r2" class="cd-contest">
|
||
<div class="cd-contest-title">GIF Contest, Round 2. $50,000<span class="cd-badge cd-badge-new">New</span></div>
|
||
<div class="cd-contest-period">Sep 8 – Nov 9</div>
|
||
</a><a href="/android-design" class="cd-contest">
|
||
<div class="cd-contest-title">Android Design Contest. $30,000<span class="cd-badge cd-badge-new">New</span></div>
|
||
<div class="cd-contest-period">Jul 8 – Aug 1</div>
|
||
</a><a href="/sticker-app" class="cd-contest">
|
||
<div class="cd-contest-title">Sticker App Contest. $50,000</div>
|
||
<div class="cd-contest-period">Jun 25 – Jul 4</div>
|
||
</a><a href="/ios2021-r3" class="cd-contest">
|
||
<div class="cd-contest-title">iOS Contest, Round 3 (watchOS)</div>
|
||
<div class="cd-contest-period">May 19 – Jun 6</div>
|
||
</a><a href="/dc2021-r2" class="cd-contest">
|
||
<div class="cd-contest-title">Data Clustering Contest 2021, Round 2. $50,000</div>
|
||
<div class="cd-contest-period">Apr 17 – May 2</div>
|
||
</a><a href="/android2021-r2" class="cd-contest">
|
||
<div class="cd-contest-title">Android Contest 2021, Round 2. $50,000</div>
|
||
<div class="cd-contest-period">Mar 19 – Apr 4</div>
|
||
</a><a href="/gif2021-r1" class="cd-contest">
|
||
<div class="cd-contest-title">GIF Contest, Round 1. $50,000</div>
|
||
<div class="cd-contest-period">Mar 17 – Mar 31</div>
|
||
</a><a href="/stickers2021-r1" class="cd-contest">
|
||
<div class="cd-contest-title">Animated Sticker Contest 2021. $50,000</div>
|
||
<div class="cd-contest-period">Mar 11 – Mar 26</div>
|
||
</a><a href="/ios2021-r2" class="cd-contest">
|
||
<div class="cd-contest-title">watchOS Contest 2021. $47,000</div>
|
||
<div class="cd-contest-period">Mar 5 – Mar 21</div>
|
||
</a><a href="/android2021-r1" class="cd-contest">
|
||
<div class="cd-contest-title">Android Contest 2021. $60,000</div>
|
||
<div class="cd-contest-period">Jan 30 – Feb 14</div>
|
||
</a><a href="/ios2021-r1" class="cd-contest">
|
||
<div class="cd-contest-title">iOS Animation Contest 2021. $50,000</div>
|
||
<div class="cd-contest-period">Jan 15 – Jan 31</div>
|
||
</a><a href="/aptitude-tests" class="cd-contest">
|
||
<div class="cd-contest-title">Aptitude Test Contest. €250,000</div>
|
||
<div class="cd-contest-period">Dec 31, 2020 – Jan 9</div>
|
||
</a><a href="/javascript-web-bonus" class="cd-contest">
|
||
<div class="cd-contest-title">JavaScript Contest, Bonus Round</div>
|
||
<div class="cd-contest-period">Aug 18 – Sep 1, 2020</div>
|
||
</a><a href="/javascript-web-3" class="cd-contest">
|
||
<div class="cd-contest-title">JavaScript Contest, Stage 3</div>
|
||
<div class="cd-contest-period">May 30 – Jun 20, 2020</div>
|
||
</a><a href="/data-clustering-2" class="cd-contest">
|
||
<div class="cd-contest-title">Data Clustering Contest, Stage 2. €100,000</div>
|
||
<div class="cd-contest-period">May 11 – May 25, 2020</div>
|
||
</a><a href="/voip-contest-3" class="cd-contest">
|
||
<div class="cd-contest-title">VoIP Contest, Stage 3. €50,000</div>
|
||
<div class="cd-contest-period">Mar 9 – Mar 30, 2020</div>
|
||
</a><a href="/blockchain-2-bonus" class="cd-contest">
|
||
<div class="cd-contest-title">Blockchain Contest, Stage 2: Bonus Prize €80,000</div>
|
||
<div class="cd-contest-period">Mar 6 – Mar 20, 2020</div>
|
||
</a><a href="/javascript-web-2" class="cd-contest">
|
||
<div class="cd-contest-title">JavaScript Contest, Stage 2</div>
|
||
<div class="cd-contest-period">Jan 31 – Feb 15, 2020</div>
|
||
</a><a href="/voip-contest-2" class="cd-contest">
|
||
<div class="cd-contest-title">VoIP Contest, Stage 2. $75,000</div>
|
||
<div class="cd-contest-period">Jan 14 – Jan 29, 2020</div>
|
||
</a><a href="/blockchain-2" class="cd-contest">
|
||
<div class="cd-contest-title">Blockchain Contest, Stage 2. $100,000</div>
|
||
<div class="cd-contest-period">Dec 7 – Dec 22, 2019</div>
|
||
</a><a href="/data-clustering" class="cd-contest">
|
||
<div class="cd-contest-title">Data Clustering Contest. $100,000</div>
|
||
<div class="cd-contest-period">Nov 18 – Dec 2, 2019</div>
|
||
</a><a href="/javascript-web" class="cd-contest">
|
||
<div class="cd-contest-title">Javascript Contest, Stage 1. $80,000+</div>
|
||
<div class="cd-contest-period">Nov 3 – Nov 17, 2019</div>
|
||
</a><a href="/voip-contest" class="cd-contest">
|
||
<div class="cd-contest-title">VoIP Contest, Stage 1. $50,000+</div>
|
||
<div class="cd-contest-period">Oct 15 – Oct 26, 2019</div>
|
||
</a><a href="/animated-stickers" class="cd-contest">
|
||
<div class="cd-contest-title">Animated Stickers Contest. $25,000+</div>
|
||
<div class="cd-contest-period">Oct 5 – Oct 20, 2019</div>
|
||
</a><a href="/themes" class="cd-contest">
|
||
<div class="cd-contest-title">Theme Design Contest. $25,000+</div>
|
||
<div class="cd-contest-period">Oct 5 – Oct 20, 2019</div>
|
||
</a><a href="/blockchain" class="cd-contest">
|
||
<div class="cd-contest-title">Blockchain Contest. $200,000–400,000</div>
|
||
<div class="cd-contest-period">Sep 24 – Oct 15, 2019</div>
|
||
</a><a href="/telegrambugs" class="cd-contest">
|
||
<div class="cd-contest-title">Bugs on Telegram</div>
|
||
<div class="cd-contest-period">Jun 14 – Jun 23, 2019</div>
|
||
</a><a href="/chart-js" class="cd-contest">
|
||
<div class="cd-contest-title">JavaScript Chart Competition. $50,000</div>
|
||
<div class="cd-contest-period">Apr 7 – Apr 15, 2019</div>
|
||
</a><a href="/chart-android" class="cd-contest">
|
||
<div class="cd-contest-title">Android Chart Competition. $50,000</div>
|
||
<div class="cd-contest-period">Apr 7 – Apr 15, 2019</div>
|
||
</a><a href="/chart-ios" class="cd-contest">
|
||
<div class="cd-contest-title">iOS Chart Competition. $50,000</div>
|
||
<div class="cd-contest-period">Apr 7 – Apr 15, 2019</div>
|
||
</a>
|
||
</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 leave comments and take part in the Telegram Competitions. 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 cd-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 cd-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>
|
||
<script src="/js/jquery.min.js?1"></script>
|
||
<script src="/js/bootstrap.min.js"></script>
|
||
<script src="/js/main-aj.js?56"></script>
|
||
<script src="/js/contest.js?24"></script>
|
||
<script src="/js/jquery-ui.min.js?1"></script>
|
||
<script src="/js/tgsticker.js?24"></script>
|
||
|
||
<script>ajInit({"version":373,"apiUrl":"\/api?hash=telegram-crawler","unauth":true});</script>
|
||
<script id="aj_script">Aj._useScrollHack=true;
|
||
Aj.onLoad(function(state) {
|
||
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>
|
||
|