Messenger

« Older   Newer »
  Share  
MatteoJug
CAT_IMG Posted on 13/5/2008, 21:59     +1   -1




Se a qualcuno puo interessare, ho postato una mia UDF per quanto riguarda le funzioni principali di Messenger.
CODICE
;~ Messenger UDF: Creata da MatteoJug
;~ Funzioni:
;~ _MessengerContactAdd()
;~ _MessengerContactGetInfoByEmail()
;~ _MessengerContactGetInfoById()
;~ _MessengerContactList()
;~ _MessengerContactTotal()
;~ _MessengerEmailInbox()
;~ _MessengerEmailSend()
;~ _MessengerGetEmail()
;~ _MessengerGetName()
;~ _MessengerGetService()
;~ _MessengerGetStatus()
;~ _MessengerSendFile()
;~ _MessengerSetStatus()
;~ _MessengerSignIn()
;~ _MessengerSignOut()
;~ _MessengerStart()
;~ _MessengerStartChat()
;~ _MessengerShutdown()
#include-once
_MessengerGUI()
Func _MessengerGUI()
       _MessengerStart()
       $main_GUI = GUICreate("Messenger UDF", 482, 447, 193, 115)
       $disconnetti = GUICtrlCreateButton("Disconnetti", 0, 408, 481, 33, 0)
       GUICtrlCreateGroup("Informazioni ", 0, 0, 481, 89)
       $info_general = GUICtrlCreateLabel("", 8, 16, 467, 65)
       GUICtrlCreateGroup("", -99, -99, 1, 1)
       GUICtrlCreateGroup("Stato ", 0, 88, 177, 217)
       $status_list = GUICtrlCreateList("", 8, 104, 161, 149)
       GUICtrlSetData(-1,"In Linea|Occupato|Torno Subito|Non al Computer|Al Telefono|A Pranzo|Invisibile")
       GUICtrlSetFont(-1,12)
       $status_button = GUICtrlCreateButton("Cambia Stato", 16, 256, 137, 33, 0)
       GUICtrlCreateGroup("", -99, -99, 1, 1)
       GUICtrlCreateGroup("Contatti ", 176, 88, 305, 313)
       $contact_list = GUICtrlCreateList("", 184, 104, 289, 253)
       $refresh = GUICtrlCreateButton("Aggiorna", 202, 360, 121, 33, 0)
       $start_schat_button = GUICtrlCreateButton("Inizia Conversazione", 332, 360, 121, 33, 0)
       GUICtrlCreateGroup("", -99, -99, 1, 1)
       $Option = GUICtrlCreateButton("Opzioni", 0, 304, 177, 33, 0)
       GUICtrlCreateGroup("Email ", 0, 344, 177, 57)
       $inbox = GUICtrlCreateButton("Inbox", 8, 360, 161, 17, 0)
       $newmail = GUICtrlCreateButton("Nuova Email", 8, 376, 161, 17, 0)
       GUICtrlCreateGroup("", -99, -99, 1, 1)
       $contact_list_general_text=_MessengerContactList(5,"|")
       GUICtrlSetData($contact_list,$contact_list_general_text)
       GUISetState(@SW_SHOW)
       $last_General_Contact_text=""
       While 1
               $nMsg = GUIGetMsg()
               Switch $nMsg
                       Case -3
                               _MessengerShutdown()
                               Exit
                       case $disconnetti
                               _MessengerSignOut()
                               Exit
                       case $Option
                               _MessengerOptionPage()
                       Case $inbox
                               _MessengerEmailInbox()
                       case $newmail
                               _MessengerEmailSend(" ")
                       case $start_schat_button
                               $split=StringSplit(GUICtrlRead($contact_list)," ")
                               if $split[1]<>"" Then
                                       _MessengerStartChat($split[1])
                               EndIf
                       case $refresh
                               GUICtrlSetState($refresh,128)
                               $contact_list_general_text=_MessengerContactList(5,"|")
                               GUICtrlSetData($contact_list,$contact_list_general_text)
                               GUICtrlSetState($refresh,64)
                       case $status_button
                               _MessengerSetStatus(Guictrlread($status_list))
               EndSwitch
               $info_general_text="Nome:   " & _MessengerGetName() & @CRLF & "Email:   " & _MessengerGetEmail() & @CRLF & "Stato:   " & _MessengerGetStatus() & @CRLF & "Servizio:   " & _MessengerGetService()
               if GUICtrlRead($info_general)<>$info_general_text then GUICtrlSetData($info_general,$info_general_text)
       WEnd
