Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Написание instant messaging Бота на AutoIt

Автор: ynbIpb
Дата сообщения: 15.04.2009 13:12
sproxy, это ты сам такое накодил?
масштабно...


Цитата:
Для клиента, как понимаю, самое минимальное что бы умел:

Да, этого вполне хватит для наших задач.
Может ещё в дальнейшем SSL реализовать, чтоб на гугловские серваки заходить, хотя это не столь важно.
----
А подтверждение о доставке сообщения на сервер и юзеру уже заложено? или это дополнительно как-то реализовывать нужно?
----
Во накопал спецификацию, тут схемы всякие с примерами: XMPP Schemas, примеры streams
Автор: sproxy
Дата сообщения: 15.04.2009 13:51

Цитата:
это ты сам такое накодил?

да. это все для того, что бы писать UDF-ку - что и буду делать, по мере свободности )


Цитата:
Может ещё в дальнейшем SSL реализовать, чтоб на гугловские серваки заходить

а в целом это зачем? непонимаю...

на офф форуме говрят эта UDF работат с SSL.

Добавлено:

Цитата:
А подтверждение о доставке сообщения на сервер и юзеру уже заложено? или это дополнительно как-то реализовывать нужно?

т.е. ?
1. та программа, что выше, только для тестов - что бы было на чем эксперементировать и написать основыне UDF функции для Jabber XML UDF.
а уж далее писать любые клиенты и все, что угодно )

2. По идее как обычный jabber/icq - т.е. все что быдет отправленно - будет переданно то, кому отправлялось...
?

Добавлено:

Цитата:
Во накопал спецификацию, тут схемы всякие с примерами: XMPP Schemas

если будите разбираться в XML, то гляньте еще и выше ссылку: Инфо: XML Джаббера.
Имхо, там примеры понятней и прям для джабера - после того как накатал шаблон, как раз нашел - и встало все ясней ))
+ в qip есть XML консоль, в ней показываются отправляемы / получаемые комманды - банально можно почти копировать.
Автор: ynbIpb
Дата сообщения: 15.04.2009 14:10

Цитата:
т.е. ?

я имел ввиду пункт 2.

надо попробовать помониторить квипа.
Автор: sproxy
Дата сообщения: 15.04.2009 14:15

Цитата:
я имел ввиду пункт 2.

надо попробовать помониторить квипа.

эээээээээм.......))))))..........все равно не понимаю....что то туплю )))

Имеется ввиду подтверждение, что клиент выполнил отправленную ему комманду?
Т.е. по окончании работы отправить сообщение отправителю комманды, что "все сделанно" или "ошибки" и т.д.?

Добавлено:

Если да, то тут расматриваю так:

1. Написание самой простой Jabber XML UDF (6 пунктов выше).
2. На основе этой UDF писать любой клиент, в данном случа: удаленный выполнение комманд (заупск программ, определенных операций и т.д.) по комманде, переданной через Jabber канал.

Добавлено:
кстати, эту ссылку, можно в шапку.

Добавлено:

а это все надо делать модулями:

Цитата:
- получить список процессов
- список файлов в определённой директории
- перезагрузка компьютера
- выключение компьютера
- скачивание файла из интернета
- копирование, перемещение, удаление файлов
- запуск файлов
- запуск\остановка служб
- работа с реестром
- компиляция и выполнение произвольного кода AutoIt, переданного в сообщении

т.е. что бы клиент запускал определенныйй exe файл (модуль) по определенным коммандам.
Конечно exe могут быть как autoIt, так и не AutoIt.
+ задачи, на какие комманды и что запускать - нужно делать что бы пользователь сам могу выбирать
Автор: ynbIpb
Дата сообщения: 15.04.2009 15:52
Ну да, подтверждение должен сервер возвращать отправителю, что его послание не затерялось в пути. Наверное это уже в самом протоколе реализовано. Но нам пока не до этого.
Я наверное сначала не так выразился. Как в ICQ при отправке сообщения, у каждого сообщения такая небольшая картинка в виде конвертика, если сообщение дошло до сервера, то на ней появляется зелёная точка, если дошло до адресала, то конвертик становится раскрытым (на примере R&Q)

