subject: gk11 - first and dirty
11.09.2015 09:27
Roman Yakovlev (station13, 11)
первый и довольно "грязный" порт ГК11 (сделан из босфора)
https://bitbucket.org/gk11/gk11-srv-dirty
к сожалению, уже плохо помню и peewee, и особенности этого порта, поэтому некоторые вещи там - "лишь бы работали". но, в принципе, это уже готовый концепт-сервер, которому не хватает пары фич в api, нормального профиля пользователя и более чистого кода.
сейчас буду описывать, что там и как.
поле addr - зарезервировано для хэшей, на которые можно будет отослать почту (возможно, потом туда можно будет добавлять и e-mail - суть в том, чтобы оставить координаты для личной связи), поэтому в ii-фетчере (который там есть) поле addr больше не копируется с ii.
создание бд - python initdbs.py. юзеры создаются из веб-интерфейса
--------------------------------------------------------------------------------
subject: Re: gk11 - first and dirty
11.09.2015 09:43
Roman Yakovlev (station13, 11) => rl0Ikd1xyAfimGBMwgdr
>первый и довольно "грязный" порт ГК11 (сделан из босфора)
>https://bitbucket.org/gk11/gk11-srv-dirty
Запросы для клиента:
Все запросы делаются через url /bb/, и затем идут серии /ключ/значение. Порядок ключей значения не имеет.
В отличие от bosfor, где можно было запрашивать всё, тут есть три типа запросов:
/echolist/* - выдающий имена эх
/msgs/* - выдающий бандлы для указанных сообщений
/echo/* - выдающий msgid для сообщений из эх. если /echo/ не указано, то запрос идёт для всех эх
то есть, запрос /bb/lim/50 выдаст msgid для 50 последних сообщений станции
дополнительная опция: /appendts/1 - самой первой строкой ответа будет текущий timestamp сервера
/echolist/ - имеет несколько вариантов и ключ /cnt/
/echolist/discover - показывает все эхи станции, где есть хотя бы одно сообщение
/echolist/public - показывает только те эхи, которые записаны в public.txt
опции:
/ignore/эха:эха:эха - убирает из списка указанные эхи, если они там есть
/addecho/эха:эха:эха - добавляет к списку указанные эхи, если их там нет
/cnt/1 - к списку эх добавляется список сообщений в каждой эхе
/msgs/msgid:msgid:msgid - получает бандлы (сравнимые с ii-шными) для текущих msgid
/echo/эха:эха:эха - получает msgid для указанных эх (параметр можно опускать, тогда будет для всех эх)
опции:
/lim/число - запросить только указанное СУММАРНОЕ количество сообщений (то есть, если указаны 3 эхи и lim=200 это может быть хоть 10,10,180, хоть 200,0,0, идёт равнение по последним)
/withecho/1 - вместо ответа msigd msgid msgid идёт ответ msigd:эха msgid:эха msgid:эха, то есть к каждому msgid цепляется эха его происхождения
/afrom/timestamp - забирает сообщения, начиная с timestamp (имеется ввиду время прихода на станцию, а не время написания сообщения
/ato/timestamp - забирает сообщения до даты timestamp (аналогично)
вот такие вот запросы
--------------------------------------------------------------------------------