Fork me on GitHub
#clojure-russia
<
2016-04-25
>
niwinz05:04:06

https://github.com/funcool/catacumba is also an alternative, pedestal-like but better documented 😛

bezrukov07:04:10

@az я пишу сейчас для телеграма

lowl4tency08:04:17

bezrukov: ботика?

lowl4tency08:04:48

у меня тоже есть ботик на кложе для телеграма )

bezrukov08:04:59

скоро они у всех будут))

dottedmag08:04:01

Instant Telegram Bots: add an AWS account, stir, and warm up in a microwave oven. Only $4.99, limited-time offer.

az08:04:33

@bezrukov: @lowl4tency показывайте

lowl4tency08:04:46

мне пока стыдно )

lowl4tency08:04:54

надо зарефакторить и добавить фич мальца

az08:04:12

Ну не код хоть покажи

bezrukov08:04:03

нельзя - уволить могут)

kronos_vano09:04:42

http://apidock.com/rails/Hash/slice кто подскажет аналог?

kronos_vano09:04:55

Отвечу сам себе: select-keys

lowl4tency10:04:05

az: @bigvillbot в телеграмме

lich10:04:17

@lowl4tency, @az, @bezrukov: давайте обсудим архитектурные моменты? Используете webHooks или getUpdates? Используете ли сторонние библиотеки?

bezrukov10:04:48

getUpdates пока достаточно

lowl4tency10:04:09

я использую хуки, использую алеф в качестве веб-сервера

lowl4tency10:04:47

использую датомик

lich10:04:30

использование хуков означает необходимость тестировать на сервере, как я понимаю

lowl4tency10:04:30

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

lowl4tency10:04:46

lich: да. у меня бот запущен в репле simple_smile

bezrukov10:04:05

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

lich10:04:40

когда я пытался писать бота полгода назад, там были сложности с сертификатами. Там все попрежнему сложно?

az10:04:30

webhook

az10:04:52

интерактивная разработка и всё такое

lich10:04:15

@az круто, спасибо

az10:04:21

то есть мой ноут выглядит для вконтача как сервак

lowl4tency10:04:43

lich: я закинул летсенкрипт

lowl4tency10:04:52

по идее если у тебя не самоподписанный серт то проблем нет

az10:04:19

@lich пока без сертификатов пишу

az10:04:38

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

lich10:04:17

@az про новый хост не понял

lowl4tency10:04:40

az: спасибо, не знал про такое

az10:04:18

ngrok генерирует тебе хост уникальный, иногда он меняется, поэтому приходится иногда заново дёргать setWebhook, с новым урлом

az10:04:35

ну фактически перерегистрация бота

lowl4tency10:04:27

а я сетвебхук дергаю каждый запуск

az10:04:52

ну можно и так)

bezrukov10:04:09

@lowl4tency: инженерный подход))

lowl4tency10:04:28

я же инженер а не программист simple_smile

az10:04:38

вообще с таким подходом очень удобно деплоить

az10:04:55

как dns перекинуть

andfadeev10:04:12

я на опеншифт деплою и юзаю их https урл для вебхука

bezrukov10:04:13

ну я в смысле - подход очень правильный)

lowl4tency10:04:31

bezrukov: 😄

az10:04:25

у меня вот reply_markup не пашет, огорчает пиздец как

az10:04:55

ни на маке ни на айфоне

az10:04:05

кому удалось вот эту херню прикрутить https://core.telegram.org/bots#keyboards ?

lowl4tency10:04:55

я еще не пробовал

lowl4tency10:04:09

у меня в роадмапе пока шедулер прикрутить

lowl4tency10:04:11

и тротлер

lich10:04:17

@az попробовал ngrok это просто WOW

bezrukov10:04:18

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

lowl4tency10:04:38

там вроде можно либо только инлайн либо только пм

lowl4tency10:04:42

или можно оба сразу?

bezrukov10:04:22

хз, я пока маркап вообще не пробовал

konukhov10:04:10

а я обиделся на ngrok – купил предыдущую версию, а она теперь не работает

lowl4tency10:04:12

вот подскажите как архитектурно лучше сделать, нужно чтобы сообщение отправлялось по времени, это нужно хранить сообщение, хранить время и дату, и как-то проверять какое сейчас время

lowl4tency10:04:28

то есть мне нужен кронтаб по сути внутри приожения

lowl4tency10:04:46

и еще нужно как-то оформить чтобы человеку было просто задать время дату отправки

dottedmag10:04:21

@lowl4tency: Кронтаб внутри приложения? https://github.com/prepor/twarc

az10:04:21

@lowl4tency: попробуй pgagent

lowl4tency10:04:27

у меня были мысли сделать "отправить сообщение через 5 часов"

lowl4tency10:04:40

и задавать не время точное отправки а задержку

lowl4tency10:04:56

и забивать сообщения в очередь

az11:04:13

заюзай сторонний сервис)

az11:04:22

или другого бота)

lowl4tency11:04:05

у меня тут мысль сделать для изданий бота универсального

