всем привет!
предыстория проекта: я слишком Ъ, чтобы ходить на этот их вконтактик. но есть некоторые люди, которые упорно не признают никаких нормальных видов связи (есть телефон, но это еще хуже убожество). а в этот школодром как зайдешь - вместо того, чтоб написать кому надо, тебе с порога предлагают посмотреть тонну смешных картинок, вступить в какое-нибудь говно и так далее...
раньше пользовался их джаббером (через j2j, правда, ну не суть), потом его прикрыли... и в один прекрасный момент почитал я про ихнее апи, да и пришла мне в голову мысль запилить себе тулзу консольную, чтоб через оное апи писать.
вот так и вышло. разобрался, поборол и в итоге набыдлокодил. на баше, ибо больше нифига не знаю))
интерфейс fdisk-подобный - выдает список команд или пунктов по номерам, а юзер выбирает, чего ему надо, ну и далее по менюшкам...
умеет получать сообщения (а также отвечать, удалять, помечать прочитанными), выводить список друзей и выбранному человеку писать сообщения, выводить список онлайн-людей и опять же им писать. а больше нафиг ничего и не надо))
хотя есть киллер-фичи - можно выполнять любые апи-запросы и любоваться на ответ сервера, но самое крутое - можно писать самому себе))) сделано для дебага, конечно, но мало ли у кого совсем все плохо)))
пример работы (многабукаф):
( читать дальше... )
в общем, все достаточно интуитивно, даже хелп есть для ниасиливших, а так очень быстро щелкается, благо сокращенные команды пуляются с одной кнопки.
код сегодня весь проглядел, подлопатил кое-где, прокомментировал во всех местах (а то сам уже стал забывать, чего я там нагородил). код, как мне кажется, ни разу не наркоманский, да с комментами понять тем более можно. все что можно вынесено в отдельные функции, к ним есть пояснения, какие параметры им даются, какие переменные они ожидают увидеть, что возвращают. это на случай, если кто-то задумает расширять - оно расширяемо.
скачать побетатестить да поковырять можно здесь:
https://sourceforge.net/projects/vk-api-cli/files/
там в ридми вкратце расписано, как это чудо завести, нужно будет ссылку открыть и подтвердить там доступ «приложению». пароль можно не сохранять, будет спрашивать тогда при запуске. вроде бы, после авторизации через сайт потом должно без проблем запускаться - у меня давно уже работает, не помню уже.
все проверено на уровне «у меня все работает». если какие грабли будут - постараюсь разобраться.
из требований - curl да grep-sed-coreutils, и всего делов.
за парсинг xml с помощьб grep/sed сильно тапками не пинайте - я смотрел всякие готовые консольные тулзы и че-то пришел к выводу, что прогрепать один-два тега и вытащить из них значение - как-то проще и понятнее. к тому же, такая конструкция понятна всем и предсказуема ровно настолько, насколько предсказуем grep на простейших регэкспах, т.е. почти всегда. плюс пофиг на кривые хедеры и прочую муть.
ах да, код по WTFPL)) багрепорты-пожелания-критика-помощь и всяческий другой фидбэк приветствуется, по ссылке написано, куда писать.
ЗЫ. вконтактик не нужен. баш не нужен. школоподелки на баше для писания на вконтактик не нужны просто в космическом масштабе)))