[#]
ответ из im
51t(lenina,1) — All
2014-04-04 13:50:25
> прорегулярки там что-то было
посмотри php-код и то, что делает preg_replace.
нужен нормальный фильтр на имена.
а сайт парсить - оно тебе зачем. ты же не веб-интерфейс делаешь.
[#]
Re: ответ из im
vit01(lenina,50) — 51t
2014-04-04 15:15:14
Про хеши: разобрался, надо в функцию hash для бинарных данных передавать третим параметром true
> посмотри php-код и то, что делает preg_replace.
функция getmsg, как я правильно понял?
> нужен нормальный фильтр на имена.
А какой конкретно? :)
> а сайт парсить - оно тебе зачем. ты же не веб-интерфейс делаешь.
Мне просто нужна поддержка поинтов в пхп ноде, я не собирался парсить сайт :)
[#]
Re: ответ из im
51t(lenina,1) — vit01
2014-04-04 17:02:06
в эталонной ноде регулярки остались только в проверке на имя эхи и имя сообщения. и они немного неправильные, кстати, и вообще, нет им доверия :) то, что мы делали - мы делали только для веб-интерфейса, для красявой расстановки тэгов
то, что сейчас в php-коде - это вообще нечто ужасное. нужно хотя бы до питон-версии их довести
[#]
Re: ответ из im
51t(lenina,1) — vit01
2014-04-04 17:04:10
> И ещё: где (в каком файле) в питоновской версии записана логика поинтов?
там много где. логика пойнтов - это основная логика сайта. :)
я хочу для sa-node сделать опциональную поддержку пойнтов (хотя это противоречит сути sa-node, она нужна для того, чтобы со своего пойнтогвого комплекта быстро поднять гейт - например, с кем-то обмениваться или синхронизроваться). либо сделаю отдельную ноду без веб-интерфейса, посмотрим.
[#]
Re: ответ из im
vit01(lenina,50) — 51t
2014-04-04 17:09:05
Я уже решил портировать api на php, заодно изучу его получше
[#]
Re: ответ из im
vit01(lenina,50) — 51t
2014-04-04 17:57:04
Можно, пожалуйста, поподробнее объяснить мне логику отправки сообщений на сервер.
Предположим, есть у меня на сервере get /u/point/pauth/tmsg post /u/point. Если я передаю сообщение через get, то вместо pauth вставляется пароль поинта, вместо tmsg сообщение, да? А если через пост, то как тогда?
[#]
Re: ответ из im
vit01(lenina,50) — 51t
2014-04-04 18:15:25
С этим понял. Теперь сообщение - это
эха
получатель или All
тема
пусто
msgid, на который отвечаем
любой текст на всех строках
Так?
[#]
Re: ответ из im
51t(lenina,1) — vit01
2014-04-04 18:19:22
да. кладжи пока приделаны кривовато, но вообще, оптимально, то, что начинается с первой строки с @xxx: yyy - это кладжи. сейчас только repto проверяется.
его может и не быть. т.е.
эха
получатель
тема
текст сообщения
текст
и кладжи, включая @repto, уже относятся к самому тексту. если клиент его не понимает - он его просто показывает, в надежде, что юзер сам разберётся, что это за информация. :)
сейчас идёт проверка только на @repto: - если первая строка начинается с @repto:, то считаем её кладжем, а текст сдвигаем на строку вниз. если нет - то считаем текст с первой строки.
кривоватая схема.... но так получилось :)
[#]
Re: ответ из im
vit01(lenina,50) — 51t
2014-04-04 19:07:56
Доделаю завтра пхп ноду. Осталось доработать только запись сообщения в файл и проверки на ошибки сделать.
Сейчас спать, пока :)
[#]
Re: ответ из im
vit01(lenina,50) — vit01
2014-04-05 14:15:44
Сделал поинтовую отправку сообщений в php версии ноды
http://pastebin.com/kYdypPd7
Это пока сделано (просто, чтобы работало)
Как в ii обрабатываются ошибки для клиента? Какие фильтры/ограничения/итд поставить?
[#]
Re: ответ из im
51t(lenina,1) — vit01
2014-04-05 14:36:34
а зачем pastebin? есть же debug.14 :)
> Как в ii обрабатываются ошибки для клиента? Какие фильтры/ограничения/итд поставить?
если принимается - то даёт msg ok:хэш:текст, пока проверяется только msg ok, а хэша вообще может не быть теоретически. если не принимается - надо смотреть, но в общем - любой другой текст :)
[#]
Re: ответ из im
vit01(lenina,50) — 51t
2014-04-05 14:44:19
> а зачем pastebin? есть же debug.14 :)
кода много :)
> если принимается - то даёт msg ok:хэш:текст, пока проверяется только msg ok, а хэша вообще может не быть теоретически. если не принимается - надо смотреть, но в общем - любой другой текст :)
То есть просто echo "msg ok:хэш:текст"; делать? А что пишется в ":текст"? А если, к примеру, ошибка no auth или msg big, то что писать?
[#]
Re: ответ из im
51t(lenina,1) — vit01
2014-04-05 14:48:02
просто, когда принимаешь, пиши 'msg ok:', если нет - 'error:' подробнее можешь в коде посмотреть, в point_msg или где-то там.
кода мож и много, зато под рукой. можно легко вырезать :)
[#]
Re: ответ из im
vit01(lenina,50) — 51t
2014-04-05 14:51:09
И ещё: вот есть у меня в ii адрес, к примеру, lenina,50. Как в php ноде его обрабатывать? (сейчас вместо адреса пишется anonimous)
[#]
Re: ответ из im
51t(lenina,1) — vit01
2014-04-05 14:53:46
нода сама назначает адрес. на то она и нода. у твоей ноды будет уникальный адрес, типа kirova,22
нода сама вставляет имя пользователя, адрес, дату. читай tech.html на ii.51t.ru
[#]
Re: ответ из im
51t(lenina,1) — vit01
2014-04-05 14:57:20
то есть, схема такая.
тебе приходит письмо - эха, сабж, кому, текст
ты смотришь....
АГА! Я тебя знаю. Ты Иваныч. Значит, моя адресация 'kirova', а ты у нас в списке 22й. значит я леплю адрес 'kirova,22', msgfrom = Иваныч, и ставлю отметку о текущем времени. и создаю из этого - письмо.
[#]
Re: ответ из im
vit01(lenina,50) — 51t
2014-04-05 15:10:06
Всё, понятно, спасибо :)
Ещё доработаю ноду и выложу. Будем гейтоваться? :)
[#]
Re: ответ из im
51t(lenina,1) — vit01
2014-04-05 15:13:44
я так полагаю, твоя нода никаких запросов слать не будет, мне надо будет делать и фетч и пуш?
[#]
Re: ответ из im
vit01(lenina,50) — 51t
2014-04-05 15:18:36
Пока да, но в перспективе напишу php скрипт гейтования и уберу пуш. Сейчас прикручу регулярку на имя эхи (а она нужна вообще?) и выложу
[#]
Re: ответ из im
51t(lenina,1) — vit01
2014-04-05 15:21:20
кроме php ноды push сейчас нигде и нет. я для того и задумал php-ноды, что можно на них пуш делать со всех сторон, а потом фетч. что она просто раздаёт туда-сюда. а ноды для пойнтов - отдельно.
[#]
Re: ответ из im
vit01(lenina,50) — 51t
2014-04-05 15:24:39
Ну ладно, пусть будет пуш (хоть он является приманкой для спамеров). В каком файле находится регулярка на проверку имени эхи?
[#]
Re: ответ из im
51t(lenina,1) — vit01
2014-04-05 15:29:58
пуш только по ключу должен проходить, там же есть nodepass
[#]
Re: ответ из im
vit01(lenina,50) — 51t
2014-04-05 15:36:57
Можно я забью на фильтр имени эхи? :) всё равно, какая разница, как эха называется?
[#]
Re: ответ из im
51t(lenina,1) — vit01
2014-04-05 15:42:25
без фильтра она не будет видна в клиенте, на сервере и ещё много где. :) создать можно, когда не было половины фильтров, ala создал эху newecha, которая была доступна только в txt-клиенте, и нигде более :)
как оно иначе узнает, это номер сообщения, эха или ещё что-то?
[#]
Re: ответ из im
vit01(lenina,50) — 51t
2014-04-05 15:48:16
Тогда можно, пожалуйста, имя файла в питоновской версии с этим фильтром?
[#]
Re: ответ из im
vit01(lenina,50) — 51t
2014-04-05 16:25:18
> api/flt.py
Сделал. Странно, на локалхосте работает всё, загружаю на сервер, там сообщения добавляет, но выдаёт no message после их загрузки. В папке echo сообщения присутствуют
[#]
Re: ответ из im
51t(lenina,1) — vit01
2014-04-05 16:27:40
кто выдаёт, клиент.
значит, формат самого письма не тот. смотри на на все нужные поля - пришли мне файлик этого сообщения (первой строкой должна быть пустая, либо repto/xxx или, по новому стандарту - ii/ok. дай прямую ссылку на такое сообщение, я его выкачаю
[#]
Re: ответ из im
51t(lenina,1) — vit01
2014-04-05 16:47:02
vit01 (mira, 1) (05/04 12:18 GMT)
msgto: root
Re: mysubj
Checking my php testnode
vit01 (mira, 1) (05/04 12:19 GMT)
msgto: All
Test else
dsfdsjfajdfgrje
32u325u32
5212t32it
vit01 (mira, 1) (05/04 12:19 GMT)
msgto: All
test else
hshgohogronvbncjbujadbfosd
fdsfasd
32u5328tufewdgd
[#]
Re: ответ из im
51t(lenina,1) — vit01
2014-04-05 16:49:46
ты, когда тестируешь, не создавай пересечения по эхам, создавай свои произвольные тестовые эхи
[#]
Re: ответ из im
51t(lenina,1) — vit01
2014-04-05 16:50:57
у меня и последний txt, и какой-то давно выкинутый в тест client (один из первых, поддерживающих /u/) - работают
[#]
Re: ответ из im
vit01(lenina,50) — 51t
2014-04-05 16:58:37
Ну тогда можешь, пожалуйста, проверить эху vit01.2014 на той ноде?
[#]
Re: ответ из im
51t(lenina,1) — vit01
2014-04-05 17:07:59
скоро ii-dialog появится модный, судя по коммитам :)
[#]
Re: ответ из im
vit01(lenina,50) — 51t
2014-04-05 17:24:52
> скоро ii-dialog появится модный, судя по коммитам :)
Наверное, это будет бомба :)
Попробовал txt клиент, заработало. Значит у меня получилось? :)
[#]
Re: ответ из im
51t(lenina,1) — vit01
2014-04-05 17:27:02
пропиши меня пойнтом, хэш кинь на me@51t.ru - потестирую
[#]
Re: ответ из im
vit01(lenina,50) — 51t
2014-04-05 18:09:54
И как? Работает нормально? А что дальше мне после этого можно сделать, что улучшить?
[#]
Re: ответ из im
51t(lenina,1) — vit01
2014-04-05 18:15:53
работает. :)
надо сделать модуль. даже без авторизациии, просто юзер, там, где делает отправку сообщений в своём php-сайте, может дополнительно вызвать
msg_to_ii ($echo, $msg, $username, $addr, $date ....); в общем, чего там надо
и автоматически создаётся сообщение в нужном каталоге и запись в echo.
чтобы можно было в две строчки прикрутить это к любому сайту
[#]
Re: ответ из im
51t(lenina,1) — 51t
2014-04-05 18:18:58
и ещё надо сделать, что если нет нодокода, то не принимать push
если нет пойнтовых кодов, то не принимать пойнтов
т.е., побезопаснее по умолчанию.
и, наверное, где-нибудь на github/bitbucket открыть репозиторий. и искать тех, кого заинтересует. :)
[#]
Re: ответ из im
vit01(lenina,50) — 51t
2014-04-05 18:25:23
Ок, сейчас реализую функцию.
> и ещё надо сделать, что если нет нодокода, то не принимать push
Это типо та же авторизация, что и у поинтов?
> если нет пойнтовых кодов, то не принимать пойнтов
А вот тут не понял
[#]
Re: ответ из im
51t(lenina,1) — vit01
2014-04-05 18:29:00
у нодов своя авторизация, у пойнтов - своя. пойнтам она нужна для того, чтобы его узнавать и подставлять его координаты. а нодовая - она прежде всего для того, чтобы был доступ на запись - можно хоть всем нодам один код дать, если хочется :)
> А вот тут не понял
а, в принципе, если ни один пойнт не прописан, она и так не должна позволять писать :)