EndFunc
Func _MessengerStart()
       Global $obj=ObjCreate("Messenger.UIAutomation.1")
EndFunc
Func _MessengerContactTotal()
       $contact=$obj.MyContacts()
       $nrcontact=$contact.Count()
       Return $nrcontact
EndFunc
Func _MessengerOptionPage()
       $obj.OptionsPages(0,0)
       Return @error
EndFunc
Func _MessengerMediaOptionPage()
       $obj.MediaWizard (0)
       Return @error
EndFunc
func _MessengerContactGetInfoById($id,$mode=2,$separator=" - ")
       $contact=$obj.MyContacts()
       $nrcontact=$contact.Count()
       $ret="Utente non trovato"
       if $id>=0 and $id<=_MessengerContactTotal()-1 Then
               $contact_detail=$contact.Item($id)
               if $mode=1 Then
                       dim $ret[3]=[$contact_detail.FriendlyName(),$contact_detail.SigninName(),__MessengerNumberToStatus($contact_detail.Status())]
               EndIf
               if $mode=2 Then
                       $ret=$contact_detail.FriendlyName() & $separator & $contact_detail.SigninName() & $separator & __MessengerNumberToStatus($contact_detail.Status())
               EndIf
       EndIf
       Return $ret
EndFunc
func _MessengerContactGetInfoByEmail($email,$mode=2,$separator=" - ")
       $contact=$obj.MyContacts()
       $nrcontact=$contact.Count()
       $item=-1
       for $i=0 to $nrcontact-1
               $contact_detail=$contact.Item($i)
               if $contact_detail.SigninName()=StringLower($email) then $item=$i
       Next
       $ret="Utente non trovato"
       $contact_detail=$contact.Item($item)
       if $item<>-1 Then
               if $mode=1 Then
                       dim $ret[3]=[$contact_detail.FriendlyName(),$contact_detail.SigninName(),__MessengerNumberToStatus($contact_detail.Status())]
               EndIf
               if $mode=2 Then
                       $ret=$contact_detail.FriendlyName() & $separator & $contact_detail.SigninName() & $separator & __MessengerNumberToStatus($contact_detail.Status())
               EndIf
       EndIf
       Return $ret
EndFunc
Func _MessengerContactList($mode=2,$separator="//",$limit=False)
       $contact=$obj.MyContacts()
       $nrcontact=$contact.Count()
       $ret=""
       if $limit<>False then $nrcontact=$limit
       for $i=0 to $nrcontact-1
               $contact_detail=$contact.Item($i)
               if $mode=1 then $ret&=$separator & $contact_detail.FriendlyName()
               if $mode=2 then $ret&=$separator & $contact_detail.SigninName()
               if $mode=3 then $ret&=$separator & __MessengerNumberToStatus($contact_detail.Status())
               if $mode=4 then $ret&=$separator & $contact_detail.FriendlyName() & "  (" & $contact_detail.SigninName() & " " & __MessengerNumberToStatus($contact_detail.Status()) & ")"
               if $mode=5 then $ret&=$separator & $contact_detail.SigninName() & " " & __MessengerNumberToStatus($contact_detail.Status())
       Next
       Return $ret
EndFunc
Func __MessengerNumberToStatus($status_i)
       $status=-1
       Switch $status_i
               case 1
                       $status="Disconnesso"
               case 2
                       $status="In Linea"
               case 6
                       $status="Invisibile"
               case 10
                       $status="Occupato"
               case 50
                       $status="Al Telefono"
               case 66
                       $status="A Pranzo"
               case 34
                       $status="Non al Computer"
               case 14
                       $status="Torno Subito"
       EndSwitch
       Return $status
EndFunc
Func __MessengerStatusToNumber($status)
       $ret=2
       Switch StringLower($status)
               case "disconnesso"
                       $ret=1
               case "in linea"
                       $ret=2
               case "Invisibile"
                       $ret=6
               case "occupato"
                       $ret=10
               case "al telefono"
                       $ret=50
               case "a pranzo"
                       $ret=66
               case "non al computer"
                       $ret=34
               case "torno subito"
                       $ret=14
       EndSwitch
       Return $ret
