国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
JML 簡(jiǎn)單的MSN 機(jī)器人

http://kenter1643.javaeye.com/blog/306649 的資料給了極大的幫助

 

1 JML 下載地址:http://sourceforge.net/projects/java-jml/

2 JML 相關(guān)地址:http://sourceforge.net/apps/trac/java-jml

3 代碼. 請(qǐng)注意 173,174,175行.為指定用戶發(fā)送消息.和之前代碼78行多了窗口關(guān)閉。

Java代碼
  1. package com.isw2.msn;   
  2.   
  3. import java.text.SimpleDateFormat;   
  4. import java.util.Date;   
  5. import net.sf.jml.MsnContact;   
  6. import net.sf.jml.MsnList;   
  7. import net.sf.jml.MsnMessenger;   
  8. import net.sf.jml.MsnProtocol;   
  9. import net.sf.jml.MsnSwitchboard;   
  10. import net.sf.jml.MsnUserStatus;   
  11. import net.sf.jml.event.MsnAdapter;   
  12. import net.sf.jml.impl.MsnContactImpl;   
  13. import net.sf.jml.impl.MsnMessengerFactory;   
  14. import net.sf.jml.message.MsnControlMessage;   
  15. import net.sf.jml.message.MsnDatacastMessage;   
  16. import net.sf.jml.message.MsnInstantMessage;   
  17. import net.sf.jml.message.MsnSystemMessage;   
  18. import net.sf.jml.message.MsnUnknownMessage;   
  19.   
  20. /**  
  21.  * @author isw2 zx  
  22.  */  
  23. public class Msntest extends MsnAdapter {   
  24.   
  25.     private MsnMessenger messenger = null;   
  26.     private String email = null, password = null;   
  27.   
  28.     /** Creates a new instance of Msntest */  
  29.     public Msntest() {   
  30.     }   
  31.   
  32.     public static void main(String args[]) throws ClassNotFoundException,   
  33.             InstantiationException, IllegalAccessException {   
  34.         Msntest msn = (Msntest) Class.forName("com.isw2.msn.Msntest")   
  35.                 .newInstance();// 創(chuàng)建類實(shí)例   
  36.         msn.setEmail("zhouxianglh@gmail.com");// 設(shè)置登錄用戶   
  37.         msn.setPassword("123456");// 設(shè)置密碼   
  38.         msn.start();   
  39.     }   
  40.   
  41.     // 打印信息   
  42.     private static void msg(Object obj) {   
  43.         SimpleDateFormat sdf = new SimpleDateFormat("MM-dd HH:mm");   
  44.         if (obj instanceof Throwable) {   
  45.             System.err.println("[" + sdf.format(new Date()) + "] " + obj);   
  46.         } else {   
  47.             System.out.println("[" + sdf.format(new Date()) + "] " + obj);   
  48.         }   
  49.     }   
  50.   
  51.     private void start() {   
  52.         messenger = MsnMessengerFactory.createMsnMessenger(email, password);// 創(chuàng)建MsnMessenger   
  53.         messenger   
  54.                 .setSupportedProtocol(new MsnProtocol[] { MsnProtocol.MSNP12 });// 設(shè)置登錄協(xié)議   
  55.         messenger.getOwner().setInitStatus(MsnUserStatus.ONLINE);// 設(shè)置用戶狀態(tài)   
  56.         messenger.addListener(this);// 注冊(cè)事件   
  57.         messenger.login();// 登錄   
  58.   
  59.     }   
  60.   
  61.     // 收到正常信息的時(shí)候發(fā)生   
  62.     @Override  
  63.     public void instantMessageReceived(MsnSwitchboard switchboard,   
  64.             MsnInstantMessage message, MsnContact contact) {   
  65.         System.out.println(switchboard.getClass());   
  66.         msg(contact.getDisplayName() + "對(duì)我說(shuō):" + message.getContent());   
  67.         // 如果聊天內(nèi)容為exit,退出   
  68.         if (message.getContent().trim().equalsIgnoreCase("exit")) {   
  69.             msg(contact.getDisplayName() + "對(duì)我發(fā)出退出指令。");   
  70.             messenger.logout();   
  71.             System.exit(0);   
  72.         }   
  73.         message.setDisplayName("isw2 msn");//信息發(fā)送者昵稱   
  74.         message.setContent("當(dāng)前時(shí)用戶" + contact.getEmail());// 設(shè)置要發(fā)送消息內(nèi)容   
  75.         message.setFontRGBColor((int) (Math.random() * 255 * 255 * 255));// 設(shè)置消息的文本顏色   
  76.         messenger.getOwner().setDisplayName("isw2 msn online");//聊天框標(biāo)題   
  77.         switchboard.sendMessage(message);// 發(fā)送信息   
  78.         switchboard.close();// 關(guān)閉對(duì)話框   
  79.     }   
  80.   
  81.     // 收到系統(tǒng)信息的時(shí)候發(fā)生,登錄時(shí)   
  82.     @Override  
  83.     public void systemMessageReceived(MsnMessenger messenger,   
  84.             MsnSystemMessage message) {   
  85.         // msg(messenger + " recv system message " + message);   
  86.     }   
  87.   
  88.     // 當(dāng)在聯(lián)系人聊天窗口獲得光標(biāo)并按下第一個(gè)鍵時(shí)發(fā)生   
  89.     @Override  
  90.     public void controlMessageReceived(MsnSwitchboard switchboard,   
  91.             MsnControlMessage message, MsnContact contact) {   
  92.         msg(contact.getFriendlyName() + "正在輸入文字。");   
  93.     }   
  94.   
  95.     // 異常時(shí)發(fā)生   
  96.     @Override  
  97.     public void exceptionCaught(MsnMessenger messenger, Throwable throwable) {   
  98.         msg(messenger + throwable.toString());   
  99.         msg(throwable);   
  100.     }   
  101.   
  102.     // 登錄完成時(shí)發(fā)生   
  103.     @Override  
  104.     public void loginCompleted(MsnMessenger messenger) {   
  105.         msg(messenger.getOwner().getDisplayName() + "登錄成功!");   
  106.     }   
  107.   
  108.     // 注銷時(shí)發(fā)生   
  109.     @Override  
  110.     public void logout(MsnMessenger messenger) {   
  111.         msg(messenger + " logout");   
  112.     }   
  113.   
  114.     // 收到系統(tǒng)廣播信息時(shí)發(fā)生   
  115.     @Override  
  116.     public void datacastMessageReceived(MsnSwitchboard switchboard,   
  117.             MsnDatacastMessage message, MsnContact friend) {   
  118.         msg(switchboard + " recv datacast message " + message);   
  119.         switchboard.sendMessage(message, false);   
  120.     }   
  121.   
  122.     // 收到目前不能處理的信息時(shí)發(fā)生   
  123.     @Override  
  124.     public void unknownMessageReceived(MsnSwitchboard switchboard,   
  125.             MsnUnknownMessage message, MsnContact friend) {   
  126.         // msg(switchboard + " recv unknown message " + message);   
  127.     }   
  128.   
  129.     @Override  
  130.     public void contactListInitCompleted(MsnMessenger messenger) {   
  131.         listContacts();   
  132.     }   
  133.   
  134.     /**  
  135.      * 更新好友列表完成時(shí)發(fā)生  
  136.      */  
  137.     @Override  
  138.     public void contactListSyncCompleted(MsnMessenger messenger) {   
  139.         listContacts();   
  140.     }   
  141.   
  142.     /**  
  143.      * 關(guān)閉一個(gè)聊天窗口時(shí)發(fā)生  
  144.      */  
  145.     @Override  
  146.     public void switchboardClosed(MsnSwitchboard switchboard) {   
  147.         msg("switchboardStarted " + switchboard);   
  148.     }   
  149.   
  150.     /**  
  151.      * 打開一個(gè)聊天窗口時(shí)發(fā)生  
  152.      */  
  153.     @Override  
  154.     public void switchboardStarted(MsnSwitchboard switchboard) {   
  155.         msg("switchboardStarted " + switchboard);   
  156.     }   
  157.   
  158.     // 打印聯(lián)系人   
  159.     private void listContacts() {   
  160.         MsnContact[] cons = messenger.getContactList().getContactsInList(   
  161.                 MsnList.AL);   
  162.         if (cons.length == 0) {   
  163.             msg("空");   
  164.         } else {   
  165.             msg("你現(xiàn)在有" + cons.length + "個(gè)聯(lián)系人");   
  166.         }   
  167.         for (int i = 0; i < cons.length; i++) {   
  168.             String personal = ((MsnContactImpl) cons[i]).getPersonalMessage()   
  169.                     .equals("") ? "空" : ((MsnContactImpl) cons[i])   
  170.                     .getPersonalMessage();   
  171.             msg(cons[i].getDisplayName() + " " + cons[i].getEmail() + " "  
  172.                     + cons[i].getStatus() + " " + personal);   
  173.             if (cons[i].getStatus().equals(MsnUserStatus.ONLINE)) {//給在線好友發(fā)送消息   
  174.                 messenger.getOwner().setDisplayName("isw2 msn");   
  175.                 messenger.sendText(cons[i].getEmail(), "你好,isw2 msn上線了");   
  176.             }   
  177.         }   
  178.     }   
  179.   
  180.     public String getEmail() {   
  181.         return email;   
  182.     }   
  183.   
  184.     public void setEmail(String email) {   
  185.         this.email = email;   
  186.     }   
  187.   
  188.     public String getPassword() {   
  189.         return password;   
  190.     }   
  191.   
  192.     public void setPassword(String password) {   
  193.         this.password = password;   
  194.     }   
  195. }  

  testMSN\lib  下面除了 Jar 包,還有源代碼,里面有API 說(shuō)明.

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
xp自帶的msn卸載
下載&截圖:MSN 8.0.0683
分享五個(gè)可以讀取儲(chǔ)存在系統(tǒng)中密碼的軟件
免費(fèi)網(wǎng)絡(luò)優(yōu)盤與Office完美結(jié)合
MSN Winks研究
WebLeOn‘s Blog: MSN開發(fā)工具及API大開放
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服