diff --git a/android/.idea/misc.xml b/android/.idea/misc.xml
index 37a750962da6f2b31810e85c8acae1081de7f58c..9fdea7e63e11bad24497deecd92148f3a7d21718 100644
--- a/android/.idea/misc.xml
+++ b/android/.idea/misc.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8 (1)" project-jdk-type="JavaSDK">
     <output url="file://$PROJECT_DIR$/build/classes" />
   </component>
   <component name="ProjectType">
diff --git a/android/app/src/main/java/com/chatman/activity/ChatRoomActivity.java b/android/app/src/main/java/com/chatman/activity/ChatRoomActivity.java
index 08d8d83459531991de7051ebba187427c980de7c..eef29a1d95ea5ba991975b06e6ec1bc863a06117 100644
--- a/android/app/src/main/java/com/chatman/activity/ChatRoomActivity.java
+++ b/android/app/src/main/java/com/chatman/activity/ChatRoomActivity.java
@@ -87,7 +87,7 @@ public class ChatRoomActivity extends AppCompatActivity {
         chatRv.setLayoutManager(linearLayoutManager);
         adapter = new ChatAdapter(chatList);
         chatRv.setAdapter(adapter);
-
+        chatRv.scrollToPosition(chatList.size() - 1);
         initializeListener();
     }
 
@@ -138,6 +138,7 @@ public class ChatRoomActivity extends AppCompatActivity {
                     public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                         chatList.add(dataSnapshot.getValue(Chat.class));
                         adapter.notifyDataSetChanged();
+                        chatRv.scrollToPosition(chatList.size() - 1);
                     }
 
                     @Override
diff --git a/android/app/src/main/java/com/chatman/fragment/BotFragment.java b/android/app/src/main/java/com/chatman/fragment/BotFragment.java
index 6c1ce4fcf5eb897576ffadac46b32bb26cd55945..3511b4b4865ef78a2cb67323245179f5405f8ad8 100644
--- a/android/app/src/main/java/com/chatman/fragment/BotFragment.java
+++ b/android/app/src/main/java/com/chatman/fragment/BotFragment.java
@@ -47,7 +47,7 @@ public class BotFragment extends Fragment {
     private RecyclerView recycler;
     private ChatAdapter adapter;
     private List<Chat> chatList;
-    private static final String BOT_KEY = "BOT_KEY";
+    private static final String BOT_TOKEN = "BOT_TOKEN";
 
     public BotFragment() {
         // Required empty public constructor
@@ -79,12 +79,12 @@ public class BotFragment extends Fragment {
             public void onClick(View view) {
                 if (!message.getText().toString().equals("")){
                     Toast.makeText(context, "Send: "+message.getText().toString(), Toast.LENGTH_SHORT).show();
-                    Chat sendMessage = new Chat(PreferencesHelper.getToken(context), PreferencesHelper.getUserName(context), BOT_KEY, Calendar.getInstance().getTime(), message.getText().toString());
+                    Chat sendMessage = new Chat(PreferencesHelper.getToken(context), PreferencesHelper.getUserName(context), BOT_TOKEN, Calendar.getInstance().getTime(), message.getText().toString());
                     String key = FirebaseHelper.dbMessage.push().getKey();
                     FirebaseHelper.dbMessage.child(key).setValue(sendMessage);
                     message.setText("");
                     // BALASAN DARI BOT
-                    Chat botMessage = new Chat(BOT_KEY, "ChatMan Bot", PreferencesHelper.getUserFirebaseKey(context), Calendar.getInstance().getTime(), "Halo! Selamat datang di ChatMan");
+                    Chat botMessage = new Chat(BOT_TOKEN, "ChatMan Bot", PreferencesHelper.getToken(context), Calendar.getInstance().getTime(), "Halo! Selamat datang di ChatMan");
                     String botKey = FirebaseHelper.dbMessage.push().getKey();
                     FirebaseHelper.dbMessage.child(botKey).setValue(botMessage);
 
@@ -113,6 +113,7 @@ public class BotFragment extends Fragment {
             public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                 getAllChat(dataSnapshot);
                 adapter.notifyDataSetChanged();
+                recycler.scrollToPosition(chatList.size() - 1);
             }
 
             @Override
@@ -125,7 +126,7 @@ public class BotFragment extends Fragment {
     private void getAllChat(DataSnapshot dataSnapshot) {
         chatList = new ArrayList<>();
         for (DataSnapshot ds : dataSnapshot.getChildren()) {
-            if (ds.getValue(Chat.class).getIdSender().equals(PreferencesHelper.getUserFirebaseKey(context)) || ds.getValue(Chat.class).getIdReceiver().equals(PreferencesHelper.getUserFirebaseKey(context))) {
+            if ( (ds.getValue(Chat.class).getIdSender().equals(PreferencesHelper.getToken(context)) && ds.getValue(Chat.class).getIdReceiver().equals(BOT_TOKEN)) || (ds.getValue(Chat.class).getIdReceiver().equals(PreferencesHelper.getToken(context)) && ds.getValue(Chat.class).getIdSender().equals(BOT_TOKEN))) {
                 chatList.add(ds.getValue(Chat.class));
             }
         }