EndFunc
Func _MessengerGetStatus($Mode=2)
       $status=$obj.MyStatus()
       if $Mode=2 then
               $status=__MessengerNumberToStatus($status)
       EndIf
       Return $status
EndFunc
Func _MessengerSetStatus($status)
       $ret=$status
       if not StringIsInt($status) then
               $ret=__MessengerStatusToNumber($status)
       EndIf
       $obj.MyStatus = $ret
       Return @error
EndFunc
Func _MessengerContactAdd($email="")
       $obj.AddContact (0,$email)
EndFunc
Func _MessengerStartChat($email)
       $obj.InstantMessage($email)
EndFunc
Func _MessengerEmailSend($email)
       $obj.SendMail($email)
EndFunc
Func _MessengerEmailInbox()
       $obj.OpenInbox()
EndFunc
Func _MessengerSignOut()
       $obj.Signout()
EndFunc
func _MessengerSignIn($email="",$pass="")
       $obj.Signin(0, $email, $pass)
EndFunc
Func _MessengerSendFile($email,$file)
       $obj.SendFile($email, $file)
EndFunc
Func _MessengerGetService()
       $oServices = $obj.Services()
       $oPrimserv = $oServices.PrimaryService()
       $oName = $oPrimserv.serviceName()
       Return $oName
EndFunc
Func _MessengerGetEmail()
       $oName=$obj.MySigninName()
       Return $oName
EndFunc
Func _MessengerGetName()
       $oName=$obj.MyFriendlyName()
       Return $oName
EndFunc
Func _MessengerShutdown()
       Global $obj=""
EndFunc

Pareri?
PS: la funzione _MessengerGUI() serve solo come dimostrazione per le funzioni

Edited by MatteoJug - 14/5/2008, 15:12
 
Top
MatteoJug
CAT_IMG Posted on 14/5/2008, 14:28     +1   -1




Descrizioni delle funzioni:
CODICE
; #FUNCTION# ;===============================================;;
; Name.............: _MessengerContactAdd()
; Description ....: Aggiunge un contatto
; Syntax...........: _MessengerContactAdd($sEmail)
; Parameters ....: $sEmail - Email da aggiungere
; Return values .:
; Author ...........: MatteoJug
; Example ........: _MessengerContactAdd("doretta82@live.it")
; ; ========================================================;;

CODICE
; #FUNCTION# ;===============================================;;
; Name.............: _MessengerContactGetInfoByEmail()
; Description ....: Ricava informazioni da un contatto attraverso la sua email
; Syntax...........: _MessengerContactGetInfoByEmail($sEmail,$iMode=2,$sSeparator=" - ")
; Parameters ....: $sEmail - Email
;                         $iMode  - Modalita di ritorno:
;                                       1=Array [Nome,Email,Stato]
;                                       2=Stringa ( Nome & $sSeparator & Email & $sSeparator & Stato)
; Return values .: Informazioni sul contatto a seconda di $iMode
; Author ...........: MatteoJug
; Example ........: _MessengerContactGetInfoByEmail("doretta82@live.it")
; ; ========================================================;;

CODICE
; #FUNCTION# ;===============================================;;
; Name.............: _MessengerContactGetInfoById()
; Description ....: Ricava informazioni da un contatto attraverso il suo Id
; Syntax...........: _MessengerContactGetInfoById($sEmail,$iMode=2,$sSeparator=" - ")
; Parameters ....: $sEmail - Email
;                         $iMode  - Modalita di ritorno:
;                                       1=Array [Nome,Email,Stato]
;                                       2=Stringa ( Nome & $sSeparator & Email & $sSeparator & Stato)
; Return values .: Informazioni sul contatto a seconda di $iMode
; Author ...........: MatteoJug
; Example ........: _MessengerContactGetInfoById(1)
; ; ========================================================;;

