Robot pour windows messenger (avec api)

Soyez le premier à donner votre avis sur cette source.

Vue 25 228 fois - Téléchargée 2 054 fois

Description

Ce code permet de répondre automatiquement à un contact sous windows messenger.
Il fonctionne avec une base de donnée externe en txt, enregistre des logs et peut fournir des réponses aléatoires.
Pour l'utiliser, loggez vous avec windows messenger (à télécharger ici, par exemple http://www.winfuture.de/news,8401.html), et lancez le programme.

Windows messenger n'est PAS msn messenger, mais fonctionne sur le meme réseau. Ainsi, votre compte msn marchera aussi sur windows messenger.
Ce petit programme pose juste quelques bases pour la creation d'un vrai chatterbot (à venir bientot, j'espere :|).

Merci de m'avoir lut !

Source / Exemple :


Option Explicit
Public WithEvents msn As MsgrObject
Dim test As Integer

Private Sub Form_Load()
Set msn = New MsgrObject
Open App.Path & "\log.txt" For Append As #2
Print #2, "*** Session open the " & Date; " at " & Time() & " ***"
End Sub

Private Sub Form_Unload(Cancel As Integer)
Print #2, "*** Session close the " & Date; " at " & Time() & " ***"
Close #2
End Sub

Private Sub msn_OnTextReceived(ByVal pIMSession As Messenger.IMsgrIMSession, ByVal User As Messenger.IMsgrUser, ByVal bstrMsgHeader As String, ByVal Usersay As String, pfEnableDefault As Boolean)
Dim replystring As String
Dim question() As String
Dim replies() As String
Dim nbrrep As Integer
Dim randomnbr As Integer
If Usersay <> vbCrLf Then
Print #2, "User :" & Usersay
End If
'convertit en minuscule
Usersay = LCase(Usersay)
'ouvre un fichier
Open App.Path & "\replies.txt" For Input As #1
Do Until EOF(1) 'repete tout ca jusqu'a la fin du fichier texte
'lit une line du fichier et la stocke dans replystring
Line Input #1, replystring
question = Split(replystring, "#")
'regarde si ce que dis le contact est dans le replystring
test = InStr(Usersay, question(0))
If test > 0 Then
   'regarde s'il y a plusieur barres | et quitte s'il n'y en a aucune
   test = InStr(question(1), "|")
   If test < 1 Then
   User.SendText bstrMsgHeader, question(1), MMSGTYPE_ALL_RESULTS
    Print #2, "Bot :" & question(1)
    Close #1
   Exit Sub
   End If
  'trouve le nombre de barres apres #
replies = Split(question(1), "|")
nbrrep = UBound(replies)
  'créé un nombre aléatoire entre 0 et nbrrep
Randomize
randomnbr = Int(Rnd() * (nbrrep - 0 + 1)) + 0
'si il n'y a rien à répondre (deux barres ||), on quitte
If replies(randomnbr) = "" Then
Close #1
Exit Sub
End If
  'on répond avec le nombre aléatoire
User.SendText bstrMsgHeader, replies(randomnbr), MMSGTYPE_ALL_RESULTS
Close #1
Exit Sub
 If replies(randomnbr) <> vbCrLf Then
 Print #2, "Bot :" & replies(randomnbr)
 End If
End If
Loop
Close #1
End Sub

Conclusion :


Merci au forum vb de bot-depot.com, à developpez.com et surtout à vbfrance qui m'a fournit toutes mes bases en VB : )

Explication rapide sur le fichier texte :
hello#hi|hello|hey !|Hi|hi there.
Si le bot detecte "hello" dans la phrase du contact, il répondra soi hi, soit hello, soit Hey...etc

(C'est ma premiere source ici, salut à tous !)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
16
Date d'inscription
mardi 21 décembre 2004
Statut
Membre
Dernière intervention
24 mars 2009

Non, cette source ne peut pas marcher avec live messenger 8.5.
Windows messenger uniquement.
Messages postés
1
Date d'inscription
lundi 26 mars 2007
Statut
Membre
Dernière intervention
4 juin 2008

Bonjour, le programme ne amrche pas avec WINDOWS LIVE MESSENGER 8.5 , pouriez-vous SVP m'aider car j'en est vraiment tres tres BESOIN .

MERCI
Messages postés
38
Date d'inscription
dimanche 5 novembre 2000
Statut
Membre
Dernière intervention
16 décembre 2009

bonne source, mais le niveau de l'utilisateur je metterais initié au lieu de debutant car moi niveau API msn j'y connais rien , par contre niveau winsock ça le fait pas mal jêtte un oeil sur ma source client irc translate by kgdecaen(niak) tu veras c'est assez compliqué je te permet si tu veux de créer un msn qui translate automatiquement si tu veux, recupere ma source e modifie la, se serais pas mal et fait moi signe par msn (kgdecaen@hotmail.com) bon a+ et bonne continuation ! :):) 10/10 ta source
Messages postés
2
Date d'inscription
dimanche 27 août 2006
Statut
Membre
Dernière intervention
27 août 2006

j'ai aussi le probleme pour instalé j'ai beau faire pas moyen de l'instalé ceux qui on reussi pouvé vous me prevenir par mail djmadman@hotmail.fr merci
Messages postés
160
Date d'inscription
jeudi 28 août 2003
Statut
Membre
Dernière intervention
30 juin 2011

Moi j'ai essayé, ça a repondut puis:

Windows Messenger a rencontré un erreur et doit se fermer...


Depuis ce jour (lol) des que j'ouvre une conversation sur Windows Messenger, meme problème !
Afficher les 14 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.