Итак о ЖЖ-боте

By , 16.04.2006 15:21

zmey2zmey2, следуя девизу «без лажи рока не бывает» ёбнул первоначальную статью вместе с комментами. Хотя и не очень понимаю, как именно. Ну ничего.

Вам понадобятся:

  • http://4lj.mivlad.net
  • The Bat!, настроенный для периодической проверки почты.
  • Немного ума и сообразительности.

Первым делом регистрируемся на http://4lj.mivlad.net или ином mail2lj сервисе. Я буду описывать создание бота именно с помощью http://4lj.mivlad.net и почтового клиента TheBat, ибо сам пользуюсь ими, а изменения, вносимые в конфигурацию при использовании иного гейта и иного почтового клиента весьма незначительны. Главное — понять несложный принцип действия.

Итак, вы прошли регистрацию, http://4lj.mivlad.net выдал вам хитрого вида адрес, вы сунули его в настройки своего LJ и на почту начали приходить комментарии к вашим записям в виде plain text сообщений. Главное достоинство http://4lj.mivlad.net в том, что не нужно переходить по ссылкам в сообщении или использовать почтовый клиент, умеющий обрабатывать POST-запросы. Вы просто отвечаете на сообщение так же, как отвечаете на обычные письма и отправляете их обычным порядком. Сделано это следующим образом: в каждом письме, посылаемом движком LJ своему подписчику, содержится уникальная строка-токен, по которой движок LJ опознаёт ответную реплику пришедшую именно от того, кому ушло оповещение и знает, куда именно эту реплику сунуть. Гейт запоминает этот токен и сам суёт вашу реплику куда нужно, не запрашивая паролей и подтверждений. Таким образом вы получаете дополнительные удобства совершенно не рискуя своей безопасностью. Кроме того, я так отвечаю на реплики ЖЖ, когда нахожусь вне дома, со смартфона. Это сильно экономит дорогой GPRS трафик.

Когда я впервые столкнулся с гейтом mail2lj в 2003 году, одной из первых мыслей было “из этого можно сделать робот для назойливых кретинов!”. Так я и поступил, потратив на это около часа времени и получив взамен огромное количество удовольствия.

Итак, приступим.

Первым делом нам нужно идентифицировать юзера, который будет общаться с механической мышью. Поле “отправитель” (”from”) сообщения, приходящего от гейта имеет примерно такой вид:


mcparker in mcparker <1leq6b9.v3qp@4lj.mivlad.net>


Догадаться, что делать дальше, несложно:

Добавлять in к каждому никнейму нужно, чтобы вы беспрепятственно могли переписываться в журналах жертв с нормальными людьми. Иначе бот будет срабатывать на любое сообщение, пришедшее из этих журналов. Собственно, условия могут быть любыми. Я, например, некоторое время отлавливал таким же фильтром у себя в комментариях письма со словом “баян!” и отправлял в ответ реплику “а почему не аккардеон?”. Другой фильтр работал у меня вместо банилки, просто удаляя с сервера сообщения от различных буратин, дабы не мозолили глаза. В итоге все были довольны — буратины могли высказываться сколько угодно, раскрывая себя во всей красе, нормальные читатели радостно рассматривали очередной экземпляр зверинца, а я сохранял хорошее настроение и шелковистые волосы на ладонях без малейшего напряжения мозга.

Но я отвлёкся. Расскажем-ка нашему боту, что делать, когда приходят сообщения, удовлетворяющие правилам:

В принципе, автоответ может быть всегда одним и тем же. Например “не пиши сюда больше, сука!”. Но это скучно и неконцептуально. Потому мы садимся и набиваем словарь фраз и выражений, которые бот будет случайным образом вставлять в тело письма.

файл1:


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


файл2:


Вы у своей мамы первый или она ещё аборты делала?
Ты бы не пиздел помногу, тупица.
Да что вы говорите?
Правда?
Когда вы говорите, такое чувство, будто вы бредите…


