Показать сообщение отдельно

  #4  
Старый 06.04.2009, 11:37
0rs
Познающий
Регистрация: 30.12.2008
Сообщений: 64
Провел на форуме:
647156

Репутация: 76
Отправить сообщение для 0rs с помощью ICQ
По умолчанию

Этот бот к серверу через https с логином и паролем подключается. Если подключение удалось, то обмениваются командами в формате xml.
Подключение:
Код:
C:
<?xml version="1.0"?><Bot><Version>2009-04-06 11:04</Version><GetUser/></Bot>
https://tmbot.cc/bh/bot/connect.php
S:
<?xml version="1.0"?><Srv><User><login>tm4897</login><status>1</status><sid>c92808a818c51bc610b74c6cb8a22351</sid></User></Srv>
При помощи полученнго sid клиент получает следующий шаг
Код:
C:
<?xml version="1.0"?><Bot><GetSession/><GetCur_step/><GetNext_step/><GetLast_activity/></Bot>
https://tmbot.cc/bh/bot/index.php/?c92808a818c51bc610b74c6cb8a22351
S:
<?xml version="1.0"?><Srv><Session>c92808a818c51bc610b74c6cb8a22351</Session><Cur_step>connect</Cur_step><Next_step>updates</Next_step><Last_activity>2009-04-06 11:14:42</Last_activity></Srv>
И затем выполняет полученную комманду
Код:
C:
https://tmbot.cc/bh/bot/update_list.php/?c92808a818c51bc610b74c6cb8a22351
S:
<?xml version="1.0"?><Srv><field>muxa.bhu</field><value>2009-03-10 10:01</value>...
После скачивания обновлений происходит вызов GetNext_step и выполняется следующая комманда.
Набор комманд ограничен и для работы бота сервер не нужен, поэтому можно написать эмулятор сервера внутри самого бота.
Нужно только перехватить все команды и переписать функцию по адресу 004C0F20

Последний раз редактировалось 0rs; 06.04.2009 в 11:52..
 
Ответить с цитированием