lowl4tency11:04:18

вот это у меня уже фичреквест от пользователей

lowl4tency11:04:55

я потом закину на код ревью наверное вам )

az11:04:55

изданий?

az11:04:07

литрес / ьукмейт ?

lowl4tency11:04:10

ну сейчас дохрена всяких новостных и прочих пабликов

lowl4tency11:04:51

а потом еще кложапресс сделать )

lowl4tency11:04:10

и публично сжечь вордпресс

wwall11:04:13

Всем привет. По squarepeg кто может просветить?

lowl4tency11:04:58

а вот у меня совсем нубский вопрос, у меня есть core.clj в нем написано бла бла бла и в конце (start-server blabla) я вот привык к всяким скриптам и в скриптах обычно пока сервер не остановишь дальше ничего не случится. В случае с кложей у меня отдельный тред? и я могу после start-server писать все что хочу и оно продолжит выполнение? Проверять слишком муторно самому )

lowl4tency11:04:38

или это сильно зависит от того как сделан start-server?

maxp11:04:10

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

lowl4tency11:04:50

maxp: у меня пока приватный реп

maxp11:04:01

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

maxp11:04:02

вроде уже понятно, что интернет довольно быстро уезжает на просторы чатиков,

maxp11:04:11

но пока не очень понятно, как дальше с этим жить

lowl4tency11:04:25

maxp: вот я и решил впрыгнуть на поезд

az11:04:17

как жить то понятно, а вот как заработать - хз

bezrukov11:04:20

у меня все с закрытыми исходниками пока.. Вот тут товарища вроде что-то есть посмотреть https://github.com/Otann

maxp11:04:38

у меня проблема - я не могу что-то продуктивно делать, пока не пойму, зачем именно это надо и куму именно simple_smile

az11:04:52

ну так не делай

maxp11:04:02

ну так и не далаю simple_smile

az11:04:03

этож просто веселуха для гиков)

az11:04:14

как 3д принтер - абсолютно бесполезная херня)

az11:04:16

но весело

maxp11:04:20

не скажи,

maxp11:04:38

мобилки уже аудиторию оттянули

az11:04:45

от чего? )

az11:04:49

социалок? )

maxp11:04:59

он остального интернета

lowl4tency11:04:17

az: как заработать тоже есть мысли )

az11:04:19

не верю

maxp11:04:20

социалки тоже по сути интернет в себе

lowl4tency11:04:29

az: можно продавать ботов 😄

lowl4tency11:04:34

как раньше сайты продавали )

maxp11:04:50

просто боты никому нафиг не сдались

az11:04:52

@lowl4tency: купишь моего бота?

lowl4tency11:04:58

давай, а ты моего

maxp11:04:00

надо чтобы они что-то полезное делать умели

az11:04:08

вот и разбагатели

lowl4tency11:04:26

maxp: капитан? не узнал вас

az11:04:34

@bezrukov: делаю тоже самое, не пашет

az11:04:50

это заговор

lowl4tency11:04:03

проблема ботов еще в том, что нормальное апи только у телеграма

lowl4tency11:04:15

в вконтакт фейсбук и вотсап хер влезешь

maxp11:04:21

видишь ли, сайтики продавали и продают, даже тогда когда они ничего полезного не умеют делать,

maxp11:04:29

а с ботами так уже не получится.

az11:04:04

щас напишу ботограм и получу свой милиард!!11

bezrukov11:04:25

@az: а сам текст сообщения доходит при этом?

lowl4tency11:04:30

вы далеко все не разбегайтесь, я когда получу инвестиций милион найму вас )

bezrukov11:04:53

тогда это точно заговор)

az11:04:21

покажи какой response тебе в ответ прилетает

bezrukov11:04:33

сейчас

az11:04:05

разобрался

az11:04:15

отправлял не json, форму отправлял

az11:04:22

спасибо

bezrukov11:04:42

не за что)

lich12:04:24

там были выше вопросы про таймеры. Я не совсем понимаю, а средствами core.async это можно реализовать?

bezrukov12:04:42

@lich: да, в core.async есть функция timeout, как раз для этого должна подойти

lich13:04:22

или в канал передавать сообщения с временной меткой и выдавать их по результатам сравнения с системным временем.

bezrukov13:04:43

типа того, но таймер в любом случае нужен будет. На сколько я понимаю сейчас есть два основных способа это сделать, либо Thread/sleep, либо timeout для core.async (который тоже где-то внутри вероятно на Thread/sleep завязан).

andfadeev13:04:01

thread/sleep не стоит юзать внутри го блоков

abtv15:04:31

>либо timeout для core.async (который тоже где-то внутри вероятно на Thread/sleep завязан) вряд ли завязан, там же пул потоков за го блоками @bezrukov

abtv15:04:10

там может быть очень много го блоков, гораздо меньше числа потоков

bezrukov16:04:36

на сколько я понял таймеры core.async в своем потоке живут, а не в "общем пуле"

bezrukov16:04:44

и всю работу делает java.util.concurrent.DelayQueue