@botoid

Страница 625 из 4042
Volond
11.03.2017
16:08:08
Красиво просто когда юзвер заполняет а тебе сразу маска ввода
Маска это внутри проверка на правильность ввода значит гдето внутри есть алгоритм который это прверяет после ввода каждого символа

Aztwin LK
11.03.2017
16:09:42
Я не об этом

Я о том, когда в тг набираешь дату например

Чтобы маска была

Google
Volond
11.03.2017
16:10:10
Я сам задумывался р том почему нет масок

В тг апи

Маска априори должна быть

Евгений
11.03.2017
16:11:31
Напиши HTML5-приложение и используй для регистрации (которое в телеге как "игра")

Volond
11.03.2017
16:12:21
Причем пользовательская коорую можно настроить как в excel

Евгений
11.03.2017
16:13:45
????
https://telegram.org/blog/games Игры на HTML5 делаются. Что мешает вместо игры подсунуть обычное "веб-приложение"? Само собой, с соблюдением правил игровой платформы

При переходе в такую игру/приложение передаётся user_id пользователя, для идентификации этого достаточно

Aztwin LK
11.03.2017
16:14:48
Кстати ребята хорошая идея

Нужно взять на заметку

Volond
11.03.2017
16:15:47
При переходе в такую игру/приложение передаётся user_id пользователя, для идентификации этого достаточно
Мы просто говорили за маски типа ####-## но символ # используется как хештег

Евгений
11.03.2017
16:16:08
Символов много

Volond
11.03.2017
16:17:52
Нужно взять на заметку
Реально написать возможно через регулярку но слаб хотя чуствую пару строк кода

Google
Volond
11.03.2017
16:18:20
Евгений
11.03.2017
16:18:30
Всмысле?
Ну причём тут ####.## ?

Реально написать возможно через регулярку но слаб хотя чуствую пару строк кода
Регулярок на даты рождения в интернете дохрена, разной степени подробности.

Volond
11.03.2017
16:19:33
Ip ###.###.###.###

Евгений
11.03.2017
16:19:46
Евгений
11.03.2017
16:20:49
В чём твоя проблема, объясни нормально

Volond
11.03.2017
16:21:37
В чём твоя проблема, объясни нормально
Не моя но интересно илайн кнопки ввода даты

Евгений
11.03.2017
16:22:18
Вернулись в начало разговора: почему бы просто не использовать регулярное выражение?

Volond
11.03.2017
16:25:19
Из серии of vvodpozv="????-??" then true

Евгений
11.03.2017
16:27:02
Несколько сложнее, но суть примерно та же

Volond
11.03.2017
16:28:50
Rich input ?
Типа MaskGeem

Евгений
11.03.2017
16:39:37
Кнопки нажать проще.
В случае с телегой я бы поспорил. Местный интерфейс не очень способствует вводу дат через кнопки

Chuvi
11.03.2017
16:41:12
Немного статистики и фантазии могут выбор года свести к последовательному нажатию максимум трёх (а чаще двух) кнопок из массива [ '<1970'=>[ '1940+'=>[1to9], '1950+'=>[1to9], '1960+'=>[1to9] ], '1970+'=>[1to9], '1980+'=>[1to9], '1990+'=>[1to9], '2000+'=>...] Ибо большинство попадёт в это пространство.

Евгений
11.03.2017
16:44:35
Немного статистики и фантазии могут выбор года свести к последовательному нажатию максимум трёх (а чаще двух) кнопок из массива [ '<1970'=>[ '1940+'=>[1to9], '1950+'=>[1to9], '1960+'=>[1to9] ], '1970+'=>[1to9], '1980+'=>[1to9], '1990+'=>[1to9], '2000+'=>...] Ибо большинство попадёт в это пространство.
Представь, сколько времени и действий потребуется, чтобы человеку 85 года рождения ввести д/р свой. И сколько при этом редактирований сообщений с кнопками нужно, ещё посчитай время на отклик. Я сильно сомневаюсь, что твой подход будет быстрее и удобнее простого ввода даты с последующей проверкой. Ещё учти, что в процессе ввода юзер может попросту ввести другие команды, а потом вернуться к выбору, например, года.

Volond
11.03.2017
16:47:24
Немного статистики и фантазии могут выбор года свести к последовательному нажатию максимум трёх (а чаще двух) кнопок из массива [ '<1970'=>[ '1940+'=>[1to9], '1950+'=>[1to9], '1960+'=>[1to9] ], '1970+'=>[1to9], '1980+'=>[1to9], '1990+'=>[1to9], '2000+'=>...] Ибо большинство попадёт в это пространство.
День рождения точнее год это случайность его нужно вводит через цефровую клаву а во день 1-31 и месяц 1-12 можно чкез кнопки хотя в телеге есть андоид подобный выбор дат

Google
Chuvi
11.03.2017
16:49:06
Ну, ну мы не берём в расчёт тех людей которые хостятся далеко от api.telegram.org, это их проблемы.

Евгений
11.03.2017
16:50:00
Ну почему же... ты же предлагаешь универсальное решение

Chuvi
11.03.2017
16:50:24
Отклик на колбэк в первую очередь зависит от местоположения сервера с ботом, а не от MTProto.
Серьёзно, я почувствовал себя человеком с ограниченными возможностями. Я буду учитывать их теперь обязательно в разработке.

Евгений
11.03.2017
16:50:44
¯\_(ツ)_/¯

Chuvi
11.03.2017
16:51:55
Ну почему же... ты же предлагаешь универсальное решение
Я предлагаю решение для удобства - вариантс кнопками + вариант с парсингом. Кому какой удобнее - тот сам выберет.

Евгений
11.03.2017
16:52:31
Собственно, да. Плюсы и минуса каждого из подходов мы тут обсудили. А дальше кто какой вариант выберет, дело его

