0

I am making a messaging system using firebase. It properly sends messages to firebase, however when I send messages, it keeps throwing the error:

Uncaught TypeError: sendToServer(...) is not a function
    at sendToP.js:21
    at EventRegistration.ts:109
    at Qe (util.ts:539)
    at EventQueue.ts:159
    at Pi (EventQueue.ts:127)
    at Ii (EventQueue.ts:107)
    at wo (Repo.ts:365)
    at ro.s.server_ [as onDataUpdate_] (Repo.ts:230)
    at ro.onDataPush_ (PersistentConnection.ts:661)
    at ro.onDataMessage_ (PersistentConnection.ts:654)

Here is the function that adds the message to the database

function cleanMessage(message){
  message = message.split(" ").map(x => badWords.indexOf(x) != -1? x = (x.split("").map(c => c = '*')).join(""): x = x).join(" ")
  return message
}

function sendToServer(obj) {
  autoId = firebase.database().ref('users').push().key
  firebase.database().ref('/general/' + autoId.toString()).set(obj)
}

$(".send").click(function() {
  firebase.database().ref('Users/' + firebase.auth().currentUser.uid).on('value', function(snapshot) {
    digits = snapshot.val().digits
    let message = cleanMessage($(".enter-message").val())

    let messageObject = {
      message: message,
      sender: digits
    }
    sendToServer(messageObject)
    $(".enter-message").val('') 
  });
})

Here is the function that gets the last message. Note: This is on a separate script

// Add message to the browser window

firebase.database().ref('general').orderByKey().limitToLast(1).on("value", function(snapshot){
  message = ""
  snapshot.forEach(function(elem){
    message = elem.val().message
  })
})

I greatly appreciate any help.

0 Answers0