Skip to main content

GoogleTalk Chatting through JAVA


The following code helps you to do chat by running a java program. We can maintain groups, and can send messages for all the members in the group. There are 3 classes:


1.SendChatMsg.java
2.Globals.java
3.ConfigMessage.java

SendChatMsg.java is the major classes which do the process of sending chat message. You can configure your gmail userName and password here.

Code :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package com.rakesh.chat;

import java.util.List;

import org.jivesoftware.smack.ConnectionConfiguration;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.packet.Message;

/**
 * @author Rakesh KR
 * @since  July 2k14
 */
public class SendChatMsg {

 private static String username = "2krrakesh2@gmail.com";
 private static String password = "***************";
 ConnectionConfiguration connConfig;
 XMPPConnection connection;

 public SendChatMsg() {
  createConnection();
 }

 private void createConnection() {
  try {
   connConfig = new ConnectionConfiguration("talk.google.com", 5222, "gmail.com");
   connection = new XMPPConnection(connConfig);
   connection.connect();
   connection.login(username, password);
  } catch (XMPPException e) {
   e.printStackTrace();
  }
 }

 private void sendMessage(String to, String message) {
  
  Message msg = new Message(to, Message.Type.chat);
  msg.setBody(message);
  connection.sendPacket(msg);
  System.out.println("Sending Msg to : "+to);
  
 }

 private void disconnect() {
  connection.disconnect();
 }

 public void main(List<String> sendMailAddress, String msg){
  
  SendChatMsg gtalkChat = new SendChatMsg();

  for (String mailAddress : sendMailAddress) {
   gtalkChat.sendMessage(mailAddress, msg);
  }
  
  gtalkChat.disconnect();
  
 }

}

Globals.java , here you can configure the group details with groupName as the key of the map.
Code :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
package com.rakesh.chat;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author Rakesh KR
 * @since  July 2k14
 */
public class Globals {
 
 public static Map<String, List<String>> groupMap = groupMap();
 
 public static List<String> memberList = null;
 
 
 private static  Map<String, List<String>> groupMap(){
  
  groupMap = new HashMap<String, List<String>>();
  groupMap.put("Food",foodMemberList());
  groupMap.put("MrngZ",mrngzMemberList());
  groupMap.put("Test",testList());
  return groupMap;
  
 }
 
 private static List<String> foodMemberList(){
  
  memberList = new ArrayList<String>();
  
  memberList.add("speethambaran8@gmail.com");
  memberList.add("ajith.narayanan99@gmail.com");
  memberList.add("remeezkr@gmail.com");
  memberList.add("subin167@gmail.com");
  memberList.add("postforhari@gmail.com");
  memberList.add("binoyarun@gmail.com");
  memberList.add("riyass.ayath@gmail.com");
  
  return memberList;
  
 }
 
 private static List<String> mrngzMemberList(){
  
  memberList = new ArrayList<String>();
  
  memberList.add("speethambaran8@gmail.com");
  memberList.add("ajith.narayanan99@gmail.com");
  memberList.add("remeezkr@gmail.com");
  memberList.add("subin167@gmail.com");
  memberList.add("postforhari@gmail.com");
  memberList.add("binoyarun@gmail.com");
  memberList.add("riyass.ayath@gmail.com");
  
  return memberList;
  
 }
 
 private static List<String> testList(){
  
  memberList = new ArrayList<String>();
  
  memberList.add("binoyarun@gmail.com");
  memberList.add("yourrahulkr@gmail.com");
  memberList.add("adarshj001@gmail.com");
  
  
  return memberList;
  
 }

}

ConfigMessage.java is the class you want to run, here you can mention to which group you want to send message. Run this class and enjoy chatting.

Code :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package com.rakesh.chat;

import java.util.List;
import java.util.Map.Entry;

/**
 * @author Rakesh KR
 * @since  July 2k14
 */
public class ConfigMessage {
 
 public static void main(String[] args) {
  
  SendChatMsg chatMsg = new SendChatMsg();
  
  for(Entry <String, List<String>> entry : Globals.groupMap.entrySet()){
   
   if(entry.getKey().equals("Food")){
    chatMsg.main(entry.getValue(), "Hi, Time For Lunch . :) ");
   }
   
  }
 
 }
 
}

Note: Needed jar's

kxml2-2.2.3.jar
smack.jar
smackx.jar
xmlpull-xpp3-1.1.4c.jar

Comments

Post a Comment

Popular posts from this blog

System.out.println In Java

System  is a class in the  java .lang package.  out  is a static member of the  System  class, and is an instance of  java .io.PrintStream .  println  is a method of  java .io.PrintStream . This method is overloaded to print message to output destination, which is typically a console or file. System is a class, that has a public static field out . So it's more like. public final class System { /** * The "standard" output stream. This stream is already * open and ready to accept output data. Typically this stream * corresponds to display output or another output destination * specified by the host environment or user. * <p> * For simple stand-alone Java applications, a typical way to write * a line of output data is: * <blockquote><pre> * System.out.println(data) * </pre></blockquote> * <p> * See the <code>println...

JSON (JavaScript Object Notation)

JSON (JavaScript Object Notation) is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays (or other serializable values). It is a common data format with diverse uses in electronic data interchange, including that of web applications with servers. JSON is a language-independent data format. It was derived from JavaScript, but many modern programming languages include code to generate and parse JSON-format data. JSON filenames use the extension .json. Any valid JSON file is a valid JavaScript (.js) file, even though it makes no changes to a web page on its own. Douglas Crockford originally specified the JSON format in the early 2000s. He and Chip Morningstar sent the first JSON message in April 2001. Official website :- https://json.org/

Amazon DynamoDB : Fully managed proprietary NoSQL database service

 Amazon DynamoDB is a fully managed proprietary NoSQL database service that supports key–value and document data structures and is offered by Amazon.com as part of the Amazon Web Services portfolio. Dynamo had a multi-leader design requiring the client to resolve version conflicts and DynamoDB uses synchronous replication across multiple data centers for high durability and availability.  DynamoDB was announced by Amazon CTO Werner Vogels on January 18, 2012, and is presented as an evolution of Amazon SimpleDB. DynamoDB differs from other Amazon services by allowing developers to purchase a service based on throughput, rather than storage. If Auto Scaling is enabled, then the database will scale automatically. To prevent data loss, DynamoDB features a two-tier backup system of replication and long-term storage. Each partition features three nodes, each of which contains a copy of that partition's data. Each node also contains two data structures: a B tree used to locate items,...