1 (изменено: cbh, 2011-03-09 15:42:40)

Тема: VBS: триггеринг по контенту на веб страничке

Возникла бредовая идея.
Допустим на некой машине запущен ИЕ и в нем отображается твиттер. Идет постоянно автообновление тегов, вообщем контента на текущей странице. Как только появляется тег @start сразу запускается VBS скрипт, установленный на этой же машине.
Это возможно? Можно анализировать не контент а статус пользователя, как то так.

2

Re: VBS: триггеринг по контенту на веб страничке

Ммм. Ну в самом грубом варианте, можно сделать так.

Скрипт постоянно висит в памяти и ждёт открытия в Internet Explorer странички с сайта google.

Dim ShellWindows, ShellWindow
Set ShellWindows = CreateObject("Shell.Application").Windows
Do
    For Each ShellWindow in ShellWindows
        if Instr(1,ShellWindow.LocationURL,"google",1) > 0 Then
            MsgBox ShellWindow.document.body.innerHtml
            Exit Do
        End if
    Next
    WScript.Sleep 100
Loop
Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

3

Re: VBS: триггеринг по контенту на веб страничке

Нет не то.
Имеется в виду триггеринг, когда на определенное сообщение совершается определенное действие.
Можно кстати и через скайп.
Вот скрипт

'// Create a Skype4COM object:
Set oSkype = WScript.CreateObject("Skype4COM.Skype", "Skype_")

'// Start the Skype client:
If Not oSkype.Client.IsRunning Then oSkype.Client.Start() End If

'// Declare the following Skype constants:
cAttachmentStatus_Available = oSkype.Convert.TextToAttachmentStatus("AVAILABLE")
cMessageStatus_Sending = oSkype.Convert.TextToChatMessageStatus("SENDING")
cMessageStatus_Received = oSkype.Convert.TextToChatMessageStatus("RECEIVED")
cMessageType_Said = oSkype.Convert.TextToChatMessageType("SAID")
cMessageType_Left = oSkype.Convert.TextToChatMessageType("LEFT")

'// The SendMessage command will fail if the user is offline. To avoid failure, check user status and change to online if necessary:
If cUserStatus_Offline = oSkype.CurrentUserStatus Then oSkype.ChangeUserStatus(cUserStatus_Online) End If  

'// Sleep 
Do While True 
  WScript.Sleep(60000)
Loop

'// The AttachmentStatus event handler monitors attachment status and attempts to connect to the Skype API:
Public Sub Skype_AttachmentStatus(ByVal aStatus)
  WScript.Echo  ">Attachment status " & oSkype.Convert.AttachmentStatusToText(aStatus)
  If aStatus = cAttachmentStatus_Available Then oSkype.Attach() End If
End Sub

'// The MessageStatus event handler monitors message status, decodes received messages and, for those of type "Said", sends an autoresponse quoting the original message:
Public Sub Skype_MessageStatus(ByRef aMsg, ByVal aStatus)
  WScript.Echo ">Message " & aMsg.Id & " status " & oSkype.Convert.ChatMessageStatusToText(aStatus)
  If aStatus = cMessageStatus_Received Then 
    DecodeMsg aMsg       
    If aMsg.Type = cMessageType_Said Then 
     'oSkype.SendMessage aMsg.FromHandle, "This is autoresponse."
      aMsg.Chat.SendMessage "You said [" & aMsg.Body & "]"
    End If
  End If    
End Sub

'// The DecodeMsg event handler decodes messages in a chat and converts leave reasons to text for messages of type "Left":
Public Sub DecodeMsg(ByRef oMsg)       
  sText = oMsg.FromHandle & " " & oSkype.Convert.ChatMessageTypeToText(oMsg.Type) & ":"
  If len(oMsg.Body) Then 
    sText = sText & " " & oMsg.Body
  End If
  Dim oUser
  For Each oUser In oMsg.Users
    sText = sText & " " & oUser.Handle
  Next
  If oMsg.Type = cMessageType_Left Then 
    sText = sText & " " & oSkype.Convert.ChatLeaveReasonToText(oMsg.LeaveReason)
  End If
  WScript.Echo ">" & sText  
End Sub

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

4

Re: VBS: триггеринг по контенту на веб страничке

Сделал сам. Что-то часто начал открывать странные темы, которые и сам же закрываю)))

5

Re: VBS: триггеринг по контенту на веб страничке

cbh пишет:

Сделал сам. Что-то часто начал открывать странные темы, которые и сам же закрываю)))

Знакомая ситуация. Жаль, что не смог пригодится. А вот скриптик со скайпом поизучаю. Очень заинтересовало. Спасибо.
Да. И если не жалко - покажите, что с твиттером получилось. Очень интересно.

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

6

Re: VBS: триггеринг по контенту на веб страничке

Не жалко, но я сделал со скайпом, только подректировал под себя.
Если все таки понадобится делать с твитером обязательно подниму тему.

7

Re: VBS: триггеринг по контенту на веб страничке

Триггеринг. Удаленный запуск приложений по возникновении каких либо событий извне. Правильно я понимаю? Хотя со скайпом понятно. Почему выбраны именно твиттер и скайп?

( 2 * b ) || ! ( 2 * b )

8

Re: VBS: триггеринг по контенту на веб страничке

Твиттер скорее для примера. Скайп выбран как финальный вариант.
Есть возможность подцепить разные скрипты, в случае принятия сообщений от разных пользователей, то есть получается более продвинутый триггеринг, чем просто по любому событию.
Возможно даже читать боди сообщения, и в зависимости от него совершать некое действие.
А вы у вас какие задумки?

9

Re: VBS: триггеринг по контенту на веб страничке

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

( 2 * b ) || ! ( 2 * b )