Author

Topic: AI-автоматизация простых задач. (Read 34 times)

legendary
Activity: 1876
Merit: 4532
Давно бьюсь с гугл таблицей, добавил нужные апи и получается текст в графе  {"bitcoin":{"usd":62044}}
Как вырезать REGEXEXTRACT или другим способом 62044 в другую строку.  Я вставляю варианты ии, и постоянно появляются ошибки.
можете дать рабочий код, который нужно вставить в строку?
legendary
Activity: 2249
Merit: 1130
Altcoinlog
Не знаю, правильно ли я выбрал ветку для этого поста, если нет, то заранее прошу прощения у модераторов за причиненные мной хлопоты. Далее речь пойдёт о кодинге, но ветка "КОДЕРЫ" тут точно не подходит по тому как этот код будет писать ИИ. Возможно, этот пост можно перенести в ветку "ИДЕИ".

Многие из нас начинают своё утро с чтения тех новостей, которые случились пока мы спали. У каждого из нас свои предпочтения на этот счёт, но всех криптанов интересует, "А чё там с криптой?". Все мы подписаны на различные тематические новостные каналы и почти все эти каналы публикуют первую десятку рейтинга, но на момент прочтения это цены по состоянию на на 24:00 вчерашнего дня, а Китайцы с Японцами уже либо всё купили либо всё слили...

Я для себя решил эту маленькую проблему средствами автоматизации, бесплатно и для этого мне потребовалось примерно полчаса времени. Теперь каждое утро у меня в телеграме  будут свежие цены по тем метрикам, которые мне интересны.

Длюсь своей идеей и полученным опытом.
Сообщение, отправляемое мне в 9 часов утра каждый день имеет следующий вид:

Quote
Tiker    Price     Volume +-       24h           7d

BTC:    63343      56.03 %      2.28 %     -1.93 %
ETH:    2484        44.97 %      2.75 %     -5.92 %
POL:    0.386       7.90 %        2.01 %     -6.73 %

Отправляет мне это сообщение код, написанный на Google Apps Script. Такой трюк доступен совершенно бесплатно всем зарегистрированным пользователям гугла. А  написал мне этот скрипт мой ИИ-ассистент. Я специально для примера взял не очень объёмный список что бы не загромождать форум. Сделайте себе тот список, который интересует вас.

Нам понадобятся:
1. API-ключ для CoinMarketCap - для чего требуется зарегистрироваться и взять его на страничке своего аккаунта. Бесплатного тарифа более чем достаточно.
2. Телеграм-бот - его Вы без проблем сможете сделать в BotFather. Если Вы до сих пор не в курсе как это делать, на ютубе есть много роликов про то, как это делать.
3. API-ключ вашего телеграм-бота
4. ID чата с вашим  ботом
5. ИИ-ассистент. Я использовал Gemini 1,5 pro из Google AI Studio. У меня эта модель доступна бесплатно, но вроде как, это доступно не всем. Не суть, такую простую задачу выполнит любая нейронка.

Далее просим вашу нейронку написать код на языке Google Apps Script(это диалект JS) скрипт который будет по АПИ  брать данные на CoinMarketCap и после обработки отправлять в ваш телеграм-бот.


Вот мой код, точнее, не мой, а тот, который мне сделал мой ИИ-ассистент:

Code:
function doGet() {
  Utilities.sleep(1000);
  var key = 'ВАШ АПИ-КЛЮЧЬ ДЛЯ CoinMarketCap '
  var url = 'https://pro-api.coinmarketcap.com/v1/cryptocurrency/quotes/latest?symbol=BTC,ETH,POL&CMC_PRO_API_KEY=' + key
  var response = UrlFetchApp.fetch(url);
  var data = JSON.parse(response.getContentText());

  // Извлечение нужных данных

  var btcPrice = data.data.BTC.quote.USD.price;
  var ethPrice = data.data.ETH.quote.USD.price;
  var polPrice = data.data.POL.quote.USD.price;

  var btcVolumeChange24h = data.data.BTC.quote.USD.volume_change_24h;
  var ethVolumeChange24h = data.data.ETH.quote.USD.volume_change_24h;
  var polVolumeChange24h = data.data.POL.quote.USD.volume_change_24h;

  var btcChange24h = data.data.BTC.quote.USD.percent_change_24h;
  var ethChange24h = data.data.ETH.quote.USD.percent_change_24h;
  var polChange24h = data.data.POL.quote.USD.percent_change_24h;

  var btcChange7d = data.data.BTC.quote.USD.percent_change_7d;
  var ethChange7d = data.data.ETH.quote.USD.percent_change_7d;
  var polChange7d = data.data.POL.quote.USD.percent_change_7d;

  // Формирование сообщения для Telegram

  var message = 'Tiker    Price     Volume +-       24h           7d\n\n' +
                'BTC:    ' + btcPrice.toFixed(0) + "      "+ btcVolumeChange24h.toFixed(2) +" %      "+ btcChange24h.toFixed(2) + " %     " +  btcChange7d.toFixed(2) +' %\n' +
                'ETH:    ' + ethPrice.toFixed(0) + "        "+ ethVolumeChange24h.toFixed(2) +" %      "+ ethChange24h.toFixed(2) + " %      " +  ethChange7d.toFixed(2) +' %\n' +
                'POL:    ' + polPrice.toFixed(3) + "      "+ polVolumeChange24h.toFixed(2) +" %      "+ polChange24h.toFixed(2) + " %     " +  polChange7d.toFixed(2) +' %\n';
  
  // Отправка данных в Telegram-бот
  
  sendToTelegram(message);

  // Возврат ответа
  return ContentService.createTextOutput('Данные успешно получены и отправлены в Telegram!');
}

function sendToTelegram(message) {
  var telegramBotToken = 'API-ключ вашего телеграм-бота';
  var chatId = 'ваш ID чата';
  var url = 'https://api.telegram.org/bot' + telegramBotToken + '/sendMessage';

  var options = {
    'method': 'post',
    'payload': {
      'chat_id': chatId,
      'text': message
    }
  };

  UrlFetchApp.fetch(url, options);
}
    

Далее следует:
- открыть новую гугл-таблицу из из своего аккаунта,
- перейти в вкладке меню "расширения" -> "Apps Script",
- залить туда свой скрипт,
- добавить с в этот скрипт свои данные для АПИ-ключей и ваш ID чата,
- на странице скрипта есть кнопка "выполнить" для отладки, при первом срабатывании гугл попросит авторизовать этот скрипт,
- сохранить скрипт,
- перейти на страницу своих скриптов,
- в свойствах вашего скрипта добавить новый триггер и назначить удобное вам время срабатывания.


К слову сказать, триггеры по времени работают не вечно, а какое то время, кажется, 30 дней. Через 30 дней его надо будет обновить. наверно эту проблему можно как то решить, но я пока не придумал, как.

Идея, как мне кажется, универсальная и этот метод можно применять для широкого круга простых задачь. Тперь решения на основе кода становятся проще и доступнее чем решения "NOcode" функционал которых, зачастую, сильно ограничен.


Jump to: