
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

Евгений
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

Volond
11.03.2017
16:20:21

Евгений
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
Несколько сложнее, но суть примерно та же

denisx
11.03.2017
16:27:42

Volond
11.03.2017
16:28:50

Chuvi
11.03.2017
16:35:07

Евгений
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 года рождения ввести д/р свой. И сколько при этом редактирований сообщений с кнопками нужно, ещё посчитай время на отклик.
Я сильно сомневаюсь, что твой подход будет быстрее и удобнее простого ввода даты с последующей проверкой.
Ещё учти, что в процессе ввода юзер может попросту ввести другие команды, а потом вернуться к выбору, например, года.

Chuvi
11.03.2017
16:46:59

Volond
11.03.2017
16:47:24

Chuvi
11.03.2017
16:47:30

Google

Chuvi
11.03.2017
16:47:58

Евгений
11.03.2017
16:48:28

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

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

Chuvi
11.03.2017
16:50:24

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

Volond
11.03.2017
16:51:01

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
Пардон, исключение: геолокация

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

Vitaly
11.03.2017
18:29:16

f4rt~
11.03.2017
18:29:22

Евгений
11.03.2017
18:29:38

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

Ruslan
11.03.2017
18:30:40

Vitaly
11.03.2017
18:32:04
вок как то так )
можно так, но это велосипед 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
олько если я верно понял его обработает только последний подписчик - не, там цепочка вызовов, ну или дерево, если быть точнее
Хочеться отделить - аггрегируй ;)
Класс обработки - просто обработчик, тут может вообще класс не нужен
а там где тащишь данные - просто дергай в цикле обработчик