В Украине создали "бота-юмориста", который сообщает о снижении цен на поездки в Uber

Размещено: 19.09.2017
В Украине создали "бота-юмориста", который сообщает о снижении цен на поездки в Uber

Житель Киева создал Telegram-бота, который бесплатно отслеживает цены на поездки в Uber и сообщает об их снижении. Об этом информирует Ain.ua.

"Идея возникла из собственной необходимости. Я встречал подобный функционал в виде приложения, но по-моему это слишком громоздко. Реализация через чат-бот – самое простое и быстрое решение", — объяснил создатель Антон Библя.

По его словам, алгоритм простой: в приложении Telegram нужно найти @shuberbot и сбросить ему две локации — точку А и точку В. Если к этому маршруту на данный момент применен пиковый коэффициент, бот уведомит пользователя о снижении цены, как только она произойдет. Если же коэффициент не применен, бот сообщит об этом и выдаст стандартную цену.

Отмечается, что решение не работает в десктопной версии Telegram, поскольку там недоступна возможность отправки локаций.

Чат-бот общается в "шуточном" формате, иногда балуясь жаргонными фразами. Умеет говорить на двух языках — украинском и русском (язык выбирается автоматически на основе установленного языка интерфейса).

Это может показаться кучей сообщений, но по факту их будет не так много, говорит Библя.

"Для пользователя количество сообщений не будет играть особой роли, так как проблема вызова Uber кратковременная, и за этот период отправить их слишком много нельзя", — объяснил он.

Как сообщал NewsOne, украинские пользователи обнаружили возобновление работы ранее заблокированных в Украине сервисов компании "Яндекс. Украина". Редакция NewsOne также сумела открыть странички с сервисами компании, среди которых "Яндекс. Карты", "Яндекс. Картинки", "Яндекс. Новости" и прочее.

Напомним, представители "Яндекс. Украина" заявили о блокировании счетов компании.


Подписывайся на NEWSONE в Facebook. Узнавай первым самые важные новости.
'; str += '
'; if (vote.options.length > 0) { for (var i in vote.options) { str += '' } } str += '
' + '' + 'Результат' + '
' + '
'; $box.parent().find('.dem-loader').hide(); $box.html(str).data('vote', vote).find('#js-vote-fm' + vote.absnum).on('submit', function(event){ event.preventDefault(); var $form = $(this); var $box = $form.closest('.js-vote-box'); var option_absnum = $form.find('input[name="poll"]:checked').val() || 0; if (option_absnum > 0) { $box.parent().find('.dem-loader').show(); $form.prop('disabled', true); $.post(http_addr + lang + '/actions/vote', {vote:[{'absnum':$box.data('absnum') || 0, 'option_absnum': option_absnum}]}, function(data) { var data = typeof data == 'string' ? JSON.parse(data) : data; var done = false; if (data.vote.success) { var vote = data.vote.result; $box.data('vote', vote); set_options_done(vote.absnum, option_absnum); done = true; } else { if (data.vote.result.errno == 0) { done = true; } else { alert(data.vote.result.error); } $form.prop('disabled', false); } if (done) { var done_votes = $.cookie('done_votes') || ''; done_votes = done_votes.split(','); if ( done_votes.indexOf($box.data('vote').absnum) == -1) { done_votes.push($box.data('vote').absnum); $.cookie('done_votes', done_votes.join(','), {expires: 364, path: '/'}); } build_vote_results($box, $box.data('vote')); }else{ $box.parent().find('.dem-loader').hide(); } }); } else { alert('Выберите вариант ответа'); } }); } function set_options_done(vote, option){ var votes_options = $.cookie('votes_options') || '{}'; votes_options = JSON.parse(votes_options); if ( typeof votes_options[vote] == 'undefined') { votes_options[vote] = option; $.cookie('votes_options', JSON.stringify(votes_options), {expires: 364, path: '/'}); } } function get_options_done(vote){ var votes_options = $.cookie('votes_options') || '{}'; votes_options = JSON.parse(votes_options); return typeof votes_options[vote] != 'undefined' ? votes_options[vote] : 0; } function build_vote_results($box, vote) { // get date of creations tart var created = new Date(parseInt(vote.created) * 1000), created_day = created.getDate(), created_month = created.getMonth() + 1, created_year = created.getFullYear(), created_date; created_month < 10 ? '0' + created_month : created_month; created_day < 10 ? created_day = '0' + created_day : created_day; created_date = created_day + '.' + created_month + '.' + created_year; var done_votes = $.cookie('done_votes') || ''; done_votes = done_votes.split(','); var opt = get_options_done(vote.absnum); var str = '
' + vote.title + '
'; if (parseInt(vote.total_votes) == 0) { vote.total_votes = 1; } if (vote.options.length > 0) { for (var i in vote.options) { var p = Math.ceil((parseInt(vote.options[i].votes)*100)/parseInt(vote.total_votes)); str += '
' + '
' + vote.options[i].title + '
' + '
' + '
' + ' ' + '
' + '
'; } } if (done_votes.indexOf(vote.absnum+'') != -1 || vote.is_ended) { }else{ str += ''; } str += '
'+created_date+'
'; $box.html(str); $box.parent().find('.dem-loader').hide(); // animation progressbar's $('.vote_fill').each(function () { var fillWidth = $(this).attr('data-width'); $(this).width(fillWidth); }); } if (!window.format) { window.format=function(b,a){if(!b||isNaN(+a))return a;var a=b.charAt(0)=="-"?-a:+a,j=a<0?a=-a:0,e=b.match(/[^\d\-\+#]/g),h=e&&e[e.length-1]||".",e=e&&e[1]&&e[0]||",",b=b.split(h),a=a.toFixed(b[1]&&b[1].length),a=+a+"",d=b[1]&&b[1].lastIndexOf("0"),c=a.split(".");if(!c[1]||c[1]&&c[1].length<=d)a=(+a).toFixed(d+1);d=b[0].split(e);b[0]=d.join("");var f=b[0]&&b[0].indexOf("0");if(f>-1)for(;c[0].length