<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Заметки — Игорь К.: заметки с тегом телеграм</title>
<link>https://blog.fossko.ru/tags/telegram/</link>
<description>Блог Игоря К. о маркетинге, аналитике, фотографии и жизни...</description>
<author></author>
<language>ru</language>
<generator>Aegea 11.4 (v4171)</generator>

<itunes:subtitle>Блог Игоря К. о маркетинге, аналитике, фотографии и жизни...</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit></itunes:explicit>

<item>
<title>Анализ группы телеграм в гугл таблицах</title>
<guid isPermaLink="false">506</guid>
<link>https://blog.fossko.ru/all/analiz-gruppy-telegram-v-gugl-tablicah/</link>
<pubDate>Wed, 05 Apr 2023 21:33:51 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/analiz-gruppy-telegram-v-gugl-tablicah/</comments>
<description>
&lt;p&gt;Потребовалось ответить на вопрос: кто сколько написал сообщений?&lt;/p&gt;
&lt;p&gt;Для этого выгружаем историю чата или канала и переводим в табличный вид.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/TelegramDesktop-2023-04-05-20.39.42.jpg" width="406" height="485" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Экспортируем историю из чата&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="https://github.com/KanegaeGabriel/telegram-export-converter"&gt;Telegram Export and Converter Tool&lt;/a&gt; — конвертер, который написал Даниэль Корега.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/image-15.png" width="510" height="280" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;&lt;a href="https://github.com/KanegaeGabriel/telegram-export-converter/blob/master/telegram-export-converter.py"&gt;telegram-export-converter.py&lt;/a&gt; закидываем в папку с экспортом и запускаем.&lt;/div&gt;
&lt;/div&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;python3 telegram-export-converter.py&lt;/code&gt;&lt;/pre&gt;&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/analiz-gruppy-telegram-v-gugl-tablicah.png" width="554" height="315" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;После выполнения скрипта, в папке будет csv файл, со всей информацией. Можно загрузить в гугл таблицы или пандос.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Используем &lt;a href="/all/kak-skopirovat-formulu-na-vse-yacheyki-vniz-v-gugl-tablicah/"&gt;ArrayFormula&lt;/a&gt; для добавления столбца дата в формате год-месяц&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=ArrayFormula(TEXT(B2:B;&amp;quot;YYYY-MM&amp;quot;))&lt;/code&gt;&lt;/pre&gt;&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/analiz-gruppy-telegram-v-gugl-tablicah-1.png" width="1399" height="359" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Строим график кто сколько сообщений написал. Видно, что больше всего общались в феврале 2022 года, а кто-то с апреля 2022 года больше ничего не писал.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Экспортируются все текстовые сообщения, можно попробовать их проанализировать.&lt;/p&gt;
</description>
</item>

<item>
<title>Отправляем поток из РСС в телеграм через Google Apps Script</title>
<guid isPermaLink="false">471</guid>
<link>https://blog.fossko.ru/all/otpravlyaem-potok-iz-rss-v-telegram-cherez-google-apps-script/</link>
<pubDate>Thu, 22 Dec 2022 11:50:33 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/otpravlyaem-potok-iz-rss-v-telegram-cherez-google-apps-script/</comments>
<description>
&lt;p&gt;Обновляем канал «&lt;a href="https://t.me/pochitaet"&gt;Почитаем…&lt;/a&gt;»&lt;br /&gt;
Теперь новые статьи будут приходить в канал автономно, через гугл таблицы и без участия локального сервера с питоном.&lt;br /&gt;
&lt;a href="/all/otpravlyaem-novye-statyi-iz-rss-v-telegram/"&gt;Раньше работало через питон и базу данных на sqlite3&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;В гугл таблице нам нужны три листа: rss, rss_data, error&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;rss — будем хранить рсс потоки сайтов,&lt;/li&gt;
&lt;li&gt;rss_data — будем хранить базу данных что отпарсилось и что отправлено,&lt;/li&gt;
&lt;li&gt;error — будем хранить ошибки при отладке, если это потребуется&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/image-12.png" width="1124" height="610" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;На листе rss, в первой колонке перечислены все рсс-потоки, при необходимости добавить или удалить, делаем это здесь.&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/image-11.png" width="1124" height="610" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;На листе rss_data, первая строчка с наименованием колонок&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;У меня сейчас 110 источников, когда идет запись в таблицу, скрипт не успевает обработать все данные, и отваливается по тайм-ауту гугла. После нескольких запусков он все ссылки обработает и начинает укладываться в тайминг.&lt;br /&gt;
Возможно, в будущем, нужно скрипт делить на несколько&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/otpravlyaem-potok-iz-rss-v-telegram-cherez-google-apps-script.png" width="510" height="834" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;сообщения приходят в том же виде, что и раньше.&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Парсинг потоков рсс через гугл таблицы&lt;/h2&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;// Считываем базу данных РСС
function data_base_rss() {
  var app = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(&amp;quot;rss_data&amp;quot;)
  data_base= app.getRange(1,1, app.getLastRow(), app.getLastColumn()).getValues(); //только заполненный диапазон
  return(data_base)
}

