@usertrue я уже решил проблему
Как из node.js вызвать функцию BAS
-
у меня есть код ```
const TelegramBot = require('node-telegram-bot-api');
const fs = require('fs');
const path = require('path');await BAS_API("_HEX:5641525f46494c455f434f4e54454e545f434f4f4b4945203d206e6174697665282266696c6573797374656d222c20227265616466696c65222c204a534f4e2e737472696e67696679287b76616c75653a2022433a5c753030356355736572735c75303035636b726f6d736b6969325c75303035634465736b746f705c75303035635a6c65655a6c615c7530303563434f4f4b49452e747874222c6261736536343a66616c73652c66726f6d3a302c746f3a307d29290a3b0a5641525f53415645445f434f4f4b494553203d205f636f6f6b696573546f6f6c732e696d706f7274436f6f6b696573285641525f46494c455f434f4e54454e545f434f4f4b49452c20276a736f6e45544327290a3b0a56414c5545203d205641525f53415645445f434f4f4b4945530a434f4f4b494553203d2022220a69662856414c55452e6c656e677468203e2030290a7b0a434f4f4b494553203d204a534f4e2e70617273652856414c5545295b22636f6f6b696573225d0a696628747970656f6628434f4f4b49455329203d3d2022756e646566696e656422290a434f4f4b494553203d2022220a656c73650a434f4f4b494553203d204a534f4e2e737472696e6769667928434f4f4b494553290a7d0a726573746f72655f636f6f6b69657328434f4f4b4945532921");
// Указываем токен, который вы получили от @BotFather
const token = '7303253027:AAH6oC4uCcNpGy2tSEkUBZJgudTORTnb1Wk';// Создаем экземпляр бота
const bot = new TelegramBot(token, { polling: true });// Обработчик команды /start
bot.onText(//start/, (msg) => {
const chatId = msg.chat.id;// Отправляем стикер и приветственное сообщение bot.sendSticker(chatId, 'CAACAgIAAxkBAAICjGadERPHB1ReS8mb641yc_IAAeWfoQACtD8AAoldsUoT8zATvLBgmzUE') .then(() => { bot.sendMessage(chatId, 'Привет! Я AI-кошка, готовая помочь тебе! Напиши /help, чтобы увидеть список доступных команд.'); }) .catch((error) => { console.error('Error sending sticker:', error); });});
// Обработчик команды /help
bot.onText(//help/, (msg) => {
const chatId = msg.chat.id;// Отправляем стикер и список команд bot.sendSticker(chatId, 'CAACAgEAAxkBAAICkGadEwnFK0tTN4MLq_lBoo9G4putAAK0AgAC_4upRo-32GUCL8LeNQQ') .then(() => { bot.sendMessage(chatId, `Вот список команд, которые я могу выполнить:/start - начать взаимодействие со мной
/help - показать список команд
/info - узнать информацию обо мне
/ask - Чтобы задать вопрос. Например: /ask следующем сообщением вопрос.
/joke - Команда для получения шутки от AI-кошки.
/bye - Команда для завершения взаимодействия с AI-кошкой.`);
})
.catch((error) => {
console.error('Error sending sticker:', error);
});
});// Обработчик команды /info
bot.onText(//info/, (msg) => {
const chatId = msg.chat.id;// Отправляем стикер и информационное сообщение bot.sendSticker(chatId, 'CAACAgIAAxkBAAEMhoxmnkBxJzR46iVh25PRShq0MKn2xwACZEMAAhlCCUis1O6eNVnKkTUE') .then(() => { bot.sendMessage(chatId, `Я AI-кошка, созданная для ответов на твои вопросы! Если у тебя возникли вопросы или нужна помощь, напиши и я постараюсь помочь.Этого бота разработал Kromskii2, вдохновленный идеей создания умной AI-кошки для тоскующей по ней подруге в Telegram.`);
})
.catch((error) => {
console.error('Error sending sticker:', error);
});
});// Обработчик команды /ask
bot.onText(//ask (.+)/, async (msg, match) => {
const chatId = msg.chat.id;
const question = match[1]; // Сохраняем текст вопроса после /ask// Здесь можно делать что-то с вопросом, например, отправлять его обратно bot.sendMessage(chatId, `Вы задали вопрос: ${question}`); // Путь к файлу для сохранения вопроса const filePath = 'C:/Users/kromskii2/Desktop/ZleeZla/data/mousetext.txt'; // Запись в файл fs.writeFile(filePath, question, (err) => { if (err) { console.error('Ошибка при записи в файл:', err); return; } console.log('Данные успешно записаны в файл:', filePath); });});
// Обработчик команды /ask
bot.onText(//ask (.+)/, async (msg, match) => {
const chatId = msg.chat.id;
const question = match[1]; // Сохраняем текст вопроса после /ask// Здесь можно делать что-то с вопросом, например, отправлять его обратно bot.sendMessage(chatId, `Вы задали вопрос: ${question}`); // Путь к файлу для сохранения вопроса const filePath = 'C:/Users/kromskii2/Desktop/ZleeZla/data/mousetext.txt'; // Запись в файл fs.writeFile(filePath, question, (err) => { if (err) { console.error('Ошибка при записи в файл:', err); return; } console.log('Данные успешно записаны в файл:', filePath); });});
как сделать так что бы в конце функции /ask вызывалась функция bas а ещё как можно из node.js сохранить переменную в bas -
@Kromskii2 said in Как из node.js вызвать функцию BAS:
как можно из node.js сохранить переменную в bas

-
@Kromskii2 said in Как из node.js вызвать функцию BAS:
как сделать так что бы в конце функции /ask вызывалась функция bas
Насколько я знаю - никак. Только если костылем, каким ни будь, присваивать значение переменной БАСа, и смотреть отдельной асинхронной функцией изменение этой переменной и уже вызывать функцию.
-
@Ajshma said in Как из node.js вызвать функцию BAS:
@UserTrue да, асинхронность, все дела. Это понятно. Я так понимаю вопрос был - можно ли запустить из nodejs функцию, созданную пользователем? Если можно - тогда как?
Как бы только так я написал выше. Либо городить гостыли и например в глобальную переменную ноды или БД или еще куда-то записывать данные, какие-то флаги и тп. А в БАС поставить поставить цикл который будет через например 1 сек проверять эти данные и если нужно вызывать функции БАС. Хотя гораздо удобней писать весь код в nodejs и из нее вызывать функции БАС. Для этого есть соответствующие библиотеки
-
@Ajshma said in Как из node.js вызвать функцию BAS:
@UserTrue не, ты видимо не понял. Одно дело функции БАСа (api), другое дело функции созданные пользователем в БАСе. Я не знаю как их (пользовательские) вызвать. Пример можно?
Нет, я правильно понял и про пользовательский функции и писал. Примеры мне делать лень xD
-
@Ajshma said in Как из node.js вызвать функцию BAS:
@UserTrue не, ты видимо не понял. Одно дело функции БАСа (api), другое дело функции созданные пользователем в БАСе. Я не знаю как их (пользовательские) вызвать. Пример можно?


