функции в node.js



  • Помогите решить проблему

    function telegram(text){
        var PageContent =  BAS_FUNCTION(
    	"api_telegram", 
    	{URL: 'https://api.telegram.org/bot' + [[TOKEN]] + '/sendMessage?chat_id=' + [[IDCHAT]] + '&text='+text}
    )
    }
    
    telegram('ааааа')
    telegram('ббббб')
    

    Пробовал реализовать через axios, не вышло. Пришлось делать через функции bas, но и тут проблема, после отправки 'ааааа' выдаёт ошибку Task id not found



  • @MP said in функции в node.js:

    Помогите решить проблему

    function telegram(text){
        var PageContent =  BAS_FUNCTION(
    	"api_telegram", 
    	{URL: 'https://api.telegram.org/bot' + [[TOKEN]] + '/sendMessage?chat_id=' + [[IDCHAT]] + '&text='+text}
    )
    }
    
    telegram('ааааа')
    telegram('ббббб')
    

    Пробовал реализовать через axios, не вышло. Пришлось делать через функции bas, но и тут проблема, после отправки 'ааааа' выдаёт ошибку Task id not found

    async function telegram(text){
        var PageContent =  BAS_FUNCTION(
    	"api_telegram", 
    	{URL: 'https://api.telegram.org/bot' + [[TOKEN]] + '/sendMessage?chat_id=' + [[IDCHAT]] + '&text='+text}
    )
    }
    
    await telegram('ааааа')
    await telegram('ббббб')
    


  • This post is deleted!


  • @Fox рано обрадовался, выдаёт туже самую ошибку



  • @MP said in функции в node.js:

    @Fox рано обрадовался, выдаёт туже самую ошибку

    Используйте режим "запуска"

    92aa4e3a-bdb3-4fbe-8652-690cfb820bec-изображение.png

    2218.xml


    В режиме "записи" это работать не будет



  • @MP В вашем случае проще всего использовать готовые модули для телеграма в node js, чем использовать вызов функции BAS



  • @Fox
    298e8c62-9e29-4808-baed-9d4ea2659358-image.png
    Теперь он успевает отправить два сообщение прежде, чем выдаст ошибку



  • @Fox успел за сегодня проклясть все эти модули)



  • @Fox
    Ваш код работает, если в функции есть только действие "лог", если добавить что-то сверху, та же ошибка
    2218.xml



  • @MP said in функции в node.js:

    @Fox успел за сегодня проклясть все эти модули)

    Для отправки http-запросов в node js проще использовать fetch

    @MP said in функции в node.js:

    @Fox
    Ваш код работает, если в функции есть только действие "лог", если добавить что-то сверху, та же ошибка
    2218.xml

    async function telegram(text){
        var PageContent = await BAS_FUNCTION(
    	"api_telegram", 
    	{URL: 'https://api.telegram.org/bot' + [[TOKEN]] + '/sendMessage?chat_id=' + [[IDCHAT]] + '&text='+text}
    )
    }
    
    await telegram('ааааа')
    await telegram('ббббб')
    await telegram('ббббб')
    await telegram('ббббб')
    await telegram('ббббб')
    

    2220.xml



  • @Fox Спасибо, заработало через функцию. Можете подсказать как реализовать через fetch? Я скачал модуль пробую этот код:

    let url = 'https://api.github.com/repos/javascript-tutorial/en.javascript.info/commits';
    let response = await fetch(url);
    
    let commits = await response.json(); 
    
    alert(commits[0].author.login);
    

    Но бас выдаёт ошибку ReferenceError: fetch is not defined



  • @MP без наезда, но лучше сначала изучить js и основы nodejs, а потом писать код. Так например alert существует только в браузерном окружение. А fetch это библиотека, которую надо подключить в bas и в самом коде



  • @UserTrue "изучить js и nodejs" это хороший совет, но мне нужно решить конкретную задачу сейчас, а не когда-то там)
    А если подскажете как подключить fetch в коде, будет прям замечательно)



  • @MP said in функции в node.js:

    @UserTrue "изучить js и nodejs" это хороший совет, но мне нужно решить конкретную задачу сейчас, а не когда-то там)
    А если подскажете как подключить fetch в коде, будет прям замечательно)

    мне лень ПК включать ) А зачем вообще использовать nodejs, почему просто не использовать http клиент бас, если у вас просто http запросы?



  • @UserTrue я перевожу всю логику скрипка в node, и в этом скрипте при некоторых обстоятельствах есть отправка сообщений в telegram, через клиент бас тут уже не сделаешь. Был вариант просто скопировать действие "Get запрос" с баса и вставить в формате

    await BAS_API("_HEX:...")
    

    Но любые русские символы при такой отправке превращаются в кашу по типу юзертру красава
    Так что либо через функции, то что у меня уже есть, либо через модули в node



  • @MP said in функции в node.js:

    @UserTrue я перевожу всю логику скрипка в node, и в этом скрипте при некоторых обстоятельствах есть отправка сообщений в telegram, через клиент бас тут уже не сделаешь. Был вариант просто скопировать действие "Get запрос" с баса и вставить в формате

    await BAS_API("_HEX:...")
    

    Но любые русские символы при такой отправке превращаются в кашу по типу юзертру красава
    Так что либо через функции, то что у меня уже есть, либо через модули в node

    А вы пробовали использовать поиск?

    https://community.bablosoft.com/topic/16755/await-fetch-работает-в-консоли-но-не-в-bas/2

    https://community.bablosoft.com/topic/18422/помогите-с-node/3


Log in to reply