Строки могут включать в себя любой html код, который разрешён в LJ. Главное:

  • каждое собщение должно быть одной строкой. Пустых строк в файлах не оставляйте.
  • кодировка файлов должна соответствовать кодировке, в которой вам шлёт письма гейт. А гейт шлёт их в той кодировке, которую вы выбрали в настройках LJ. У меня это win1251.

Запихиваем оба в отдельный каталог. В данном примере я выбрал c:\bot\

Помните, чем больше фраз вы набьёте в словари, тем меньше вероятность повторов, а значит тем дольше оппонент бота будет соревноваться в острословии с несколькими килобайтами кода, забавляя тех, кто в курсе событий. Можно для пущей радости сделать специальный юзерпик для ответов бота, но об этом ниже.

Тыцкаем по пункту “создать автоответ” и правим темплейт ответчика.

Выглядит он в итоге примерно вот так:


%SUBJECT="=точка бегающая=Reply to your post...
«%COOKIE=”C:\bot\файл1? %COOKIE=”C:\bot\файл2?


Разберёмся, что к чему.

Строка


%SUBJECT=»=точка бегающая=


вставит в субект сообщения соответствующую строку, которая заставит гейт http://4lj.mivlad.net при размещении сообщения выбрать юзерпик с соответствующим названием.

Строка


%COOKIE="C:\bot\файл1


"вставляет в письмо случайную строку из указанного файла.

Теперь во вкладке “опции” временно переключите “Сохранять в Исходящих” и дождитесь пары писем от первой из предполагаемых жертв. Когда фильтр сработает, зайдите в папку “Исходящие” и проверьте, всё ли правильно и чётко работает. Неприятно будет спалиться на первом же сообщении, а?

Когда вы убедитесь в том, что всё нормально, переключите ту же радиокнопку в “Отправлять немедленно” и наслаждайтесь.

