MSN機器人的發展、應用與實作 資管三 B 葉小僑 資管三 B 李燕秋 資管三 B 洪培瑄

Slides:



Advertisements
Similar presentations
小紅帽 仁愛國小 三年一班 黃馨慧 從前有個可愛的小姑娘,誰見了都喜歡,但 最喜歡她的是她的奶奶,簡直是她要什麼就 給她什麼。一次,奶奶送給小姑娘一頂用絲 絨做的小紅帽,戴在她的頭上正好合適。從 此,姑娘再也不願意戴任何別的帽子,於是 大家便叫她 “ 小紅帽 ” 。
Advertisements

第三讲 面向对象(上).
3.2 Java的类 Java 类库的概念 语言规则——程序的书写规范 Java语言 类库——已有的有特定功能的Java程序模块
天水圍的體育設施.
機關安全維護 壹、對爆裂物之認識與防處.
遊程規劃實務 中華民國遊程規劃設計協會.
自 我 介 紹 班級:運促一乙 姓名:林以權 學號:D
中国公务员管理 CHINAS CIVIL SERVICE SYSTEM
姓名:劉芷瑄 班級:J201 座號:39號 ISBN:957-33-1963-2
四資二甲 第三週作業 物件導向程式設計.
第十四章 軟體系統安全 課前指引 網際網路的發展將每台電腦串連成共通的網絡,而層出不窮的資訊安全問題使得如何在開放的環境中,實現軟體安全的議題,逐漸受到重視。就軟體安全的角度而言,可分為軟體安全的應用及實作兩方面。在軟體安全應用方面,主要討論如何安全地執行及操作應用軟體,就網路應用軟體而言,電子郵件與檔案傳送等軟體,已有許多相關的安全技術發展,另一項近年十分流行的網路應用服務-即時通訊軟體,其安全性問題亦日漸受到重視。
媽咪!我長毛了… 平平與安安的長毛事件簿 報告:邱 子 芸
網路設備即時監控與異常自動復原系統 胡中強 林佑群 蔡殿偉.
中国债券信息网中文版改造 设计思路 二00七年十月十日.
小論文寫作分析 國立新港藝術高中歷史科 王伯祺老師.
应用信息技术 加快教育信息化进程 教育信息技术学院 徐福荫 Tel:
這學期的學習檔案 授課教師:鄭亞薇 數媒一A 費詩涵
中国公务员制度 主讲:吴春华 教授 温志强 副教授.
设计模式可以帮助我们改善系统的设计,增强 系统的健壮性、可扩展性,为以后铺平道路。
第13章多项目设计与开发.
第6章 HTML控件和Web服务器控件 本章讲述的主要内容 6.1 ASP.NET控件概述 6.2 标准服务器端控件 6.3 数据验证控件
雷 霆 战 机 By—谷恩轩&余万全.
C#程序设计 10软件1、2班 王槐彬 计算机工程学院.
第8章 字串與陣列 8-1 字串處理 8-2 一維陣列的處理 8-3 建立多維陣列 8-4 不規則陣列與參數傳遞 8-5 陣列排序與搜尋.
類別與物件 Class & Object.
C# 程式設計 第一部分 第1-4章 C# 程式設計 - 南華大學資管系.
2018/9/19.
第5章 异常处理 王德俊 上海交通大学继续教育学院.
CH11.
第八章 C#高级编程.
第16章 Windows Form與資料繫結 16-1 資料繫結的基礎 16-2 在專案新增資料來源 16-3 使用資料來源建立單筆編輯表單
Microsoft Windows Live
第16章 VB.NET物件導向與.NET Framework
圖書館創新服務之經驗談 -- 從一位實務工作者的觀點出發
Visual Studio IDE基本操作 建國科技大學 資管系 饒瑞佶.
委派與執行緒 建國科技大學 資管系 饒瑞佶.
王豐緒 銘傳大學資訊工程學系 問題:JAVA 物件檔輸出入.
C#面向对象程序设计 $7 继承和多态性.
電子簽核教育訓練.
例外處理與 物件序列化(Exception Handling and Serialization of Objects)
异常及处理.
C/C++/Java 哪些值不是头等程序对象
Visual Basic.NET 程序设计语言课程内容
第六章 属性、索引器、委托和事件.
P2P聊天工具.
网络营销 第6章 WEB2.0与网络营销.
第7章 繼承/多型/介面 注意: 本投影片僅供本書上課教師使用,非經同意請勿上網轉載或供拷貝.
第五讲 酒店客房管理系统(一) 教育部“十二五”职业教育国家规划教材
交友網站MSN及Facebook對本校中二學生的社交生活及學業有何影響
JAVA 编 程 技 术 主编 贾振华 2010年1月.
劉崇汎 崑山科技大學 電腦與通訊系 DLL的建立與引用 劉崇汎 崑山科技大學 電腦與通訊系
爱心志愿者服务系统 操作指引 设计:东莞市爱心志愿者协会 网络中心 胡连甲 技术支持电话与微信:
粵劇服裝 組長:鄧凱文(14) 組員姓名:蔡慧虹(2) 李祖兒(9) 楊紫盈(19).
第五章 介面/集合/泛型 注意: 本投影片僅供本書上課教師使用,非經同意請勿上網轉載或供拷貝.
补充:c#语言基础.
C#程序设计基础 $3 成员、变量和常量.
C# 基本語法、變數.
个性化信息服务 Personalization Information Service.
Java程式初體驗大綱 大綱 在學程式之前及本書常用名詞解釋 Hello Java!程式 在Dos下編譯、執行程式
教師專業發展評鑑 鄭玉玲的教學評鑑檔案.
3 上海神计信息系统工程有限公司 2016年4月.
107學年度第1學期 精神、社區及臨床選習 實習前說明會
C# 匿名委派 + Lambda + Func 建國科技大學 資管系 饒瑞佶.
JAVA 程式設計與資料結構 第三章 物件的設計.
臺中市龍山國小 校園常見瓢蟲辨識   瓢蟲屬於鞘翅目瓢蟲科。目前世界上約有5000多種瓢蟲,台灣地區約有80種以上,其中能捕食有害生物的瓢蟲約七十種之多。瓢蟲因為捕食有害生物為主食,所以又稱為『活農藥』。
05 方法. 05 方法 5.1 方法 在一個較大型的程式中,通常會將具有特定功能或經常重複使用的程式,撰寫成獨立的小單元,稱為「方法」(Method),並賦予方法一個名稱,當程式需要時就可以呼叫此方法來執行該段特定程式。(此種重複使用的程式小單元在其他語言中可能稱為程序、副程式或函式, Visual.
C#快速導讀 流程控制.
社會領域教學 相關網路資源介紹.
電腦 戰.
Windows Workflow Foundation CON 230
Presentation transcript:

MSN機器人的發展、應用與實作 資管三 B97705016 葉小僑 資管三 B97705020 李燕秋 資管三 B97705057 洪培瑄

簡介 msn的特性 即時、免費、使用者多 近年許多企業紛紛創造msn機器人提供線上服務,成為網路市場新趨勢

MSN機器人分類 綜合型 功能型 聊天型 宣傳型

優點 即時性 不用限制客服時間,與顧客的互動及服務有即時性 節省人力 節省客服人員所需的人力 吸引顧客 MSN的便利性 有趣的機器人有吸引力

問題 對企業形象的影響 資訊安全方面的隱憂 可能會造成顧客有覺得服務很機械、公式化、冰冷等負面觀感。 駭客可能會利用MSN機器人滲透企業內部網路並竊取資料

背後概念介紹

.NET Framework 一種採用系統虛擬機執行的編程平臺,以通用語言執行庫為基礎,支援多種語言的開發。 有多種版本(1.0、1.1、2.0、3.0、3.5、4.0 ),其中.NET Framework 3.5包含一個支援C#和VB.Net中心的語言特性的編譯器,以及對語言整合查詢的支援。 利用C#實作機器人

DotMSN 提供MSN Messenger服務的共享且獨立的library 架構為C#,但也支援其他程式語式,只需在dll file裡加入相關的reference 為獨立系統,不用安裝MSN也可以使用

DotMSN-功能 製作MSN bots 連接MSN的服務並更新個人資訊 偵測hotmail的狀況(是否有新信)

MSNPSharp DotMSN提供的MSN機器人開發套件 MSNPsharp三大namespace MSNPSharp:基本的data classes, façade classes, event argument classes, exception class MSNPSharp.Core:‘backend’ classes that are used by DotMSN MSNPSharp.DataTransfer: P2P and MSNSLP classes

P2P & MSNSLP Peer-to-peer (對等網際網路技術) 無中心伺服器 MSNSLP的架構為P2P

RSS RSS(Really Simple Syndication),簡易資訊聚合,是一種消息來源格式規範 發佈經常更新資料的網站,例如部落格文章、新聞、音訊或視訊的網路摘要 能夠讓網摘自動地發佈資料,同時也使讀者能更夠定期更新他們喜歡的網站或是聚合不同網站的網摘。

RSS使用 閱讀 訂閱 利用RSS實作機器人 RSS閱讀器 feed reader或aggregator等網頁 用滑鼠點取瀏覽器上指向訂閱程序的RSS小圖示之URI來訂閱網摘 利用RSS實作機器人

各種有趣的機器人實例

有問必達 功能型 有問必達

有問必達 功能型+聊天型 全台第一隻智慧型msn機器人 一開始阿達機器人只是為了查股票而建置 現有的功能包羅萬象,問天氣、查股票、聊天、笑話、小遊戲

簡介

有問必達 msn機器人寵物功能 透過逐句訓練,教會自己的msn機器寵物如何去回應問答

簡介

翻譯機器人 功能型 微軟MSN翻譯機器人

翻譯機器人 由微軟所推出的MSN翻譯機器人,打入想翻譯的字詞或句子,機器人就會自動幫你翻譯出來,不過他翻譯的不是很好……

火炮機器人 功能型 火炮機器人

火炮機器人 提供各類股市訊息,個股排行、基金獲利排行、大陸、香港行情及台灣證期行情,大盤狀態等,滿足股迷需求

威秀寶寶機器人 功能型 威秀寶寶機器人

威秀寶寶機器人 威秀影城的威秀寶寶機器人,可以查詢新片、場次及優惠活動。除外還可透過即時活動公告通知、投票、線上問卷。

王者密探 宣傳型機器人 王者密探

王者密探 遊戲橘子旗下的線上遊戲《王者世界》的msn機器人「王者密探」,能查詢最新討論、人物、點數及最新訊息,讓所有玩家可以隨時隨地了解遊戲訊息。

挖ㄟ媽祖 宣傳型機器人 挖ㄟ媽祖

挖ㄟ媽祖 遊戲媽祖Online的「挖ㄟ媽祖」能找餐廳、查飯店、寫日記,還可即時與媽祖互動求籤、占卜、心理測驗、祈願樹、媽祖報頭路….等功能。

OPEN小將 聊天型機器人 OPEN小將

OPEN小將 可以透過此機器人查詢天氣、星座運勢、統一發票中獎號碼等,也可以與OPEN小將對話聊天。

機器人 功能與特色 類型 Open小將 聊天、7-11或統一企業優惠活動、對發票、氣象、星座、玩遊戲等 功能型 + 宣傳型 + 聊天型 阿達 股市、星座、字典、笑話等,以及縮網址、查公車路線及郵遞區號等功能 功能型 + 聊天型 威秀寶寶 電影查詢、新片通知等 功能型 微軟MSN翻譯機器人 多國語言翻譯 挖ㄟ媽祖 占卜求籤、心理測驗、地圖查詢、找餐廳飯店等 火炮 查詢大盤、個股訊息、解盤、新聞查詢、待辦事項、線上客服、聊天等 王者密探 遊戲資訊、遊戲寶物及點數、人物討論 功能型 + 宣傳型

機器人實作 使用 C# 與 msnp-sharp 函式庫

What’s msnp-sharp? 非官方的MSN通訊協定函式庫 使用語言:c# 支援功能 http://code.google.com/p/msnp-sharp/ 使用語言:c# 支援功能 Message:文字、離線、群組訊息etc. Address Book:與“好友”相關的功能 Roaming Profile:與MSN儲存伺服器溝通 Nameserver(NS) & Switchboard(SB):機器人!!!

Msnp-sharp的範例 DotMSN Windows Live Messenger 的替代品 從範例中學習

機器人製造流程 創造一個Messenger物件 取得溝通憑證 登入MSN messenger的服務 接收訊息 傳送訊息

Step1. 創造出一個Messenger Messenger messenger = new Messenger(); 使用msnp-sharp提供的介面與網路溝通 略過底層訊息傳輸、協定操作的實作 Messenger messenger = new Messenger();

Step2. 取得與MSN溝通的憑證 messenger.Credentials = new Credentials(account, password, MsnProtocol.MSNP18); messenger.Connect(); MSN 現行的通訊協定

Step3.登入MSN messenger的服務並上線 messenger.NameserverProcessor.ConnectionEstablished += new EventHandler <EventArgs> (NameserverProcessor_ConnectionEstablished); messenger.Nameserver.SignedIn += new EventHandler <EventArgs>(Nameserver_SignedIn); private void Nameserver_SignedIn(object sender, EventArgs e) { messenger.Owner.Status = PresenceStatus.Online; }

Step4. 接收訊息 private List<RobotConversation> _convs = new List<RobotConversation>(0); public List<RobotConversation> RobotConvlist{ get{ return _convs; } messenger.ConversationCreated += new EventHandler <ConversationCreatedEventArgs> (messenger_ConversationCreated); _convs.Add(new RobotConversation(e.Conversation, this));

RobotCoversation class RobotConversation{         private Conversation _conversation = null;         private RobotMain _robotmain = null;         public RobotConversation(Conversation conv, RobotMain robotmain)         {               _conversation = conv;             _conversation.Switchboard.TextMessageReceived += new EventHandler<TextMessageEventArgs>(Switchboard_TextMessageReceived);              _robotmain = robotmain;         } }

Step.5 回傳訊息 必須在RobotCoverstion內加入以下函式 e.Message.Text是送出去的訊息  private void Switchboard_TextMessageReceived(object sender, TextMessageEventArgs e)        { e.Message.Text = 機器人說的話;   _conversation.Switchboard.SendTextMessage(e.Message); }

自動加好友 messenger.Nameserver.ContactService.ReverseAdded += new EventHandler<ContactEventArgs>(Nameserver_ReverseAdded); void Nameserver_ReverseAdded(object sender, ContactEventArgs e) { Contact contact = e.Contact; if (messenger.Nameserver.Owner.NotifyPrivacy == NotifyPrivacy.PromptOnAdd) { Console.WriteLine("==>ReverseAdded contact mail2:" + e.Contact.Mail); if (contact.OnPendingList ||(contact.OnReverseList && !contact.OnAllowedList && !contact.OnBlockedList && !contact.OnPendingList)){ contact.OnAllowedList = true; messenger.Nameserver.ContactService.AddNewContact(contact.Mail); System.Threading.Thread.Sleep(200); }

訊息處理細節 正規表示式 public static IEnumerable matches(String pPattern, String pText, int pGroupId) { Regex r = new Regex(pPattern, RegexOptions.IgnoreCase | RegexOptions.Compiled); for (Match m = r.Match(pText); m.Success; m = m.NextMatch()) yield return m.Groups[pGroupId].Value; } // Switchboard_TextMessageReceived foreach (String s in matches(特定關鍵字, e.Message.Text, 0)) { e.Message.Text = 特定回應;

今天天氣好好──RSS RSS.NET RSS原始碼格式 <?xml version="1.0" encoding="ISO-8859-1" ?> <rss version="2.0"> <channel> <title> </title> <link> </link> <description> <item><title><link><description></description></link></title></item> </description> </channel> </rss>

今天天氣如何我知道 標籤判讀取得RSS內容 string url = RSS網址; RssFeed feed = RssFeed.Read(url); RssChannel channel = (RssChannel)feed.Channels[0]; string cutstr = channel.Items[0].Title.ToString(); //要讀的是哪個標籤的內容

I’m IM Robot 帳號:my_dearest_robot@hotmail.com 快加我好友! 你有什麼作業考試我都知道喔 我會占卜還會看天象,簡直跟孔明一樣強!!! 無聊時我會陪你玩遊戲 有問題可以問我喔,只是我有點沒耐心… 小心點,我跟你的老師們很熟喔XDD

未來 即時對話窗口 線上遊戲的機器人可以幫玩家練功 機器人可以向別的機器人撈資料 收費的機器人

Thnank you for your listening Bye~ The end