Показать сообщение отдельно
  #6 (permalink)  
Старый 30.01.2023, 15:00
Интересующийся
Отправить личное сообщение для tarabukinivan Посмотреть профиль Найти все сообщения от tarabukinivan
 
Регистрация: 17.08.2017
Сообщений: 19

Пусть код будет так:
Код:
const mysql = require("mysql2");
require('dotenv').config()
const TelegramApi = require('node-telegram-bot-api')
const bot = new TelegramApi(process.env.BOT_TOKEN, {polling: true})
var mysqlConfig = require('./my_sql_connect.js');
const cron = require("node-cron");
const shellexe = require('./requests/func.js')
const propotkl=5;
bot.setMyCommands([
  {command: '/add', description: 'Add node: /add xxx.xxx.xxx.xxx:9000'},
  {command: '/delete', description: 'Delete node: /delete xxx.xxx.xxx.xxx:9000'}, 
  {command: '/notif', description: 'show logs'},
  {command: '/notifoff', description: 'hide logs'},  
  {command: '/my', description: 'your nodes'}
])

 const start = () => {
    bot.on('message', async msg => {
      const text = msg.text;     
      
      //console.log(msg)
      if(text === '/start'){
        return bot.sendMessage(msg.from.id, `Welcome!`)
      }

      if(text === '/my'){
        console.log("нажат my")   
        bot.sendMessage(msg.from.id,`Ваши ip: skljfkdsl`)     
        return
      }
      return bot.sendMessage(msg.from.id, `Unknown command`)      
    })
  }
  start()
  
  //var pool=mysql.createPool(mysqlConfig);
  cron.schedule('* */1 * * * *', async () => { 

    const p = new Promise(function(resolve, reject){
      let main =[]
      for(var i = 0; i < 7;i++){
        main.push(shellexe(`curl --max-time 3 --location --silent --request POST https://fullnode.testnet.sui.io:443 --header 'Content-Type: application/json' --data-raw '{ "jsonrpc":"2.0", "method":"sui_getTotalTransactionNumber","id":1}' 2>&1`))
      }
      resolve(main)     
    })
    p.then(data =>{
      console.log(data)
    })
    
  })
Мне нужно как-то for обернуть в промис, чтобы /my отвечал моментально. В таком виде при вызове /my в start ответ приходит не сразу. Отвечат только когда for завершится.
Ответить с цитированием