Кстати. Особо пытливые умы могут попробовать присобачить к своему The Bat Black Jack`s Plug-in, одной из функций которого является сочинение бессмысленных стихов.

Что-то непонятно? Задавайте вопросы.
Понравилось? Дайте на этот текст ссылку.
Вы делаете иначе? Расскажите мне, как.

upd: [одно из первых неподзамочных упоминаний о автоответчике в моём ныне покойном журнале]

37 комментариев “Итак о ЖЖ-боте”

  1. zmey2:

    Больш не повториццо!

    сцукокаюсь и приношу извинения

  2. Апач, есть ли возможность делать рэндомную подстановку не в тело письма, а в заголовок

    И спсб ещё раз

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

  4. Да вот что-то догадался один я три года назад.

  5. А хули странного то? думаете теми же почтовиками много кто пользуется?

    Или ультраполезным мивалидом?

    Я вот например тоже догадался и хули толку? На уровне бата подвис.

  6. [...] Апач написал подробное и с картинками руководство по созданию мухобойки для идиотов — бота-автоответчика в ЖЖ, а Шушпанчик его немножко дополнил. Теперь даже такое как Мицгол может беспрепятственно открывать комментарии для всех, а не только для френдов, пугая кащенитов и сетевых завистников фразами: [...]

  7. (меланхолично зевая)

    А этот ваш личный бордель с блэжкджком и шлюхами под кат убирать умеет? А то мышколесо лень крутить.

  8. хуяссе — всю ленту сцуко порвало.

    кончел, спасибо, хоть и многабукф

  9. [...] Полное и иллюстрированное пособие по созданию ЖЖ-автоответчика от Апача. apazhe.net/2006/04/16/419/Как правильно замечено в комментариях, года полтора-два назад это пособие оторвали бы с руками и ногами, в те времена обнародовать его было бы несколько опрометчивым решением. При всём при том, что в ЖЖ полно “техничиски граматных” людей и при всей простоте решения, додумались до него почему-то единицы. Второе замечание, которое меня улыбнуло — пособие иллюстрированное, и на картинке, на которой показано “кому отвечать”, встречаются очень знакомые ник-неймы, которые у меня были тоже в автоответчике (дазбастард, например — совершенно тупое животное). Третье — автоответчики ещё работают, и работают будь здоров, если, конечно, раскачать им словарик. Я рекомендую использовать абстрактные и/или наводящие вопросы, а также придавать как можно меньше эмоциональной окраски используемым фразам. И тогда с роботом можно общаться вечно.Слава роботам! LJ, software [...]

  10. Ну, я могу только предположить, что тем, кто мог такое сделать, это не надо.

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

  11. Угу, это всё охуенное техническое программирование, да.

    Ну и потом — желающих было много, в аське скакали.

  12. Lis:

    Арсений, помогите, пожалуйста! Пытаюсь настроить бота, когда забиваю один вариант автоответа — все работает. Когда пытаюсь прикрепить файл с выбором из нескольких фраз — ничего не работает. Файл должен быть хтмл? Кодировка файла та же, что и у гейта. Делаю все по вашей инструкции. Не получается. Хелп, плиз!

  13. Файл должен быть просто текстовый.

  14. Lis:

    Спасибо огромное, все заработало.

  15. Апач, внезапоно возник ещё вопросец. Я всё настроил, вроде работает заебись, но стоит добавить ещё одного мемзера в жертвы автооответчика, как он идёт по пизде. Если оставить одного поциента — всё нормально, а больше — ничего не происходит.

    Не знаешь чем обусловлено?

  16. У тебя верно выбран критерий? Там точно «содержит любое из», а не «содержит»?

  17. Во, спасибо, в этом я и тупанул.

    PS: не хотят мне от тебя каменты ходить что то. Вроде и мыло ввожу и всё, а вот хуй.

    мыло на gmail.

  18. von_richtgoffen:

    Арсений, скажите, а для того, чтобы пользоваться этим — ЖЖ-аккаунт должен быть платным, или может быть любым?

    И еще: у вас тут в статье пара скриншотов полезных слетело.

    Спасибо.

  19. von_richtgoffen:

    Насчет слетевших картинок — отбой: проблемы моего диал-апа.

  20. это нынче хаком зовется))))))))))))))))))))))))))))

    вот у меня тоже хакеры весь подьезд исписАли

    не, ну а хотяб так несудьба? — curl.haxx.se

  21. [...] 1 (жизнь) marta_ketro2 (литература) eiri3 (информация) apazhe_at_lj — впервые агитирую за себя. Не могу найти более информативного лжеюзера, чем трансляция моего блога.4 (изображение) cotopaxi5 (полемика) red_cat — за вот это мегаупромысливание Галковского и его мурзилок при помощи всем известного бота, изобретённого мной много лет назад. По уму надо было бы мне агитировать за weaponer, конечно, но…6 (смех-веселье) goblin_gaga — ржунимагу каждый раз, как читаю. [...]

  22. Апач, все настроено, все работает, но при соеденении пишет «Неизвестный сертифика СА» и спрашиват, можно ли продолжать. Следовательно, автоматическая работа невозможно? Куда рыть, не знаешь?

  23. Не сталкивался с такой проблемой. Возможно, ты с почтовым сервером общаешься по какому-то шифропротоколу?

  24. Да нет, тут говорят, что это типичный для gmail.com (где ящик) глюк.

    swimmer979.livejournal.com/220171.html

  25. [...] С моей помощью ботов научились строить все, даже сильно скорбные главой подростки из Кагалыма. Естественно, все боты почитаются изготовителями (а иногда и читателями) за некое универсальное мерило идиотизма. Мой, к примеру, уже вошёл в легенды. [...]

  26. битва ботов уже где-нить замечена?

  27. Слоупока вопрос: а шо, mail2lj сервисы на данный момент все дохлые, или есть рабочий?

    Арсений Фёдоров Reply:

    давно этим не интересовался

    John P Reply:

    вот этот который в описании работает

    у меня проблема в другом, скачал несколько батов но там нет вкладки"Действия". Не поделишся?

Leave a Reply

You must be logged in to post a comment.

Panorama Theme by Themocracy