Volond
11.03.2017
16:53:16


Вот решение от Тг для ботов

Евгений
11.03.2017
16:54:15
Вот решение от Тг для ботов
Есть маааааленькая проблема: Bot API по своей природе не имеет возможности взаимодействовать с ОС

Пардон, исключение: геолокация

Chuvi
11.03.2017
16:54:58
До тех пор пока не прикрутят dateKeyboard какой-нить.

Евгений
11.03.2017
16:55:11
Но это будет очень нескоро, если будет, конечно же

Volond
11.03.2017
16:55:48
Я о том же

Но как работает эта штука с точки зрения пользователя

День месяц год

Боту лучше год месяц день для того чтобы потом определить високосный или нет

Google
Chuvi
11.03.2017
17:09:41
Ну меня по крайенй мере когда про ДР спрашивают, мне дата и месяц в голову первыми приходят )))

Volond
11.03.2017
17:26:54
А где золотая середина

Человек это день месяц год бот год месяц день или календарь как контрол

Вау у меня есть желание это воплотить в жизнь

Через инлайнкейбоард

Пишу с мобил а так бы уже делал

Sasha
11.03.2017
17:37:12
ребят

киньте ссылку на js чат

https://paste.ofcode.org/U5r5tnrHdEdb7yVBAYEXx8 вот тут не работает что-то(

я пытаюсь разобраться с магией js, но она не поддается

Vitaly
11.03.2017
18:01:06
this.increment = () => { return this.st++; }

Ruslan
11.03.2017
18:19:51
setInterval(() => action(c1), 3000); setInterval(() => action(c2), 3000); setInterval(() => action(c3), 3000);

А разве не setInterval не верно работает?

action выполняется один раз, а не по интервалу

Сам не js разраб, но было интересно решить, могу не правильно выражаться

https://jsfiddle.net/tcf90sxp/

Ilusha [←↓ ↑→]
11.03.2017
18:27:19
Привет, ребята. Где можно захостить, своего бота, написанного на Java?

Google
Dmitriy
11.03.2017
18:27:56
Любой впс сервер подойдет

Евгений
11.03.2017
18:28:29
Привет, ребята. Где можно захостить, своего бота, написанного на Java?
Посмотри в сторону Scaleway (выбирай Амстердам в качестве региона)

Vitaly
11.03.2017
18:29:16
Сам не js разраб, но было интересно решить, могу не правильно выражаться
setInterval(() => {action(c1)}, 3000); setInterval(() => {action(c2)}, 3000); setInterval(() => {action(c3)}, 3000);

Евгений
11.03.2017
18:29:38
у них партнерку сделали?
Не знаю, как-то не испытывал в этом необходимости

f4rt~
11.03.2017
18:29:43
а то мне 7 месяцев назад по промокоду "обещали"

?

Ruslan
11.03.2017
18:30:40
setInterval(() => {action(c1)}, 3000); setInterval(() => {action(c2)}, 3000); setInterval(() => {action(c3)}, 3000);
А обязательно если одна фукнция расставлять скобки? сработало и без этого. Или это правила хорошего тона?

Vitaly
11.03.2017
18:32:04
А обязательно если одна фукнция расставлять скобки? сработало и без этого. Или это правила хорошего тона?
здесь обязательно, ибо оно не испольхует аргументы лямбды то есть твой вариант это тоже самое что const x = action(c1) setInterval(() => x, 3000);

вок как то так )

можно так, но это велосипед setInterval((x) => action(c1, x), 3000);

Но лучше конечно переписать это все )

Ruslan
11.03.2017
18:41:18
здесь обязательно, ибо оно не испольхует аргументы лямбды то есть твой вариант это тоже самое что const x = action(c1) setInterval(() => x, 3000);
спс. Раз пошла такая пьянка. Можешь подсказать решение (куда смотреть). Это в js (делаю на js в связи с наличием либ по необходимой теме). Есть объект который занимается скачиванием информации порциями. Порция за порцией. Каждый раз, когда готова новая порция - я ее пуляю через event emmit - emit('newBlock', block). Те, кому это интересно подписываются на это событие - obj.on('newBlock', function(block) { return Promise(...) }). Объект который получает порция - сохраняет в базе отметку, что он уже получил, но не ждет пока порция обработается. Ищу как сделать так, чтобы я мог из объекта опубликовать событие и дождаться пока все, кто на него не подписались - не обработают его. И только потом получать новую порцию.. Еще не нашел как (проектом занимаюсь по выходным, завтра думал засесть и буду признателен за наводки.)

Vitaly
11.03.2017
18:46:37
Тут либо ивент эмиттер, либо очередь. Как бы разные подходы. Просто очередь и ждать пока все клиенты не ответят. Promise.all и вперед

Именно поэтому все js либы для телеги которые юзают эвэнтэмиттер - имеют бажный лонгполлинг ) Юниоры :)

Ruslan
11.03.2017
18:54:57
Мне не обязательно eventemmit, но хочется отделить класс по добыче инфы, от обработчиков. Думал расковыривать как у тебя в telegraf сделано (за либу отдельно спасибо, использую).Там мне нравится, что я, как бы подписываюсь на событие (только если я верно понял его обработает только последний подписчик). Внутри какая магия не смотрел. В том кто эммит события и думаю использовать Promise.all, вот только ищу способ сделать это - как правильно ну и красиов.

Vitaly
11.03.2017
18:58:39
олько если я верно понял его обработает только последний подписчик - не, там цепочка вызовов, ну или дерево, если быть точнее

Хочеться отделить - аггрегируй ;)

Класс обработки - просто обработчик, тут может вообще класс не нужен

а там где тащишь данные - просто дергай в цикле обработчик

Страница 625 из 4042