По поводу модулей я тоже думал.
Но если автоитовые EXE, то очень уж много будет файлов и размер крупноват.
Предлагаю сделать все функции как #include <Bot_func.au3> и уже туда накидать функции какие необходимы юзеру и компилить в одно целое.
Автор: vicbox777
Дата сообщения: 15.04.2009 17:39
Читаю, читаю, а как наладить проверку на связь с сервером Jabbera (пробую пока на примере jabberit2.au3), чтобы запросы как то отсылать, для проверки связи, и если нету ответа, то подсоединится вновь... но пока не понятно.
Автор: sproxy
Дата сообщения: 15.04.2009 17:45

Цитата:
Но если автоитовые EXE, то очень уж много будет файлов и размер крупноват.

размер будет не большой. Разница в 100 Кб думаю не смертельно. тут же все локально.
Имхо - это намного удоней, для замены или добавления.


Цитата:
Я наверное сначала не так выразился. Как в ICQ при отправке сообщения, у каждого сообщения такая небольшая картинка в виде конвертика, если сообщение дошло до сервера, то на ней появляется зелёная точка, если дошло до адресала, то конвертик становится раскрытым (на примере R&Q)

Да, это в самом пратоколе реализованно. там вобще на все запросы, любой на отпарвку (устновку значений) или на получение значений - сервер все подтверждает:
отлично или ошибка (и какая). Так что это все возможно.


Цитата:
Читаю, читаю, а как наладить проверку на связь с сервером Jabbera (пробую пока на примере jabberit2.au3), чтобы запросы как то отсылать, для проверки связи, и если нету ответа, то подсоединится вновь... но пока не понятно.

Хз, кроме AIM UDF мне так же не удалось запустить. А вот своя наработка (саааааааааамое начало) - сервер отвечает.
думаю до завтра успею посидеть немного и сделать connect|disconnect + выставление статуса.
Автор: vicbox777
Дата сообщения: 15.04.2009 18:13
ynbIpb 17:43 14-04-2009
Цитата:
В онлайне его не видно

если сначала запустить учетную запись в другом jabber-клиенте, и сделать статус В сети, то тогда при запуске этой учетки из этого скрипта, уже показывается статус в сети... Выходит на сервер запросы скрипт посылает исправно, так как если отключить, сразу же Статус -Не в сети. Но вот, в ответ сервер ничего не дает...хоть бы там что нибудь...
Автор: sproxy
Дата сообщения: 15.04.2009 18:23
еще один плюс того в пользу модулей.

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

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

vicbox777 19:13 15-04-2009
Цитата:
если сначала запустить учетную запись в другом jabber-клиенте, и сделать статус В сети, то тогда при запуске этой учетки из этого скрипта, уже показывается статус в сети...

а это не потому, что именно:
Цитата:
другом jabber-клиенте, и сделать статус В сети
, а после выхода из этого клиента ?

помому в той UDF не было прописанно выставлять статус.....
авторизация - это не выставление данному jid-у статус on line.
для этого необходимо выслать еще одну комманду и выставить желаемый статус.
Автор: ynbIpb
Дата сообщения: 15.04.2009 18:39
sproxy, своя наработка это хорошо. Мы в тебя верим!
vicbox777, заходил с квипа и потом с исламкого, всё равно не виден статус.

Вобщем работы с протоколом это не для меня, я пока буду функции клепать...
и отлаживать на _TocLib.au3 (единственное, что у меня работает коекак)


Добавлено:

Цитата:
еще один плюс того в пользу модулей.

Согласен.
Главное наладить механизм связи между ядром и отдельными модулями.
ну там ответ что команда выполнена и всё такое...
Автор: vicbox777
Дата сообщения: 15.04.2009 18:42