// поиск по базе данных
function find_rss(url) {
  rezult = rss_data.findIndex(item =&amp;gt; item[3] === url) //ищем в 4 столбце
  //console.log(rezult) //-1 если не найдено, и индекс положительный если нашлось это что нашлось лог
  return(rezult)
}


// Запись нового поста в таблицу
function data_write_rss(data) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(&amp;quot;rss_data&amp;quot;);
  var value = data
  sheet.getRange(sheet.getLastRow() + 1,1,1,4).setValues([value]);
  console.log(data)
}

// Запись error в таблицу
function error_log(data) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(&amp;quot;error&amp;quot;);
  //var sheet = spreadsheet.getActiveSheet();
  //var value = new Date(); // value you want to insert
  //var value = data
  sheet.getRange(sheet.getLastRow() + 1,1,1,3).setValues([data]);
  console.log(data)
}


//функция проверки новых постов текущего потока
function get_rss(rss_url) {
  var url =rss_url
  var date_rss =[]
  var xml = UrlFetchApp.fetch(url).getContentText()
  document = XmlService.parse(xml);
  root = document.getRootElement();
  channel = root.getChild(&amp;#039;channel&amp;#039;);
  items = channel.getChildren(&amp;#039;item&amp;#039;);
  items.forEach(item =&amp;gt; {
    parsing_date=new Date(); // дата текущая
    title = item.getChild(&amp;#039;title&amp;#039;).getText();
    link = item.getChild(&amp;#039;link&amp;#039;).getText()
    try{
    author = item.getChild(&amp;#039;author&amp;#039;).getText();} //автор не у всех бывает
    catch(e){author =&amp;quot;&amp;quot;}
    if (find_rss(link) == -1) {
      data_write_rss([parsing_date,title,author,link])  
    }
   });
  console.log(date_rss)
}

// Основная функция парсинга всех РСС потоков, ее нужно установить в запуск раз в 15 минут
function parse_rss() {
  var rss_data=data_base_rss()
  var app = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(&amp;quot;rss&amp;quot;)
  url_array = app.getRange(1,1, app.getLastRow(), 1).getValues(); //только заполненный первый столбец
  console.log(url_array);
  url_array.forEach(url =&amp;gt; {
    console.log(url)
    try{ 
      get_rss(url)}
    catch(e){console.log(&amp;quot;! недействительный URL&amp;quot;, console.log(url),&amp;#039;Ошибка &amp;#039; + e.name + &amp;quot;:&amp;quot; + e.message + &amp;quot;\n&amp;quot; + e.stack)
    //error_log([new Date(),url,&amp;#039;Ошибка &amp;#039; + e.name + &amp;quot;:&amp;quot; + e.message + &amp;quot;\n&amp;quot; + e.stack]) //При необходимости записи ошибок снять комментарий     
    } //Обработка ошибки 
  })
}&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;Код отправки сообщений в телеграм:&lt;/h2&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;const tokendr = &amp;quot;BOT_token&amp;quot;; 
const IDChattelegramdr = &amp;quot;ID_CHAT&amp;quot; 

function timerSENDtgDR() {
  let ss = SpreadsheetApp.getActiveSpreadsheet();
  let ws = ss.getSheetByName(&amp;quot;rss_data&amp;quot;); //таблица с которой берем данные
  let data = ws.getRange(2, 1, ws.getLastRow()-1, 5).getValues(); //диапазон с которого берем данные
  Logger.log ( data ); 
  for (i = 0; i &amp;lt; data.length; i++) {
    let dataInfo = data[i]; //строчка таблицы
    //Logger.log ( dataInfo );
    let telegram_send = dataInfo[4]; //пятая ячейка telegram_send
    Logger.log(telegram_send)
    if (telegram_send ===&amp;quot;&amp;quot;){
      title = dataInfo[1];
      author = dataInfo[2];
      if (author !=&amp;#039;&amp;#039;){
      author=author+&amp;quot;\n\n&amp;quot;    //если имя автора есть, добавить переносы строк
      }
      link = dataInfo[3];
      sendTextDR(IDChattelegramdr, &amp;quot;&amp;lt;b&amp;gt;&amp;quot;+title+&amp;quot;&amp;lt;/b&amp;gt;\n\n&amp;quot; + author + link);
      ws.getRange(i+2 , 5, 1, 1).setValues([[new Date()]]);
      Utilities.sleep(500);// pause in the loop for 500 milliseconds
      Logger.log (&amp;quot;сообщение отправлено&amp;quot;);
    }
  }
}
 
function sendTextDR(chatId, text, keyBoard) {
  let data = {
    method: &amp;#039;post&amp;#039;,
    payload: {
      method: &amp;#039;sendMessage&amp;#039;,
      chat_id: String(chatId),
      text: text,
      //parse_mode:&amp;#039;Markdown&amp;#039;,
      parse_mode: &amp;#039;html&amp;#039;,
      reply_markup: JSON.stringify(keyBoard)
    }
  }
  UrlFetchApp.fetch(&amp;#039;https://api.telegram.org/bot&amp;#039; + tokendr + &amp;#039;/&amp;#039;, data);
}&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>Увеличение откликов на рубрику в телеграм сообществе</title>
<guid isPermaLink="false">469</guid>
<link>https://blog.fossko.ru/all/uvelichenie-otklikov-na-rubriku-v-telegram-soobschestve/</link>
<pubDate>Sat, 12 Nov 2022 14:46:52 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/uvelichenie-otklikov-na-rubriku-v-telegram-soobschestve/</comments>
<description>
&lt;p&gt;&lt;a href="https://t.me/toverovskiy/1533"&gt;Николай Товеровский опубликовал задание&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;У меня в Сообществе руководителей есть рубрика «Ситуация в проекте». Чтобы она выходила, нужен поток ситуаций на вход. Я, конечно, могу сам их вспоминать бесконечно, но так не интересно и пользы больше, когда кто-то получает ответ на свою конкретную ситуацию.&lt;/p&gt;
&lt;p&gt;У меня есть форма для отправки новых ситуаций, ссылка на неё стоит в конце каждой Ситуации:&lt;br /&gt;
&lt;a href="https://docs.google.com/forms/d/e/1FAIpQLSe846X9d5SX0W7P0y_cCdYIoM6ZOcLkr5FfPS7AgGGG5CPNlw/viewform"&gt;https://docs.google.com/forms/d/e/1FAIpQLSe846X9d5SX0W7P0y_cCdYIoM6ZOcLkr5FfPS7AgGGG5CPNlw/viewform&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Пример:&lt;/b&gt;&lt;br /&gt;
&lt;a href="https://t.me/fffworks/667"&gt;https://t.me/fffworks/667&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Форма не очень работает — ситуаций присылают мало.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Задача&lt;/b&gt;&lt;br /&gt;
Придумать, как наладить поток ситуаций. Интересные и удобно оформленные для меня ситуации (см. поля в форме) должны поступать регулярно и в достаточном количестве.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Условия&lt;/b&gt;&lt;br /&gt;
Решение должно быть простым. Я должен смочь реализовать его в одиночку за неделю. Исходите из того, что никакими специфическими знаниями я не обладаю. Запилить сайт, собрать бота — нет. Написать текст, собрать что-то в готовом сервисе, тыкая кнопки, — да.&lt;/p&gt;
&lt;p&gt;Решение должно быть устойчивым. Если для работы решения надо будет постоянно оплачивать какой-то сервис или работу людей, постоянно что-то поддерживать — это не годится, когда-нибудь я не оплачу или не смогу починить сломавшееся и всё. Но можно воспользоваться чем-то, что у меня уже есть. У меня есть хостинг, телеграм-каналы. Всё что есть собрано тут: &lt;a href="http://fff.works"&gt;http://fff.works&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Я не должен платить за ситуации в каком-либо виде. Нельзя обманывать присылающих ситуации, обещать им с три короба чего-то, что потом они не получат.&lt;/p&gt;
&lt;p&gt;Решение должно быть технологичным. Если мне придётся тратить сутки на сбор ситуаций, перелопачивать какие-то данные, я забью.&lt;/p&gt;
&lt;p&gt;Решение должно приличным. Никаких провокаций, голых тел, мата и т. д.&lt;/p&gt;
&lt;p&gt;Идеальное решение — ничего нет, а ситуации поступают. Постарайтесь приблизиться к идеалу.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Формат&lt;/b&gt;&lt;br /&gt;
Присылайте свои решения в комментарии к этому сообщению в Телеграме. Работы принимаются до 23:59 пятницы 18 ноября. Итоги подведу на выходных 19—20 ноября.&lt;/p&gt;
&lt;p&gt;Чтобы я смог найти ваше решение, начните текст с фразы «Решение домашки», пример: «Решение домашки. Ваш вариант...» Присылайте одно решение, в которое больше всего сами верите. До дедлайна решение можно менять, редактируя комментарий.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Приз&lt;/b&gt;&lt;br /&gt;
Автору лучшего решения, которое я смогу взять и внедрить — год подписка на книгу «Управление проектами, людьми и собой». Если подходящих решений будет несколько — победит первое по времени отправки. Если вы уже подписаны на книгу, сможете продлить подписку на год или подарить другу:&lt;br /&gt;
&lt;a href="https://bureau.ru/projects/book-fff/"&gt;https://bureau.ru/projects/book-fff/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;h2&gt;Решение&lt;/h2&gt;
&lt;p&gt;Гугл-форма кажется сложной, это особенность гугла.&lt;br /&gt;
Попробуем сделать форму в другом месте, например, в &lt;a href="https://forms.yandex.ru/"&gt;Яндекс формах.&lt;/a&gt;&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/uvelichenie-otklikov-na-rubriku-v-telegram-soobschestve.png" width="1316" height="838" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Создаем простую форму и наполняем содержимым из гугл формы.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Форма есть, теперь нужно получать результаты отправлений формы, как можно скорее.&lt;br /&gt;
У гугл-форм есть преимущество, они отправляют сразу в таблицу, то что мы будем делать дальше, можно сделать и с гугл формами.&lt;/p&gt;
&lt;p&gt;Результаты будем отправлять в телеграм канал, так мы сразу увидим что пришел запрос.&lt;br /&gt;
— &lt;a href="/all/otpravka-iz-yandeks-form-v-telegram/"&gt;Как отправить из Яндекс формы в телеграм канал&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Создаем канал в телеграме:&lt;br /&gt;
Канал — &lt;a href="https://t.me/+4o3YSNqZ-ZRkODNi"&gt;Ситуация в проекте&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Добавляем бота в администраторы, и пишем правильный айди канала в отправке сообщений.&lt;/p&gt;
&lt;p&gt;Все должно работать&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/image-9.png" width="895" height="761" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Заполняем форму, данными из примера Николая&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/uvelichenie-otklikov-na-rubriku-v-telegram-soobschestve-1.png" width="600" height="338" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Результат в телеграме&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Мотивация на заполнение формы&lt;/h2&gt;
&lt;p&gt;Теперь осталось мотивировать людей заполнять эту форму:&lt;br /&gt;
— Если ответ публикуется в телеграме, можно внизу сообщения сделать кнопку задать свой вопрос, ссылка ведет на форму.&lt;br /&gt;
— Если ответ публикуется на сайте, можно вставить форму на сайт, как сделано у меня ниже.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/image-10.png" width="621" height="567" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Пример кнопки, в &lt;a href="https://t.me/bureauchat/3705"&gt;телеграме Бюро,&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Добавляем кнопку к сообщению&lt;/h2&gt;
&lt;p&gt;Кнопку может отправить только бот, для этого в строке отправки нужно дописать JSON запрос&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;&amp;amp;reply_markup={&amp;quot;inline_keyboard&amp;quot;: [[ { &amp;quot;text&amp;quot;: &amp;quot;test&amp;quot;, &amp;quot;url&amp;quot;: &amp;quot;ya.ru&amp;quot; } ]]}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;a href="https://www.url-encode-decode.com/"&gt;Сервис для приведения запроса в url вид&lt;/a&gt;, рекомендовали в обсуждении на stackoverflow в теме «&lt;a href="https://ru.stackoverflow.com/questions/721444/%d0%9f%d0%be%d1%81%d1%82%d0%b8%d0%bd%d0%b3-%d0%ba%d0%b0%d1%80%d1%82%d0%b8%d0%bd%d0%ba%d0%b8-%d1%81-%d1%82%d0%b5%d0%ba%d1%81%d1%82%d0%be%d0%bc-%d0%b8-%d1%81%d1%81%d1%8b%d0%bb%d0%be%d0%b9-%d0%b2-%d1%82%d0%b5%d0%bb%d0%b5%d0%b3%d1%80%d0%b0%d0%bc%d0%bc-telegram"&gt;Постинг картинок с кнопкой в телеграм канал&lt;/a&gt;»&lt;/p&gt;
&lt;p&gt;Полный текст для отправки ботом в телеграм тестовой кнопки&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;https://api.telegram.org/botID:KEY_BOT/sendMessage?chat_id=CHAT_ID&amp;amp;text=
Ответы на все вопросы&amp;amp;reply_markup={&amp;quot;inline_keyboard&amp;quot;: [[ { &amp;quot;text&amp;quot;: &amp;quot;test&amp;quot;, &amp;quot;url&amp;quot;: &amp;quot;ya.ru&amp;quot; } ]]}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Ниже можно заполнить форму и увидеть результат в телеграме — &lt;a href="https://t.me/+4o3YSNqZ-ZRkODNi"&gt;Ситуация в проекте&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Форма отдельной страницей&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://forms.yandex.ru/u/636f6b272530c22803f20287/"&gt;https://forms.yandex.ru/u/636f6b272530c22803f20287/&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Форма встроена в сайт:&lt;/h2&gt;
&lt;script src="https://yastatic.net/s3/frontend/forms/_/embed.js"&gt;&lt;/script&gt;
&lt;iframe src="https://forms.yandex.ru/u/636f6b272530c22803f20287/?iframe=1" frameborder="0" name="ya-form-636f6b272530c22803f20287" width="650"&gt;&lt;/iframe&gt;
</description>
</item>

<item>
<title>Видеонаблюдение через телеграм</title>
<guid isPermaLink="false">466</guid>
<link>https://blog.fossko.ru/all/videonablyudenie-cherez-telegram/</link>
<pubDate>Sat, 15 Oct 2022 15:01:43 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/videonablyudenie-cherez-telegram/</comments>
<description>
&lt;p&gt;На камерах Hikvision можно сделать простое видеонаблюдение через телеграм.&lt;br /&gt;
Когда в камере срабатывает датчик движения, камера отправляет на телеграм фотографию что произошло.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/image-6.png" width="510" height="942" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Отправляются три изображения с интервалом 2 секунды, от момента срабатывания датчика&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;По умолчанию, мы не можем отправлять изображения в телеграм, можем только на почту.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;div class="fotorama" data-width="1091" data-ratio="1.4924760601915"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Nastroyki---Internet-Explorer-2022-10-15-14.23.59.jpg" width="1091" height="731" alt="" /&gt;
&lt;img src="https://blog.fossko.ru/pictures/Nastroyki---Internet-Explorer-2022-10-15-14.24.25.jpg" width="1092" height="731" alt="" /&gt;
&lt;/div&gt;
&lt;div class="e2-text-caption"&gt;Настройки детектора движения: «Настройки» → «По событию» → «События» → «Детектор движения». Настраиваем зону срабатывания и событие отправки на электронную почту.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Отправлять события нужно на гугл почту. В гугле есть App Script, с помощью которого можно пересылать почту в телеграм.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Nastroyki---Internet-Explorer-2022-10-15-14.29.27.jpg" width="1068" height="728" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Настройки видеокамеры для отправки на электронную почту: «Настройки» → «Сеть» → «Доп. настройки» → «Email»&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/videonablyudenie-cherez-telegram.png" width="820" height="521" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Если все настроено правильно, в почту гугл начнут приходить письма с фотографиями.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;На гитхабе выложен &lt;a href="https://github.com/kooison/Gmail-to-Telegram"&gt;пример скрипта, для отправки вложенных в письма фотографий в телеграм&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Нам, остается немного его доработать, так как скрипт отправляет первое вложение в телеграм.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/videonablyudenie-cherez-telegram-1.png" width="1183" height="794" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Присваиваем всем нашим письмам ярлык — CAMERA, скрипт проверяет или все письма или по определенным параметрам, например, ярлык.&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/image-7.png" width="696" height="401" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Если правильно настроено правило, ярлыки появляются у каждого нового письма с камеры&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/videonablyudenie-cherez-telegram-3.png" width="1203" height="969" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Дальше в апп скрипте вставляем наш скрипт, запускаем, тестирует, занимаемся отладкой.&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/videonablyudenie-cherez-telegram-4.png" width="1325" height="980" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Ставим запуск скрипта раз в минуту. То есть почта будет проверяться раз в минуту и при соответвии условиям отправляться.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Мой скрипт:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;// The token of your Telegram bot
var TOKEN = &amp;quot;token bot&amp;quot;;

// Name of the Telegram channel which bot is added into
var CHANNEL = &amp;quot;id канала&amp;quot;;

// Name of the Gmail Label which need to search for
var LABEL = &amp;quot;CAMERA&amp;quot;

function processEmails() {
  
  // Search unread emails with specified label
  var search = &amp;quot;label:&amp;quot; + LABEL + &amp;quot; is:unread&amp;quot;;
  Logger.log(&amp;#039;Search: &amp;#039; + search);
  var threads = GmailApp.search(search, 0, 10);
  
  for (var i = 0; i &amp;lt; threads.length; i++) {
    var messages = threads[i].getMessages();
    Logger.log(&amp;#039;Number of emails found: &amp;#039; + messages.length);

    for (var j = 0; j &amp;lt; messages.length; j++) {
      var m = messages[j];
      if (!m.isInTrash() &amp;amp;&amp;amp; m.isUnread()) {
        if (m.getAttachments().length &amp;gt; 0) {
          
          // Get the first attachment (image jpeg file)
          // and send to telegram bot
          sendPhoto(m.getAttachments()[0].copyBlob());
          Logger.log(&amp;#039;фото: &amp;#039; + &amp;#039;1&amp;#039;);
          Utilities.sleep(500);// pause in the loop for 500 milliseconds
          sendPhoto(m.getAttachments()[1].copyBlob());
          Logger.log(&amp;#039;фото: &amp;#039; + &amp;#039;2&amp;#039;);
          Utilities.sleep(500);// pause in the loop for 500 milliseconds
          sendPhoto(m.getAttachments()[2].copyBlob());
          Logger.log(&amp;#039;фото: &amp;#039; + &amp;#039;3&amp;#039;);
          Utilities.sleep(500);// pause in the loop for 500 milliseconds   
        }
        m.markRead(); 
        m.moveToTrash(); // Where I would need a delete forever trigger;
      }
    }
  }
}

function sendPhoto(photo) {
  var payload = {
    &amp;#039;chat_id&amp;#039;: CHANNEL,
    &amp;#039;photo&amp;#039;: photo
  };
  var options = {
    &amp;#039;method&amp;#039;: &amp;#039;post&amp;#039;,
    &amp;#039;payload&amp;#039;: payload
  };
  UrlFetchApp.fetch(&amp;quot;https://api.telegram.org/bot&amp;quot; + TOKEN + &amp;quot;/sendPhoto&amp;quot;, options);
}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Из правок:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;отправляются 1,2,3 вложения,&lt;/li&gt;
&lt;li&gt;между отправкой пауза 0,5 секунды,&lt;/li&gt;
&lt;li&gt;сообщение после обработки удаляется в корзину.&lt;/li&gt;
&lt;/ul&gt;
</description>
</item>

<item>
<title>Отправляем новые статьи из РСС в телеграм</title>
<guid isPermaLink="false">465</guid>
<link>https://blog.fossko.ru/all/otpravlyaem-novye-statyi-iz-rss-v-telegram/</link>
<pubDate>Mon, 10 Oct 2022 10:10:19 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/otpravlyaem-novye-statyi-iz-rss-v-telegram/</comments>
<description>
&lt;p&gt;Удобно присылать новые ссылки на статьи моих подписок РСС в телеграм, так как вся коммуникация уже в нем, фидли почти не использую.&lt;/p&gt;
&lt;p&gt;Евгений Гончаров, в статье &lt;a href="https://sys-adm.in/programming/805-rss-fider-na-python-s-opravkoj-uvedomlenij-v-telegram.html" class="nu"&gt;«&lt;u&gt;RSS фидер на Python с оправкой уведомлений в Телеграм&lt;/u&gt;»&lt;/a&gt; описал весь принцип отправки и использование базы данных для контроля что отправили. &lt;a href="https://github.com/m0zgen/rss2bot/blob/master/rss.py"&gt;Готовый код на гитхабе Евгения&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Я внес небольшие изменения в код:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Сообщения в телеграм отправляются с задержкой 1 секунда. Если не использовать таймаут, сервер телеграма, может отправить не все сообщения.&lt;/li&gt;
&lt;li&gt;Изменил вид отправки сообщений: добавил переносы строк и автора, если он есть.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/image-5.png" width="518" height="904" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;В канал телеграма приходят новые сообщения. Проверка РСС проходит с 7 утра до 11 вечера, с интервалом 30 минут.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Канал открытый, можно подписаться на &lt;a href="https://t.me/pochitaet" class="nu"&gt;«&lt;u&gt;Почитаем&lt;/u&gt;»&lt;/a&gt;, там 95 источников РСС: например, избранное блогов на Эгее, Илья Бирман, Максим Ильяхов, Николай Товеровский, и другие.&lt;/p&gt;
&lt;p&gt;В примере скрипта: блоги на Эгее и мой блог.&lt;/p&gt;
&lt;p&gt;Скрипт:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;#!/usr/bin/python3
# Created by Yevgeniy Goncharov, https://sys-adm.in
# Script for reading and forwarding to Telegram, rss feeds


# Imports
import sqlite3
import requests
import feedparser
import os
import urllib
import random
import time

# Bot creds
bot_token = &amp;#039;bot_token&amp;#039;
bot_chatID = &amp;#039;bot_chatID&amp;#039;

# Feeds
myfeeds = [
    &amp;#039;https://blogengine.ru/blogs/rss/&amp;#039;,
    &amp;#039;http://blog.fossko.ru/rss/&amp;#039;,

]

# User agents
uags = [
  &amp;#039;Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Safari/605.1.15&amp;#039;,
  &amp;#039;Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0&amp;#039;,
  &amp;#039;Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36&amp;#039;,
  &amp;#039;Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0&amp;#039;,
  &amp;#039;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36&amp;#039;,
]

# Random User Agent (from uags list)
ua = random.choice(uags)

# Header
headers = {
  &amp;quot;Connection&amp;quot; : &amp;quot;close&amp;quot;,  # another way to cover tracks
  &amp;quot;User-Agent&amp;quot; : ua
}

# Proxies
proxies = {
}

# DB
scriptDir = os.path.dirname(os.path.realpath(__file__))
db_connection = sqlite3.connect(scriptDir + &amp;#039;/rss.sqlite&amp;#039;)
db = db_connection.cursor()
db.execute(&amp;#039;CREATE TABLE IF NOT EXISTS myrss (title TEXT, date TEXT)&amp;#039;)

# Get posts from DB and print
def get_posts():
    with db_connection:
        db.execute(&amp;quot;SELECT * FROM myrss&amp;quot;)
       # print(db.fetchall())

# Check post in DB
def article_is_not_db(article_title, article_date):
    db.execute(&amp;quot;SELECT * from myrss WHERE title=? AND date=?&amp;quot;, (article_title, article_date))
    if not db.fetchall():
        return True
    else:
        return False

# Add post to DB
def add_article_to_db(article_title, article_date):
    db.execute(&amp;quot;INSERT INTO myrss VALUES (?,?)&amp;quot;, (article_title, article_date))
    db_connection.commit()

# Send notify to Telegram bot
def bot_sendtext(bot_message):
    #bot_message = urllib.parse.quote(bot_message)
    bot_message = bot_message
    send_text = &amp;#039;https://api.telegram.org/bot&amp;#039; + bot_token + &amp;#039;/sendMessage?chat_id=&amp;#039; + bot_chatID + &amp;#039;&amp;amp;parse_mode=Markdown&amp;amp;text=&amp;#039; + bot_message
    requests.get(send_text, proxies=proxies, headers=headers)
    print(send_text)

# Check, read articles
def read_article_feed(feed):
    &amp;quot;&amp;quot;&amp;quot; Get articles from RSS feed &amp;quot;&amp;quot;&amp;quot;
    feedparser.USER_AGENT = ua
    feed = feedparser.parse(feed)
    print(feed)
    for article in feed[&amp;#039;entries&amp;#039;]:
        if article_is_not_db(article[&amp;#039;title&amp;#039;], article[&amp;#039;published&amp;#039;]):
            add_article_to_db(article[&amp;#039;title&amp;#039;], article[&amp;#039;published&amp;#039;])
           # bot_sendtext(&amp;#039;New feed found &amp;#039; + article[&amp;#039;title&amp;#039;] +&amp;#039;, &amp;#039; + article[&amp;#039;link&amp;#039;] + &amp;#039;, &amp;#039; + article[&amp;#039;description&amp;#039;])
            try:
                rss_autor = article[&amp;#039;author&amp;#039;] +&amp;#039;%0A%0A&amp;#039;
            except:
                rss_autor = &amp;quot;&amp;quot;
            MSGsend=&amp;#039;*&amp;#039;+ article[&amp;#039;title&amp;#039;] + &amp;#039;*%0A%0A&amp;#039; + rss_autor + article[&amp;#039;link&amp;#039;]
            MSGsend=MSGsend.replace(&amp;quot;_&amp;quot;, &amp;quot;\_&amp;quot;)  # замена подчеркивания для отправки в ТГ
            bot_sendtext(MSGsend)            
            time.sleep(1)
           # print(article)

# Rotate feeds array
def spin_feds():
    for x in myfeeds:
       # print(x)
        read_article_feed(x)

# Runner :)
if __name__ == &amp;#039;__main__&amp;#039;:
    spin_feds()
    # get_posts()
    db_connection.close()&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>Отправка из Яндекс форм в телеграм</title>
<guid isPermaLink="false">464</guid>
<link>https://blog.fossko.ru/all/otpravka-iz-yandeks-form-v-telegram/</link>
<pubDate>Thu, 12 May 2022 10:09:13 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/otpravka-iz-yandeks-form-v-telegram/</comments>
<description>
&lt;p&gt;У Яндекса есть удобный сервис — Яндекс формы, он позволяет вставлять любые формы на любые сайты.&lt;br /&gt;
А вот получение данных не всегда удобное: нужно зайти в форму, перейти к ответам, посмотреть результаты.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Zayavka-dzen-(Nastroyki)---Google-Chrome-2023-04-21-13.19.06.jpg" width="1003" height="236" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Входим в форму — интеграции&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Zayavka-dzen-(Nastroyka-integraciy)---Google-Chrome-2023-04-21-13.19.41.jpg" width="1127" height="883" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Можно отправлять на е-маил, это реализовано сразу, включаем в настройках, указываем кому отправить форму, что написать и заполняем шаблон.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Для отправки в телеграм, используется интеграция — *&lt;b&gt;API Запрос заданным методом&lt;/b&gt;&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Zayavka-dzen-(Nastroyka-integraciy)---Google-Chrome-2023-04-21-13.21.43.jpg" width="1009" height="712" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Метод запроса POST&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;У меня отправляется только если весь запрос передать в УРЛ, по-хорошему нужно передавать через тело запроса, но у меня не работает.&lt;/p&gt;
&lt;p&gt;В УРЛ подставляем следующее:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;https://api.telegram.org/ИД вашего бота:Секретный ключ бота/sendMessage?chat_id=ИД кому отправлять&amp;amp;text=*Дзен_Яндекс*: Что из формы отправлять   &amp;amp;parse_mode=Markdown

https://api.telegram.org/bot111111:AABBBCCDDDFFFHJGHGHG/sendMessage?chat_id=1111111&amp;amp;text=&amp;amp;text=*Заявка_с_Дзена*%0A
Ответы на все вопросы&amp;amp;parse_mode=Markdown&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Айди канала или пользователя можно &lt;a href="/all/kak-uznat-ay-di-kanala-gruppy-ili-polzovatelya-v-telegram/"&gt;узнать через бота&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;%0A — Это символ пробела&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Novaya-forma-(Uvedomleniya)---Google-Chrome-2022-05-12-09.56.45.jpg" width="951" height="646" alt="" /&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/image-8.png" width="926" height="489" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;После какого-то обновления на Яндекс Формах не проходят знаки пробела, можно поставить подчеркивание и пользоваться дальше&lt;/div&gt;
&lt;/div&gt;
&lt;p class="loud"&gt;Ответы на вопросы — что передаем в сообщении, выбирается в параметрах, там куча всего можно передавать.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/otpravka-iz-yandeks-form-v-telegram.png" width="368" height="404" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Варианты, что можно отправить из формы в телеграм&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;div class="fotorama" data-width="829" data-ratio="1.5612052730697"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Novaya-forma--Yandex.Forms---Google-Chrome-2022-05-12-09.51.51.jpg" width="829" height="531" alt="" /&gt;
&lt;img src="https://blog.fossko.ru/pictures/Telegram-(1801441)-2022-05-12-09.55.21.jpg" width="440" height="122" alt="" /&gt;
&lt;/div&gt;
&lt;div class="e2-text-caption"&gt;Заполняем форму и получаем ответ в телеграм&lt;/div&gt;
&lt;/div&gt;
</description>
</item>

<item>
<title>Отправка данных из метрики в телеграм</title>
<guid isPermaLink="false">461</guid>
<link>https://blog.fossko.ru/all/otpravka-dannyh-iz-metriki-v-telegram/</link>
<pubDate>Thu, 31 Mar 2022 12:33:23 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/otpravka-dannyh-iz-metriki-v-telegram/</comments>
<description>
&lt;p&gt;&lt;b&gt;Задача:&lt;/b&gt; еженедельное получение данных о посещаемости из метрики в телеграм канал.&lt;br /&gt;
&lt;b&gt;Было:&lt;/b&gt; специально обученный человек заходил в метрику, ходил по отчетам о посещаемости сайта и отправлял данные о посещаемости в бейскамп, после данные приходили на почту.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Otchety-SEO-ezhenedelnye---Google-Chrome-2022-03-31-11.34.47.jpg" width="384" height="321" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Были отдельные отчеты были по: поисковому трафику, рекламе, социальным сетям.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Много ручного труда, который не сильно нужен, так как время на просмотр в метрике сопоставимо с временем на просмотр в бейскампе. Плюсом бейскампа был что он отправлял на почту.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/basecamp.jpg" width="789" height="237" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;По факту сообщения из бейскампа не читались, сообщения похожи на спам, который не хочется открывать.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;b&gt;Предложение:&lt;/b&gt; отправлять данные в канал телеграм.&lt;br /&gt;
Преимущества такого решения:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;легко подключить к статистике новых сотрудников, просто добавляешь в канал,&lt;/li&gt;
&lt;li&gt;отчеты отправляет бот, в одно и тоже время,&lt;/li&gt;
&lt;li&gt;отправлять можно не только статистику сайта, но и системные уведомления, например, обновления админки.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Ограничение:&lt;/b&gt; сделать с минимальными затратами и легким внесением изменений.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Решение:&lt;/b&gt;&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;Данные из метрики попадают в Гугл таблицу.&lt;/li&gt;
&lt;li&gt;Данные модифицируются для отправки отчета.&lt;/li&gt;
&lt;li&gt;Бот по графику отправляет данные в канал.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Для отправки данных из метрики в Гугл таблицу можно использовать &lt;a href="https://www.esliklientov.net/articles/%D0%B2%D0%B5%D0%B1-%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D1%82%D0%B8%D0%BA%D0%B0/%D1%84%D1%83%D0%BD%D0%BA%D0%B8%D1%8F-%D0%B4%D0%BB%D1%8F-%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D1%8F-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%B8%D0%B7-%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B8-%D0%B2-google-spreadsheets.html"&gt;скрипт Андрея Москальцова&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Для этого делаем копию гугл таблицы «&lt;a href="https://docs.google.com/spreadsheets/d/1veKsKvPTcpOAG5Ov9RHMlbcpIiJ6FNWHLflmaak-E-k/copy"&gt;Получение данных из метрики&lt;/a&gt;» Даем разрешение на подключение к метрике по инструкции Андрея или &lt;a href="https://habr.com/ru/post/337518/"&gt;делаем свой токен с разрешением выгрузка из метрики&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Получаем нужные дам данные &lt;a href="https://yandex.ru/dev/metrika/doc/api2/api_v1/metrics/visits/basic.html"&gt;используя апи метрики&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Группировки данных:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ym:s:datePeriod&lt;group&gt;Name — группировка по неделям&lt;/li&gt;
&lt;li&gt;ym:s:&lt;attribution&gt;TrafficSource — источники трафика&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Данные:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ym:s:visits — визиты&lt;/li&gt;
&lt;li&gt;ym:s:users — люди&lt;/li&gt;
&lt;li&gt;ym:s:pageviews — просмотренные страницы&lt;/li&gt;
&lt;li&gt;ym:s:bounces — отказы&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Poluchenie-dannyh-iz-metriki---Google-Tablicy---Google-Chrome-2022-03-31-12.21.36.jpg" width="945" height="650" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Отчет источников посещаемости с разбивкой по неделям который можно получить из метрики&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Используя формулы SUMIFS можно сделать отчет.&lt;/p&gt;
&lt;p&gt;Используя &lt;a href="https://docs.google.com/spreadsheets/d/1tw4h2P8BeN91MKSp8Ozbe2WOyXVgJLqhvundvyeXtBM/edit#gid=1857471596"&gt;таблицу отправлятора в телеграм&lt;/a&gt; отправляем в нужный канал или человеку.  Таблица сделана сообществом &lt;a href="https://t.me/google_sheets/643"&gt;Google Таблицы&lt;/a&gt;&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Telegram-(1659506)-2022-03-31-12.32.41.jpg" width="302" height="332" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Отчет приходит сообщением в телеграм. К отчету прилагается пдфка, в которой подробная статистика за несколько недель, открыть можно с телефона.&lt;/div&gt;
&lt;/div&gt;
</description>
</item>

<item>
<title>Как узнать ай-ди канала, группы или пользователя в телеграм?</title>
<guid isPermaLink="false">455</guid>
<link>https://blog.fossko.ru/all/kak-uznat-ay-di-kanala-gruppy-ili-polzovatelya-v-telegram/</link>
<pubDate>Sat, 22 May 2021 14:04:48 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/kak-uznat-ay-di-kanala-gruppy-ili-polzovatelya-v-telegram/</comments>
<description>
&lt;p&gt;Чтобы узнать ай-ди перешлите любое сообщение из группы или канала боту @ForwardInfoBot&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Telegram-(1130675)-2021-05-22-13.52.48.jpg" width="248" height="177" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Нужен бот Forward Info Bot, через пробелы, остальное что-то левое&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;div class="fotorama" data-width="673" data-ratio="0.98535871156662"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Telegram-(1130676)-2021-05-22-13.56.50.jpg" width="673" height="683" alt="" /&gt;
&lt;img src="https://blog.fossko.ru/pictures/Telegram-(1130685)-2021-05-22-13.59.30.jpg" width="445" height="154" alt="" /&gt;
&lt;/div&gt;
&lt;div class="e2-text-caption"&gt;Переслал сообщение из канала журнала «Кинжал», в ответ пришло: название канала, имя канала с собачкой: @Le_kinzhal и ай-ди канала: -1001274430641 порядковый номер записи в канале: 119 и дата отправки в канал.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;У каналов и супергрупп ай-ди со знаком минус, у пользователей и простых групп — без знака минус.&lt;/p&gt;
</description>
</item>


</channel>
</rss>