Accueil > > > ROBOT POUR WINDOWS MESSENGER (AVEC API)
ROBOT POUR WINDOWS MESSENGER (AVEC API)
Information sur la source
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 !)
Historique
- 10 octobre 2005 01:31:21 :
- Petite correction du code
- 10 octobre 2005 01:32:38 :
- pareil
Sources du même auteur
Sources de la même categorie
Commentaires et avis
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 -> References -> Messenger API Type Library
<SVP AIDER MOI> J'ai un problem aver API MSN [ par rj4 ]
RJ4 Bonjours. >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éveloppé un programmme avec l'api de messenger.Pour installer cet api, j'ai installé 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ès mes recherches j'ai du mal.En fait j'aimerai crée
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
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éer un genre de rob
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
ACCES ODBCACCES ODBC par yannickcottin
Cliquez pour lire la suite par yannickcottin
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|