Регистрация Аутентификация и Авторизация tg web app

делал веб сайт к нему есть сервер. Встроил это все в бота telegram. При нажатии на кнопку открывает сайт. Проблема: надо показать каждому пользователю свои данные из БД. Не знаю как это реализовать, пытался по chatId передать каждому свое значение но у всех на фронте показывает данные только одного пользователя. Код возможно страшный не обращайте внимание я новичок. Задача: Вывести уникальному пользователю его данные из бд

Данные для подключения убрал так как Бд на облачном и с других IP не даст подключиться все равно

Backend:

const express = require('express')
const TelegramApi = require('node-telegram-bot-api')
const mysql = require('mysql2')
const PORT = process.env.PORT || 3002
const {useState, useEffect} = require('react')
const bodyParser =require('body-parser')
const cors = require('cors')

const app = express()
app.use(bodyParser())
app.listen(PORT, () =>{
    console.log(`Сервер запущен на ${PORT} порту`)
})
const WebApps = "https://backend-drc.ru"
const token = ""
const connection = mysql.createConnection({
  host: "",
  user: "",
  database: "",
  password: ""
})
connection.connect(function(err){
  if(err) {
      return console.error(`Ошибка подключения! Код: `+ err)
  }else{
      console.log(`Покдлючение к БД успешно установлено!`)
  }
})
const bot = new TelegramApi(token, {polling: true})
  bot.on('message', async msg =>{
  const text = msg.text;
  const uggs = msg.chat.username;
  const chatids = msg.chat.id;
  let Users = Boolean
  let UserActive = null
  if(text === '/start'){
    await connection.execute("SELECT * FROM `users` WHERE `users`.`chatids` = "+chatids, (err, results) =>{
      if(err){
        console.log(err)
        return;
      }
      if(results.length <= 0){
        console.log(results)
        Users = false
      }
      else{
        Users = true
        UserActive = results[0].chatids
        console.log(results)
      }
      console.log(UserActive)
    })
    await bot.sendPhoto(chatids, "Logo.png")
    await bot.sendMessage(chatids,"Dragon Village is build",{
      reply_markup: {
        inline_keyboard:[
          [{text:'Go to Dragon village', web_app:{url: WebApps}}]
        ]
      }
    })
  }
app.get('/back', (req, res) => {
      connection.execute("SELECT `Dragons` FROM `users` WHERE `users`.`chatids` ="+chatids, (err, results) => {
        if (err) {
          console.log(err)
          return;
        }
        res.json({
          dragons: results[0].Dragons
        });
        console.log(results)
      });
    });
    app.get('/back5',(req, res) =>{
      connection.execute("SELECT `DRGcoin` FROM `users` WHERE `users`.`chatids` ="+chatids, (err, results) => {
          if (err) {
            console.log(err)
            return;
          }
            res.json({
            drg: results[0].DRGcoin
          });
        });
    })
    app.get('/back6',(req, res) =>{
      connection.execute("SELECT `DRCcoin` FROM `users` WHERE `users`.`chatids` ="+chatids, (err, results) => {
          if (err) {
            console.log(err)
            return;
          }
            res.json({
            drc: results[0].DRCcoin
          })
          //console.log()
        });
    })
    app.post('/chatback', (req, res) => {
    let data = [req.body.Hunters]
    const zapros = "UPDATE `users` SET `Dragons`=? WHERE `users`.`usnames` =?"
    const params = [data, uggs]
    // const fff = itog
    connection.execute(zapros,params,(err, results) =>{
      !err ? res.json(results) : res.json(err)
    })
    console.log(JSON.stringify(data))
    })
      /*const ins = "INSERT INTO `users` (`idteleg`,`chatids`, `usnames`, `Dragons`, `Hunters`, `Defends`, `DRCcoin`, `DRGcoin`) VALUES (NULL,?,?,10,0,0,10,100)"
      const into = [chatids, uggs]
      await connection.execute(ins, into,(err, results) =>{
      })
      console.log('Пользователь создан!')*/
  app.get('/back1',(req, res) =>{
    connection.execute("SELECT `totBank` FROM `stage`",(err, results) => {
        if (err) {
          console.log(err)
          return;
        }
          res.json({
          banks: results[0].totBank
        });
      });
  })
  app.get('/back2',(req, res) =>{
    connection.execute("SELECT `Seasons` FROM `stage`", (err, results) => {
        if (err) {
            console.log(err)
            return;
        }
            res.json({
              seasons: results
      });
   });
  })
  app.get('/back3',(req, res) =>{
    connection.execute("SELECT `toStage` FROM `stage`", (err, results) => {
      if (err) {
          console.log(err)
          return;
        }
          res.json({
          stages: results[0].toStage
      });
    });
  })
  app.get('/back4',(req, res) =>{
    connection.execute("SELECT `tOnline` FROM `stage`", (err, results) => {
        if (err) {
          console.log(err)
          return;
        }
          res.json({
          online: results[0].tOnline
        });
      });
  })
  function ValidUser() {
    const sasa = "SELECT * FROM `users` WHERE `users`.`usnames` = ?"
    const ssss = [uggs]
    connection.execute(sasa,ssss, (err, results) =>{
      if(err){
        console.log(err)
        return;
      }
      const param = results[0].chatids
      console.log(results)
      return param
    })
  }
})

app.use(cors())

Поля season stage и totbank online общие, а dragons DRCcoin DRGcoin индивидуальные

Взял из бд нужный chatId и делал проверку на сравнение тоже не работает. Frontend https://github.com/O4ko-Samp/StackOwer.git Буду ооочень рад намекам и помощи. PS: регистрации нет, при нажатии кнопки в боте надо сразу отображать его данные скрин Надо в полях Dragons, DRGcoin, DRCcoin каждый пользователь видел свои значения из БД. А у меня получается что один активизировал бота и все его значение показывается всем.


Ответы (0 шт):