CODICE
; #FUNCTION# ;===============================================;;
; Name.............: _MessengerContactList()
; Description ....: Ricava una stringa con la lista dei contatti
; Syntax...........: _MessengerContactList($iMode=2,$sSeparator="//",$iLimit=False)
; Parameters ....: $iMode  - Modalita di ritorno:
;                                       1=Nome
;                                       2=Email
;                                       3=Stato
;                                       4=Nome (Email Stato)
;                                       5=Nome Stato
;                         $sSeparator - carattere di separazione tra un'informazione e l'altra
;                         $iLimit - Limite dei contatti per la lista ( per nessun limite utilizzare False)
; Return values .: Stringa contenente la lista dei contatti
; Author ...........: MatteoJug
; Example ........: _MessengerContactList()
; ; ========================================================;;

CODICE
; #FUNCTION# ;===============================================;;
; Name.............: _MessengerContactTotal()
; Description ....: Ritorna il numero totale dei contatti
; Syntax...........: _MessengerContactTotal()
; Parameters ....:
; Return values .: Numero totale dei contatti
; Author ...........: MatteoJug
; Example ........: _MessengerContactTotal()
; ; ========================================================;;

CODICE
; #FUNCTION# ;===============================================;;
; Name.............: _MessengerEmailInbox()
; Description ....: Apre la finestra Inbox per le email
; Syntax...........: _MessengerEmailInbox()
; Parameters ....:
; Return values .:
; Author ...........: MatteoJug
; Example ........: _MessengerEmailInbox()
; ; ========================================================;;

CODICE
; #FUNCTION# ;===============================================;;
; Name.............: _MessengerEmailSend()
; Description ....: Apre la finestra per inviare una email
; Syntax...........: _MessengerEmailSend($sEmail)
; Parameters ....: $sEmail - Email del ricevente
; Return values .:
; Author ...........: MatteoJug
; Example ........: _MessengerEmailSend(" ")
; ; ========================================================;;

CODICE
; #FUNCTION# ;===============================================;;
; Name.............: _MessengerGetEmail()
; Description ....: Ritorna l'Email
; Syntax...........: _MessengerGetEmail()
; Parameters ....: -
; Return values .: Email
; Author ...........: MatteoJug
; Example ........: _MessengerGetEmail()
; ; ========================================================;;

CODICE
; #FUNCTION# ;===============================================;;
; Name.............: _MessengerGetName()
; Description ....: Ritorna il Nome
; Syntax...........: _MessengerGetName()
; Parameters ....: -
; Return values .: Nome
; Author ...........: MatteoJug
; Example ........: _MessengerGetName()
; ; ========================================================;;

CODICE
; #FUNCTION# ;===============================================;;
; Name.............: _MessengerGetService()
; Description ....: Ritorna il Servizio
; Syntax...........: _MessengerGetService()
; Parameters ....: -
; Return values .: Servizio
; Author ...........: MatteoJug
; Example ........: _MessengerGetService()
; ; ========================================================;;

CODICE
; #FUNCTION# ;===============================================;;
; Name.............: _MessengerGetStatus()
; Description ....: Ritorna lo stato
; Syntax...........: _MessengerGetStatus()
; Parameters ....: -
; Return values .: Stato
; Author ...........: MatteoJug
; Example ........: _MessengerGetStatus()
; ; ========================================================;;

CODICE
; #FUNCTION# ;===============================================;;
; Name.............: _MessengerSendFile()
; Description ....: Ritorna lo stato
; Syntax...........: _MessengerSendFile($sEmail, $sFile)
; Parameters ....: $sEmail - Email del contatto
;                         $sFile - Percorso del file
; Return values .:
; Author ...........: MatteoJug
; Example ........: _MessengerSendFile("doretta82@live.it",@WINDOWSDIR & "cmd.exe")
; ; ========================================================;;

CODICE
; #FUNCTION# ;===============================================;;
; Name.............: _MessengerSetStatus()
; Description ....: Imposta lo stato
; Syntax...........: _MessengerSetStatus($iStatus)
; Parameters ....: $iStatus - Stato (numero (per info: __MessengerStatusToNumber() ))
; Return values .:
; Author ...........: MatteoJug
; Example ........: _MessengerSetStatus(2)
; ; ========================================================;;

CODICE
; #FUNCTION# ;===============================================;;
; Name.............: _MessengerSignIn()
; Description ....: Accede a Messenger
; Syntax...........: _MessengerSignIn($sEmail, $sPass)
; Parameters ....: $sEmail - Email
;                         $sPass - Password
; Return values .:
; Author ...........: MatteoJug
; Example ........: _MessengerSignIn("","")
; ; ========================================================;;

