Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ROBOT POUR WINDOWS MESSENGER (AVEC API)


Information sur la source

Catégorie :API Classé sous : robot, api, messenger, automatique Niveau : Débutant Date de création : 09/10/2005 Date de mise à jour : 10/10/2005 01:32:38 Vu / téléchargé: 19 555 / 1 789

Note :
9 / 10 - par 3 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note

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

  • 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
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 !)
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

10 octobre 2005 01:31:21 :
Petite correction du code
10 octobre 2005 01:32:38 :
pareil

Commentaires et avis

signaler à un administrateur
Commentaire de khortex92 le 17/10/2005 20:52:24

9/10... tres efficace merci beaucoup!!!

signaler à un administrateur
Commentaire de khortex92 le 18/10/2005 17:06:43

Après avoir tenté d'étendre les possibilités de ton bot, je me suis apperçu qu'il lui est impossible d'envoyer des caractères comme le é ou à ou autres.... As tu rencontré ce probleme?

Merci !!

Aurélien

signaler à un administrateur
Commentaire de nicerap le 06/11/2005 01:54:28

Eum pourait tu mettre toute sa en .exe parceque quand on télécharge le ZIP bien il est pas dedans merci de regarder ce probleme

signaler à un administrateur
Commentaire de Optitech le 06/11/2005 16:42:43

Les EXE sont automatiquement supprimés lorsque tu charges le fihcier ZIP sur ton ordi ! (Ca c'st l'une des chose que l'on peut fair avec .Net)

signaler à un administrateur
Commentaire de nicerap le 10/11/2005 23:11:41

alors pouquoi avec les autres source sa marche...

signaler à un administrateur
Commentaire de salasfinwe le 16/01/2006 04:02:55

comment instaler ce prog ?

signaler à un administrateur
Commentaire de trotter le 23/01/2006 01:02:27

khortex92, c'est une histoire d'UTF-8.

Pour lui faire reconnaitre les é, utilise ã© dans le fichier texte (regarde ce que recois la variables Usersay quand tu essaie d'envoyer des caracteres spéciaux à ton bot).

Jette un oeil là, ca peut t'interresser, aussi :
http://www.vbfrance.com/code.aspx?ID=6571

Pour lui faire envoyer des é...Err, je donne ma langue au chat.

J'avoue que j'ai un peu la flemme de m'y pencher, étant en train de bosser sur un vrai client msn, ce qui rend ces api obsoletes.

signaler à un administrateur
Commentaire de khortex92 le 23/01/2006 18:42:43

Merci bien TROTTER!!! Je vais me pencher là dessus quand j'aurais le temps et je vous tiendrai au courant!

Bon courage a tous

Aurélien

signaler à un administrateur
Commentaire de ratala le 05/03/2006 00:04:01

Est-ce que c'est normal que mon ordi fasse "beep" quand je recoi un message ?

signaler à un administrateur
Commentaire de romit le 22/04/2006 21:49:04

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 !

signaler à un administrateur
Commentaire de djmadman le 27/08/2006 17:30:26

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

signaler à un administrateur
Commentaire de kgdecaen le 01/02/2008 03:20:25 8/10

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

signaler à un administrateur
Commentaire de hacker67sang le 04/06/2008 15:18:51

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

signaler à un administrateur
Commentaire de trotter le 04/06/2008 16:28:42

Non, cette source ne peut pas marcher avec live messenger 8.5.
Windows messenger uniquement.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

API - Saisie semi automatique dans un combo box [ par ABL-Online ] Bonjour, Pourriez-vous m'indiquer quel est l'api qui me permettrais de faire la saisie semi-automatique dans un combo box !Merci d'avance Compilation automatique de Vbp via API [ par Boub78 ] J'aimerai savoir comment faire pour compiler via un programme VB d'autre Vbp en pouvant aussi gérer l'incrémentation de version des différents objets OU TROUVER L'API POUR MESSENGER 5.0 ???? [ par mattflyer ] Que dire de plus ..------------------------Bon ben on va s'y mettre non ? Mattflyer API MSN Messenger [ par LordBob ] Salut a tous,voula j'ai juste une simple question, je voudrais savoir laquele de ces 3 dll contient les API programmable en VB de Messenger:_ custsat. API MSN Messenger [ par LordBob ] Salut a tous,voila j'ai un gros probleme, quand je veux ajouter les API d'MSN et que je faitProject -&gt; References -&gt; Messenger API Type Library <SVP AIDER MOI> J'ai un problem aver API MSN [ par rj4 ] RJ4 Bonjours. &gt;Je suis newbies et je cherche de l'aide.Bon voila. Je voilas essayer de changer mon nickname msn av Api Messenger [ par scarpopo ] Bonjour,J'ai d&#233;velopp&#233; un programmme avec l'api de messenger.Pour installer cet api, j'ai install&#233; Windows messenger en plus de MSN Mes besoin d'aide à propos de l'API MESSENGER [ par nomvbfrance ] Bonjour, j'essaye de me familiariser avec l'api messenger sur vb6 mais j'avoue que malgr&#232;s mes recherches j'ai du mal.En fait j'aimerai cr&#233;e MSN Messenger - Un Robot ? pour qu'une adresse reste toujours online !!! [ par Europeans ] Bonsoir, Je souhaiterais savoir si il existe, ou si il est possible de cr&#233;er un genre de rob Detection Messenger [ par bbor99 ] Salut, Je suis en train de faire un petit soft qui tourne en tache de fond et qui doit faire des opérations sur certain fichiers dès que Messenger de


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,484 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.