CHATFUN用的MSN通訊協定已經過時了,
建議用新版的AMSNBOT
臨時想用C#或VB.net開發MSN機器人,
上網找到MSNPSharp這個程式庫,是DotMSN的新版本。
修改一般手動聊天的範例後變成了機器人。
我現在都用foxbot@livemail.tw測試最新版,不怕他上上下下的就加吧XD
基本上這隻玩意兒根本沒有任何智慧可言,純粹是死板化的輸入和輸出而已喔~。
這機器人是用VB.net做的,不過改C#也可以~請善用轉換器。
[目前功能]
1.計算式子---可以求值,如:2*2
2.可以改變字體顏色
3.簡繁轉換
4.個人資料設定
5.判斷星座(沒用的感覺XD)
6.RSS訂閱
7.使用者教話功能
教話A+B
使用者輸入A,電腦會回答B
藍藍路~A+B,把B這個訊息洗掉
8.自動新增好友(含YAHOO)
[下載連結]
VB2008程式原始碼
Chatfun執行檔
[截圖]

拍寫~
回覆刪除我執行chatfun的時候沒辦法連上MSN說0.0
資訊欄會寫以下文字
connect to the specified endpoint. See the inner exception for more information. ---> System.Net.Sockets.SocketException: 不支援這項物件參照類型的操作。
於 Org.Mentalis.Network.ProxySocket.ProxySocket.EndConnect(IAsyncResult asyncResult)
於 MSNPSharp.Core.SocketMessageProcessor.EndConnectCallback(IAsyncResult ar)
--- 內部例外狀況堆疊追蹤的結尾 ---
我也想要用看看阿QQ
麻煩你囉(拜
對不起捏,我不知道原因囧,沒遇過
回覆刪除最近對MSN機器人很有興趣,就上網抓了MSNPSharp來使用,可是抓下來來以後完全無從下手,能請教一下如果我只要做一個會講"HI"的機器人,一開始要怎麼做呢?
回覆刪除請參考本程式原始碼
回覆刪除個人是用他所附的範例去修改的
回覆刪除我想請問一下 您有考慮過把對話存在資料庫中嗎@@ 比如說類似字典的功能...因為我需要做類似的功能可是毫無頭緒XD 如果有的話論一下
回覆刪除不是很懂,加一下MSN或即時通吧
回覆刪除最近連續看到您做的兩個程式(鎖狀態跟機器人)
回覆刪除都滿有興趣的
請問一下
有辦法做即時通版機器人嗎??
本MSN機器人亦能與即時通帳號通訊(只是不能用即時通登入)
回覆刪除大大,請問一下,那vb.net 2005 像是使用addhandler卻只有conversationcreadted和transferinvitationreceived這二個選項
回覆刪除請問是因為vs2005的關系嗎?
我看vs2008卻是正常的說
不能用即時通登入阿
回覆刪除我主要是想製作即時通的說
另外我用即時通對MSN機器人
打/help時會跑出伺服器錯誤??
To 匿名
回覆刪除這專案是VB2008的,
如果想要自行使用MSNPSHARP可能要找最新版本。
To OldNick
/help錯誤還沒遇過,有空會看一下,
另外可以輸入"這啥"測試(跟/help功效一樣)
By the way,這程式只是提供個基本款讓大家玩玩看,我更新是很不負責任的哦(誤
Imports System
回覆刪除Imports System.IO
Imports System.Drawing
Imports System.Collections
Imports System.ComponentModel
Imports System.Windows.Forms
Imports System.Data
Imports MSNPSharp
Imports MSNPSharp.DataTransfer
Public Class Form1
Public msn As MSNPSharp.Messenger = New Messenger()
Public Sub New()
' 此為 Windows Form 設計工具所需的呼叫。
InitializeComponent()
' 在 InitializeComponent() 呼叫之後加入任何初始設定。
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
AddHandler msn.Nameserver.SignedIn, AddressOf onSignedIn
AddHandler msn.NameserverProcessor.ConnectionEstablished, AddressOf onConnectionest
AddHandler msn.Nameserver.ServerErrorReceived, AddressOf nameserver_servererrorreceived
AddHandler msn.Nameserver.AuthenticationError, AddressOf onauthenticationerror
AddHandler msn.ConversationCreated, AddressOf onconversatoncreated
msn.Credentials.Account = "11"
msn.Credentials.Password = "11"
msn.Connect()
End Sub
Private Sub onSignedIn(ByVal sender As Object, ByVal e As EventArgs)
UpdateUI("登入成功", Label2)
End Sub
Private Sub onConnectionest(ByVal sender As Object, ByVal e As System.EventArgs)
UpdateUI("登入伺服器成功", Label2)
msn.Credentials.Account = "11"
msn.Credentials.Password = "11"
msn.Connect()
End Sub
Private Sub nameserver_servererrorreceived(ByVal sender As Object, ByVal e As MSNErrorEventArgs)
labe2a(e.MSNError.ToString())
End Sub
Private Sub onauthenticationerror(ByVal sender As Object, ByVal e As MSNPSharp.ExceptionEventArgs)
UpdateUI("帳號密碼錯誤", Label2)
End Sub
Private Sub labe2a(ByVal newText As String)
UpdateUI(newText, Label2)
End Sub
Private Sub onconversatoncreated(ByVal sender As Object, ByVal e As MSNPSharp.ConversationCreatedEventArgs)
UpdateUI(sender, Label2)
End Sub
Private Delegate Sub UpdateUICallBack(ByVal newText As String, ByVal c As Control)
Private Sub UpdateUI(ByVal newText As String, ByVal c As Control)
If Me.InvokeRequired() Then
Dim cb As New UpdateUICallBack(AddressOf UpdateUI)
Me.Invoke(cb, newText, c)
Else
c.Text = newText
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
End Sub
End Class
=================
大大這是我寫的基本code
可是就是沒辦法跳到onsignedin的事件
可以麻煩指導一下嗎
大大不好意思我解決了
回覆刪除上面的code如果太長的話,可刪除沒關系^_^
麻煩一下了
Lupus:
回覆刪除抓了你的MSN機器人來研究,想在裡面NEW一個表單出來,可是都會出現錯誤
如下:
無法產生 ActiveX 控制項 '8856f961-340a-11d0-a96b-00c04fd705a2',因為目前的執行緒不是在單一執行緒 Apartment。
我是寫在 REBOT.vb裡面
Private Sub Switchboard_TextMessageReceived(ByVal sender As Object, ByVal e As TextMessageEventArgs)
If Not Aitsu Then AitsuHandle(Nothing, New ContactEventArgs(e.Sender))
PrintText(e.Sender.Name + " 說: " + e.Message.Text)
If (e.Sender.Mail = "noanima@msn.com") Then
Dim a As New SMS
a.Show()
End If
Try
SendIM(GetColor(e.Sender), Exec(e.Message.Text, e.Sender).Split(vbNullChar)) 'AI
Catch ex As Exception
SendIM("##MSN機器人.Net錯誤##" & vbNewLine & ex.ToString(), Color.Red)
End Try
End Sub
可以請你指導一下嘛... 感嗯!
您好
回覆刪除請問是不是以下條件無法登入?
1.機器人本身不是@livemail.tw @msn.com @hotmail.com 就不能登入,顯示204錯誤
而如果對方不是以上msn帳號的話,機器人永遠是顯示離線狀態,機器人程式上對方也是離線
不知道站長有沒有繼續開發與修正呢? 還是能否將核心換上MSNPSharp的最新版??
感謝
等比完賽吧=口=
回覆刪除太感謝站長了,真是個好消息
回覆刪除辛苦您了
大大請問一下,我有下載你的source code下來build
回覆刪除不過發現build出來的執行檔都會執行error
我用debug的方式去看發現
The error is: Unable to cast object of type 'System.EventArgs' to type 'System.Windows.Forms.KeyEventArgs'.
因為我本身沒學過vb,只學過c和c++,所以想請問一下這個error要怎麼解決呢?
謝謝~~
有可能用在YAHOO的及時通上嗎
回覆刪除我高中同學都用即時通
可以用YMSG Lib達成..
回覆刪除大大
回覆刪除我是初學者,想詢問一下若要用在vb 2005要如何轉換呢?
或者你可以釋放vb 2005的版本呢?
謝謝