Цитата:
а после выхода из этого клиента ?

Действительно, тот скрипт же не умеет ставить свой статус, поэтому я й проделал этие манипуляции. Тот скрипт я взял просто, для понятия сути. Теперь же у меня настроенная "админская" запись в qip-инфиум, а вторая - в скрипте. Подтверждение о том что я как "админ" заключенное в теги <рresence></рresence> сейчас в Сети - приходит, можно даже значок прикрутить... если в списку контактов будет только одна запись...

Цитата:
заходил с квипа и потом с исламкого, всё равно не виден статус

Должен быть виден..
Автор: sproxy
Дата сообщения: 15.04.2009 18:59
ynbIpb 19:39 15-04-2009
Цитата:
ну там ответ что команда выполнена и всё такое...

не вопрос, уже делал такое )
простятский свой api...
Автор: vicbox777
Дата сообщения: 15.04.2009 19:04

Цитата:
Главное наладить механизм связи между ядром и отдельными модулями.
Думается даже можно, сделать папку с модулями "ДИНАМЕЧЕСКИ расширяемой", а полученная команда, содержит название модуля (ясное дело не все, а только начало,а остальное и exe в конце...дописывает скрипт при проверке) - И дальше проверка, если одноименный с командой модуль есть - то запуск модуля...
Не знаю, sproxy, как реализовать, чтоб было востановление связи при обрыве... Думается, у тебя выйдет.
Автор: sproxy
Дата сообщения: 15.04.2009 19:19
по API идея такая:

- все комманды, которые понимает Главная программа - зарание определенны и известны, т.е. константы.
- комманды модуля разрабатываются автором модуля на основе определенных правил, примр:

Цитата:
а полученная команда, содержит название модуля (ясное дело не все, а только начало,а остальное и exe в конце...дописывает скрипт при проверке)

соответсвенно и модуль, и его комманды скажем так:
copyfiles "c:\windows" "d:\backup"
т.е. запусить модуль copyfiles.exe и скопировать все из "c:\windows" в "d:\backup"

ну и т.д. - синтаксис можно разрабатывать до одурения )))
проще взять стандартные AutoIt функции и на их основе понаделать модулей,
посматривая на спицифику CMD - там как раз все с коммандной строки, будет удобно.

Добавлено:
vicbox777
а в чем проблема?
Клиент может каждую 1-3 секунды проверять состояние своего подключения: подключение к серверу и авторизованность (это разные вещи,
подключение к серверу - это соккет подключение, а авторизованность - это воод логина и пароля jid-a на jabber сервере, и получение ссесии,
после чего можно ставить статус on line, отправлять сообщения и т.д.).

И если связи нет - то законнектиься, снова..

Добавлено:

не знал, что Google Talk это jabber ....
Автор: sproxy
Дата сообщения: 15.04.2009 21:23

кто-нить разобрался с jabber транспортами?
может и не стоит на Google заморачиватьс с Ssl? а можно просто транспорт настроить?

кстати, через транспорт можно слать сообщения на ICQ и другие сети ....- в общем мега штука!
Автор: vicbox777
Дата сообщения: 15.04.2009 21:52

Цитата:
кто-нить разобрался с jabber транспортами?

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

P.S. После того как сам опробовал, теперь пишу. Транспорты весчь дельная. Подсоединил себя к одному такому транспорту icq в jabber-клиенте qip-инфиум. После этого из джабера пишу в аську, а из аськи в джабер! Пробовал на скрипте "исламского чувака" тоже получает/отправляет сообщения с аськи/на аську!
Вот ссылка, где описано, что оно такое и как настроить: http://jabberworld.info/Транспорт
Автор: sproxy
Дата сообщения: 16.04.2009 00:54

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

При этом куча-куча народа этим пользуется )) Значит попробовать стоит ... ))

Добавлено:

Цитата:
P.S. После того как сам опробовал, теперь пишу. Транспорты весчь дельная. Подсоединил себя к одному такому транспорту icq в jabber-клиенте qip-инфиум. После этого из джабера пишу в аську, а из аськи в джабер! Пробовал на скрипте "исламского чувака" тоже получает/отправляет сообщения с аськи/на аську!
Вот ссылка, где описано, что оно такое и как настроить: http://jabberworld.info/Транспорт

Cooooool _)_)_)_)_)
Автор: ynbIpb
Дата сообщения: 16.04.2009 14:06
тут наткнулся на явовский проект: jamuse

Проект Jamuse - создание программного скелета для быстрого и простого написания гибких и расширяемых ботов. Одной из целей является создание программы, которая будучи запущенной и подключенной к Jabber, позволит пользователю этой программы (обращаясь к ней как к собеседнику jabber-сети) использовать разные службы из одного приложения - jabber-клиента, что актуально для пользователей мобильных устройств.

Автор: vicbox777
Дата сообщения: 16.04.2009 15:20
Вот есть еще такой jabber-клиент для компа - Psi Чем он полезен для этой темы? Отвечаю: В нем есть возможность включить XML Console и таким образом наглядно посмотреть на команды, которые отправляются/получаются, например при отсылке сообщения, или смене статуса, при получении нового сообщения и т.д., то есть для настройки работы Скрипта.
Автор: sproxy
Дата сообщения: 16.04.2009 15:29
vicbox777
В qip-е то же есть, там и смотрю.
Автор: vicbox777
Дата сообщения: 16.04.2009 15:39

Цитата:
В qip-е то же есть, там и смотрю
Точно, есть... Спасибо что указал... а то я искал именно это где-то, а qip - сидит себе в трее тихонько...
Автор: sproxy
Дата сообщения: 16.04.2009 22:58

Цитата:
а qip - сидит себе в трее тихонько...

это хорошо....что сидит....тихо ... ))
а то, случается, как начнет верещать - уууух прям, не знаю как остановить )
Автор: vicbox777
Дата сообщения: 18.04.2009 00:50
Наверно единственная хоть какая-то статья про Jabber/XMPP на русском языке в Интернете, находиться тута
Автор: sproxy
Дата сообщения: 18.04.2009 00:59
undefined
Цитата:
Наверно единственная хоть какая-то статья про Jabber/XMPP на русском языке в Интернете, находиться тута

уммм....класс )) а то уже поселился на гугл-транслейт ...
Автор: ynbIpb
Дата сообщения: 18.04.2009 11:49
странно не работает сайт в данный момент. нашёл зеркало: Протоколы прикладного уровня: Jabber/XMPP часть1 (в шапку запихаю)
зы
вот идея интересная: Jabber WebCam Bot
Автор: sproxy
Дата сообщения: 20.04.2009 18:42
ааааааа........тьфу......... )
Автор: vicbox777
Дата сообщения: 21.04.2009 15:46
sproxy
Нужен алгоритм для отправки сообщения в джаббере на русском языке из скрипта... Ибо сервер при получении сообщения на русском языке- закрывает поток!
Автор: timsky
Дата сообщения: 21.04.2009 23:03
vicbox777
Транслитом если?
И кто получатель сообщения? Какой софт?
Автор: sproxy
Дата сообщения: 22.04.2009 01:37
timsky
vicbox777
еще не добрался, вожусь с функциями подключения, отключения, приему ответов с сервера, авторизации.
На монер UDF это веселая задача ))

Ну думаю, возможно, можно выбирать вариант кодировки: asni, utf и т.д.
Либо еще как то.....транслитом, имхо, изврат....хотяяя )))
Автор: sproxy
Дата сообщения: 24.04.2009 03:20
кому интересно - то, что уже готово:
1 подключение к серверу
2 отключение от сервера
3 авторизация (без шифрования)
4 установка статуса online|offline
- можно работать сразу с нексолькими Jid.....
- проверяю на jabber.ru
- все остальное в работе

Страницы: 12345

Предыдущая тема: HEX редактирование LINUX программ


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.