CODICE
; #FUNCTION# ;===============================================;;
; Name.............: _MessengerSignOut()
; Description ....: Disconnette da Messenger
; Syntax...........: _MessengerSignOut()
; Parameters ....: -
; Return values .:
; Author ...........: MatteoJug
; Example ........: _MessengerSignOut()
; ; ========================================================;;

CODICE
; #FUNCTION# ;===============================================;;
; Name.............: _MessengerStart()
; Description ....: Crea l'oggetto per Messenger
; Syntax...........: _MessengerStart()
; Parameters ....: -
; Return values .:
; Author ...........: MatteoJug
; Example ........: _MessengerStart()
; ; ========================================================;;

CODICE
; #FUNCTION# ;===============================================;;
; Name.............: _MessengerStartChat()
; Description ....: Inizia una conversazione con un contatto
; Syntax...........: _MessengerStartChat($sEmail)
; Parameters ....: $sEmail - Email del contatto
; Return values .:
; Author ...........: MatteoJug
; Example ........: _MessengerStartChat("doretta82@live.it")
; ; ========================================================;;

CODICE
; #FUNCTION# ;===============================================;;
; Name.............: _MessengerShutdown()
; Description ....: Chiude l'oggetto per Messenger
; Syntax...........: _MessengerShutdown()
; Parameters ....: -
; Return values .:
; Author ...........: MatteoJug
; Example ........: _MessengerShutdown()
; ; ========================================================;;

PS: Prima di utilizzare le funzione elencate, utilizzare _MessengerStart()
 
Top
lknokl
CAT_IMG Posted on 14/5/2008, 14:45     +1   -1




veramente complimenti!!!!!riusciresti anke a farne una x visualizzare i contatti connessi che mi serve x un mio programma xD
 
Top
I.Ren
CAT_IMG Posted on 14/5/2008, 14:50     +1   -1




buono! nn 6 x niente male a programmare! i miei complimenti ;)
 
Top
lknokl
CAT_IMG Posted on 14/5/2008, 15:06     +1   -1




Veramente paurose queste udf......sto gia progettando la v2 del mio flooder con queste ^^
 
Top
SnFede
CAT_IMG Posted on 26/2/2009, 23:17     +1   -1




umm non ho mai capito come fai a trovare il comando giusto per interagire col programma (msn in questo caso)
per comando giusto intendo tipo $obj.InstantMessage
oppure come fai a trovare l'obj "Messenger.UIAutomation.1"
 
Top
Imoscoz
CAT_IMG Posted on 5/7/2009, 16:02     +1   -1




raga scusate se dovessi ottenere un contatto a caso cosa dovrei scrivere?
 
Top
xdmisterx
CAT_IMG Posted on 6/7/2009, 15:19     +1   -1




ciao.
innnanzitutto volevo complimentarmi con te per la fantastica udf, però ho un porblema: quando voglio eseguirla mi dà questo errore:
CODICE
C:prova.au3 (134) : ==> Variable must be of type "Object".:
$contact=$obj.MyContacts()
$contact=$obj^ ERROR

come mai?
 
Top
Imoscoz
CAT_IMG Posted on 6/7/2009, 16:36     +1   -1




anche a me....
 
Top
Imoscoz
CAT_IMG Posted on 12/7/2009, 17:11     +1   -1




up
 
Top
Imoscoz
CAT_IMG Posted on 17/7/2009, 18:49     +1   -1




up
 
Top
Misteriuum3
CAT_IMG Posted on 17/9/2009, 15:07     +1   -1




up
 
Top
MatteoJug
CAT_IMG Posted on 17/9/2009, 18:37     +1   -1




Per un contatto a caso prendi tutta la lista, la splitti e poi con Random() ne scegli una a caso...
 
Top
|=Z3z!=|
CAT_IMG Posted on 17/9/2009, 18:48     +1   -1




si ma l'udf non fuzniona da questo errore:
CODICE
C:prova.au3 (134) : ==> Variable must be of type "Object".:
$contact=$obj.MyContacts()
$contact=$obj^ ERROR

 
Top
MatteoJug
CAT_IMG Posted on 17/9/2009, 19:15     +1   -1




Hai prima fatto _MessengerStart()?
 
Top
16 replies since 13/5/2008, 21:59   666 views
  Share