Как открыть доступ к сообщениям боту в Телеграмме

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

Система администрирования

Администраторы Telegram выполняют функции модераторов, также вместо модератора вполне можно поставить бота.

Как добавить полезного бота для администрирования в Телеграм вот тут подробная инструкция: https://telegramzy.ru/kak-dobavit-bota/

Применение модерации вызвано повышением числа постоянных подписчиков. Модераторы могут выбирать и устанавливать правила, по которым будет функционировать сообщество. По умолчанию настройками могут управлять все участники, но и пользователи также могут устанавливать своих управляющих и для удобства добавлять подписи администратора Telegram.

Чтобы назначить администратора Telegram, необходимо в канале сверху нажать на его название:
Жмём на название группы
После этого заходим в меню настроек группы:
Заходим в меню группыЗатем необходимо нажать на пункт «Назначить администратора»:

Выбираем пункт назначить администратора

Выбираем администратора из списка участников

Далее в пункте «Администраторы» можно выбрать кандидатуру из списка контактов. По умолчанию им становится создатель канала:

Функции администраторов Telegram

Администратор Telegram может назначать руководителей своих групп. При включении ограниченного режима они могут добавлять и удалять пользователей из группового обсуждения. Админ супергруппы информирует пользователей закрепленными сообщениями, чего нет в группах и каналах.
Как создать супергруппу? Для этого нужно обычную группу преобразовать, выбрав в меню «Преобразовать в супергруппу»:
Преобразовываем группу в супергруппу
Обращаем ваше внимание: это действие необратимо, поэтому создавайте супергруппу при целесообразности ее использования:
Информация о преобразовании в супергруппу

Как закрепить сообщение в Телеграмм группе

С помощью прикрепленных месседжей админы могут информировать всех участников. Чтобы прикрепить сообщение в супергруппе, необходимо нажать на сообщение; появится меню, в котором выбрать пункт «Прикрепить» (оставить галочку на пункте «Уведомить всех участников»):

Нажимаем на нужное сообщение Выбираем пункт прикрепить

Все, теперь прикрепленное сообщение отображается вверху чата и видно всем пользователям:

Информация о закреплённом сообщении в Телеграмм Итоговый вид закреплённого сообщения

Администраторы Telegram делятся на категории, где каждый будет иметь свои обязанности и подпись: например – одна категория ведет общение в чате с клиентами, вторая – следит за оповещениями клиента, третья группа выполняет текущие задачи и приходит на помощь второй группе администраторов. Все задачи усовершенствования чата сводятся к тому, чтобы обеспечить видимость администратора Telegram для каждого пользователя чата. В процессе работы обязанности распределяются между админами – каждый выполняет функции по своему желанию. О распределении обязанностей можно договориться в личной переписке с руководителями групп.

Подробная инструкция как открыть и пользоваться Телеграф, форматировать статьи и публикации — только для Администраторов в Telegram

Менеджеры канала видят последние 200 подписчиков Telegram, пользователи же их не видят. Что касается самих каналов, то обратной связи в них нет. Сообщения по мере появления опускаются глубоко в историю, и вытащить их оттуда возможно лишь через фидбек, упоминая ник в сообщениях.

Как установить подпись к сообщениям на канале

Основным инструментом взаимодействия пользователей Telegram с администратором становится лента обновлений, где участники могут узнать данные о состоянии системы и попросить консультации по своим вопросам. Чат является наглядным продолжением речи, и в таком виде позволяет лучше организовать обмен информацией.

В каких-либо случаях необходимо знать, от кого пришло сообщение. С этой целью можно назначить подписи в информационный канал. Для того чтобы включить данную функцию, в настройках канала требуется выбрать пункт «Sign Messages» (подписи сообщений). Тогда все сообщения будут подписываться вашим ником.

Итак, для смены подписи жмем на названии канала, заходим в меню настроек в правом верхнем углу и выбираем пункт изменить:
Заходим в меню настроек канала
Далее выбираем функцию «Подписывать сообщения:
Включаем отображение подписи в настройках канала

В настройках указываем/редактируем логин, тип канала (приватный, общий). При необходимости канал удаляем.

Общее меню настроек канала

А так выглядят подписанные сообщения (Админ Иванович):

Итоговый вид подписанного сообщения

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

При корпоративном использовании можно добавлять в чат дежурных администраторов (как и ботов) и менеджеров, и в этом плане Telegram заменяет техническую поддержку. Умное приложение значительно облегчает общение с клиентами, ускоряя обмен информацией. Для сравнения – вспомните, каково, в среднем, время общения с администрацией через тикеты.

Еще по теме:  Как накрутить живых подписчиков в Телеграмме

Большим преимуществом Telegram становится открытый программный код, функции которого при желании можно назначить под текущие задачи. Например, можно внести изменения в отображении чатов (в списке они отображаются слишком крупными), сжав их до ленты или доработать поиск внутри чата Telegram, сделать возможность отметить все чаты прочитанными, назначить группу по чатам, установить смену сортировки при поиске и многое другое.

Все вопросы по работе с приложением, примечания и пожелания по улучшению вы можете оставлять в комментариях к данной статье.

Источник: telegramzy.ru

Как открыть доступ к сообщениям боту в телеграмме

Итак, мне удалось через doPost получить данные. Теперь их надо немного изменить для последующей обработки и передавать дальше.

doPost(e)

// основная функция, которая обрабатывает входящие данные от телеграма function doPost(e)< const main = JSON.parse(e.postData.contents); // получаем данные из телеграм бота // вытаскиваем все данные из contents const chatId = main.message.chat.id; const firstName = main.message.chat.first_name; const lastName = main.message.chat.last_name; const messageText = main.message.text; const arrayText = messageText.split(» «); // массив для последующей обработки команд const detailsArray = [chatId, firstName, lastName, messageText, arrayText]; //собираем все что выше массив const objToTransfer = Object.assign(<>, detailsArray); // делаем из массива объект для передачи analyseDetails(objToTransfer); //вызываем функцию для дальнейшей обработки того, что пришло >

Первую часть с JSON я описывал ранее.

Далее я беру по ключу объекта его значение и самое важное тут chatId = main.message.chat.id;

Это уникальный айди пользователя, общающегося с ботом.

Далее я собираю все это в массив, на основе которого создаю объект при помощи Object.assign(<>, detailsArray)

В чем прелесть Object.assign так это то, что созданный объект имеет вид: .

Далее созданный объект я передаю в функцию analyseDetails

analyseDetails(obj)

function analyseDetails(objReceived) < // анализ того, что пришло со стороны телеграма const receivedCommand = objReceived[4][0].toLowerCase(); // «4»: [«/list», «», «» и тд] switch(receivedCommand)< //если пришла команда case ‘/start’: sendStartMessage(objReceived); break; case ‘/help’: sendStartMessage(objReceived); break; case ‘/join’: setNewUser(objReceived); break; case ‘/list’: sendList(objReceived); break; default: // если пришло что-то отличное от команды onModer(objReceived); break; >>

Case /start и /help

function sendStartMessage(obj) < const userId = obj[0]; //Юзер id const startMessage = ` Привет! nn В своей базе я храню данные по срокам предоставления налоговых и бухгалтерских отчетов и деклараций. За $дней до окончания срока я высылаю уведомление об этом.nn Чтобы я смог присылать такие уведомления Вам, отправьте команду /joinnn Чтобы получить список деклараций и сроков их подачи в ближайший квартал, отправьте команду /listnn Если Вам необходимо добавить в базу недостающие сроки подачи деклараций, отправьте мне сообщение в виде «Дата: Декларация» и я передам его на модерацию` sendMessage(userId, startMessage); >

Obj — это тот объект, что приходит из doPost в analyseDetails и далее из него идет на все команды

sendMessage — основная функция, передающая что-либо в телеграм

sendMessage( chatid, chatText)

Вся информация по методу детально описана здесь — https://core.telegram.org/bots/api#sendmessage и повторять ее нет никакого смысла

// базовая функция для отправки сообщения в телеграм с «сервера» function sendMessage(chatid, chatText) < const chatId = chatid; const text = chatText; const payload = < «method»: «sendMessage», «chat_id»: String(chatId), «text»: text, «parse_mode»: ‘HTML’, «disable_web_page_preview»: true >; const data = < «method»: «post», «payload»: payload >; UrlFetchApp.fetch(telegramUrl, data); >

UrlFetchApp.fetch(telegramUrl, data); — передает данные со стороны гугл таблиц на телеграм

Case /join — setNewUser(obj)

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

function setNewUser(obj) < const userId = obj[0]; //Юзер id const userArr = wsUsers.getDataRange().getValues() // получаю массив массивов c пользовательскими id const flatUserArr = userArr.flat() // делаю его обычным массивом для последующего indexOf const userIsHere = flatUserArr.indexOf(userId) // делаю проверку наличия записи пользовательского ID if(userIsHere !== -1)< // если такой пользователь уже есть sendMessage(userId, «Пользователь уже есть в моей базе «) >else < // добавляю нового пользователя wsUsers.appendRow([userId]) // appendRow — каждая ячейка это массив sendMessage(userId, «Пользователь был успешно добавлен.nВ ближайшее время ждите рассылку!») >>

Функция setNewUser() проверяет наличие записанного пользовательского id на листе «Users» и если такого айди там нет — записывает его через wsUsers.appendRow([userId])

Case /list — отправка списка деклараций к подаче в ближайшие 90 дней

// для выполнения /list — список подаваемых деклараций на ближайшие QUARTER дней function getQuarterList() < const today = new Date() // сегодня const quarter = new Date() quarter.setDate(today.getDate() + QUARTER) // сегодня + QUARTER дней const allArr = wsDb.getDataRange().getValues() // массив со всеми датами и декларациями const filteredArr = allArr.filter(row =>(new Date(row[0])) > today (new Date(row[0])) < quarter) // выбираем записи которые больше чем сегодня и меньше чем через QUARTER дней const beautyArr = filteredArr.map(row =>[(row[0].toLocaleString().split(‘,’)[0]) + » : » + row[1]]) // причесываем для последующей конвертации в текст const arrToText = beautyArr.join(‘n’) return arrToText > // послать список подаваемых деклараций на ближайшие QUARTER дней function sendList(obj)< const userId = obj[0]; //Юзер id const text = getQuarterList() // данные к подаче на ближайшие QUARTER дней sendMessage(userId, text); >

Еще по теме:  Какое описание можно сделать в Телеграмме

getQuarterList — выбирает весь список данных и фильтрует их между датами сегодня и сегодня + 90 дней

sendList — посылает список пользователю

Case default — когда приходит что угодно

// если пришло что-то отличное от команды — отправить администратору бота function onModer(obj) < const userId = obj[0] const userName = obj[1] const userSurname = obj[2] const userMessage = obj[3] const text = `Пользователь $$ с ID $ послал на модерацию сообщение: $` sendMessage(ADMIN_ID, text) >

Функция отправляет «что угодно, отличное от пришедших команд» администратору ADMIN_ID на модерацию

И последняя часть — «серверная»:

Отправка боту «списка приближающихся сроков» по триггеру

// Фильтрованный массив с датами в текст function filteredArrToText()< const filteredArr = filteredDaysArr(); // фильтрованный массив const beautyArr = filteredArr.map(row =>[row[0]+» : » +row[1]]) // «причесанный» фильтрованный массив const textFromArr = beautyArr.join(‘n’) // массив в текст с разделителем новой строки для отправки в телеграм return textFromArr > // Для ежедневного триггера — проверка на наличие отправки function checkerToSend() < const text = filteredArrToText() // что сегодня рассылать — текст из фильтрованного массива if(text.length !== 0)< // если длина текста не равна 0 — т.е. там есть что отправлять const userArr = wsUsers.getDataRange().getValues() // получаю массив с пользовательскими id — кому идет рассылка for(let elem of userArr)< // для каждого элемента массива с пользовательскими id let messageText = ` Через $дней срок подачи:n` sendMessage(elem, (messageText + text)) // отправка сообшения > > >

checkerToSend вешается на триггер по дням и если длина text собранного из filteredArrToText не равна 0, т.е. когда там есть текст — отправляется на всех пользователей из wsUsers.getDataRange().getValues()

Вам также может понравиться

Гугл календарь и напоминания в школьную телеграм группу

Быстрый анализ данных при помощи «тепловой карты»

GAS + Vue: Интранет справочник сотрудников, часть 2 — frontend

У этой записи 9 комментариев

Егор Караваев 08.12.2021 Ответить

Тоже делаю что-то подобное с ботом. Передачу любого текста из таблицы боту и обратно освоил, но никак не могу настроить передачу картинок через sendPhoto.
Допустим, хочу отправлять боту pie chart в виде картинки. Приходится сохранять сначала на google drive, а оттуда уже по URL отправлять в телегу. Но проблема в том, что URL меняется и в итоге отправляется один и тот же файл. При этом с отправкой картинки на gmail все работает как надо. Были похожие задачи? function createPieChart() < var parents = DriveApp.getFileById(«1tQzMwEtPeFLx….6SfJ_BMcbb4-Y7FQY»).getParents();
var folder = parents.hasNext() ? parents.next() : DriveApp.getRootFolder(); var sheet = SpreadsheetApp.openById(«1tQzMwEtPeFLxMx….bH6SfJ_BMcbb4-Y7FQY»).getSheetByName(«Settings»);
var totalChartLabels = sheet.getRange(«A2:A28»);
var totalChartValues = sheet.getRange(«D2:D28»); var totalsChart = sheet.newChart()
.setChartType(Charts.ChartType.PIE)
.addRange(totalChartLabels)
.addRange(totalChartValues)
.setMergeStrategy(Charts.ChartMergeStrategy.MERGE_COLUMNS)
.setPosition(6,7,0,0)
.setOption(‘legend.position’, ‘bottom’)
.setOption(‘pieSliceText’, ‘value-and-percentage’)
.setOption(‘width’, 300)
.setOption(‘height’, 300)
.setNumHeaders(1) var blob = totalsChart.build().getBlob(); //Email
//sendMail(blob); //Google Drive
folder.createFile(blob); //Telegram
sendChart(adminID);
> function sendChart(id) var url = telegramUrl + «/sendPhoto?chat_id=» + id + «
var response = UrlFetchApp.fetch(url);
>

Добрый день!
Вам в коде нужно дать доступ к файлу другим системам (а не только вам) и еще получить урл:
const resultURL = resultFile.setSharing(DriveApp.Access.ANYONE, DriveApp.Permission.VIEW).getUrl()

function getPicture() < const chart = ws.newChart()
.asColumnChart()
.addRange(ws.getRange(‘A1:B7’))
.setMergeStrategy(Charts.ChartMergeStrategy.MERGE_COLUMNS)
.setTransposeRowsAndColumns(false)
.setNumHeaders(-1)
.setHiddenDimensionStrategy(Charts.ChartHiddenDimensionStrategy.IGNORE_BOTH)
.setPosition(9, 1, 448, 1)
.build(); const chartBlob = chart.getBlob()
const resultFile = DriveApp.createFile(chartBlob)
const resultURL = resultFile.setSharing(DriveApp.Access.ANYONE, DriveApp.Permission.VIEW).getUrl() console.log(resultURL)
>

Григорий 04.04.2022 Ответить
Евгений 10.08.2023 Ответить

Дмитрий, полезная статья, благодарю!
Подскажи, плиз, а при рассылке сообщений не нужно учитывать лимиты телеграм на отправку 30 сообщений в 1 сек? Если, например, пользователей в массиве на отправку будет 300 человек.
В коде только цикл.
for(let elem of userArr) < // для каждого элемента массива с пользовательскими id
let messageText = ` Через $ дней срок подачи:n`
sendMessage(elem, (messageText + text)) // отправка сообшения
> Или тут как-то по-другому работает? Если не сложно, поясни плиз ;)))

Привет.
Спасибо за очень хороший вопрос.
Учитывать конечно нужно. Равно как и учитывать квоты самого гугла (я об этом тоже уже много раз писал) — 300, кстати, гугл пропустит.
Тут 2 пути:
1) Гугловый — использовать Utilities.sleep() — когда скрипт засыпает на указанное количество миллисекунд. Немедленно переводит скрипт в спящий режим на указанное количество миллисекунд. Максимально допустимое значение — 300 000 (или 5 минут). То есть можно принудительно ограничить количество отправок за определенный интервал времени
Можно сделать массив рассылки сообщений пользователей и через каждые 30 сообщений — засыпать.
2) Телеграмовый — просто создать группу в которой находятся хоть 300 хоть 3000 пользователей и туда завесить бота. Бот будет слать всего лишь одно сообщение в группу (id которой начинается со знака «-«) и оно будет видно всем пользователям. В целом гугл скрипт в связке с таблицами (или firebase) по работе с телегой — далеко не самое лучшее решение, когда количество пользователей начинает расти по экспоненте. Но он бесплатный, остальные же варианты — стоят денег. Именно поэтому я использую второй путь, через группы телеграма.

Еще по теме:  Как пробить телефон по номеру машины через Телеграмм

Евгений 11.08.2023 Ответить

Дмитрий, спасибо за такое подробное пояснение!
Да, про второй вариант тоже думал, что можно так делать. Именно интересовал вариант «Гугловый » :)))
А так да, гугл скрипт + телеграм бот — есть понимание, что для очень большого количества пользователей не гууд. Но для себя и небольшой базы, думаю самое то:) Еще такой вопрос возник: вот например я использую 1 вариант и ставлю выполнение скрипта на паузу, всё это зацикливаю. Отправилась порция, пауза, отправилась порция, пауза и т.д. Как по лимитам гугла это будет? Пока скрипт «спит» — не идет серверное время? Время исполнения считается? Или как?
Вопрос к тому, что, например, есть база в 3 000 чел. настроил на отправка 30 / пауза. Это 100 пауз. Не будет такого, что на 25 или 45 цикле выполнение остановится и все, дальше не пойдет?

Источник: dmitriizhuk.ru

Как общаться с ботом в Телеграме: способы пользоваться и добавить в друзья

FAQ

Автор fast12v0_steleg На чтение 6 мин Просмотров 791 Опубликовано 06.01.2020

«Телеграм» – это один из самых популярных кроссплатформенных мессенджеров. Пользователи ценят его за высокую скорость отправки сообщений, интуитивно понятный интерфейс, строгие стандарты безопасности данных. Еще одним преимуществом веб-сервиса считается наличие ботов-помощников, которые могут выполнять вместо пользователей разные рутинные задачи.

Предназначение и возможности ботов в Telegram

Ботами называются специальные программы, разработанные для автоматизации тех или иных функций. Обычно такие системы используются субъектами бизнеса для продвижения товаров или услуг. В этом случае чат-боты отвечают на вопросы потенциальных клиентов об ассортименте и ценах предлагаемой продукции, условиях сотрудничества с фирмой.

Работа с ботом в Telegram

Программы также могут:

  • искать нужную информацию в сети;
  • скачивать видео-, аудиофайлы;
  • заказывать и оплачивать товары на разных торговых площадках (в том числе на Алиэкспресс);
  • подписываться на каналы по интересам;
  • участвовать в групповых чатах;
  • править тексты (расставлять абзацы, подчеркивать или зачеркивать отдельные слова);
  • создавать опросы, голосования;
  • регулярно предоставлять сведения о погоде, курсе валют;
  • присылать выписки из ЕГРЮЛ;
  • совершать международные звонки;
  • делать прогнозы для ставок на спорт.

Роботы даже способны производить операции по продаже и покупке биткоина, других криптовалют.

Пользователи добавляют ботов в разные группы, делятся ими с друзьями.

Принцип работы помощника

Каждый автобот действует в соответствии с определенным алгоритмом, в котором заложен перечень конкретных объектов и команд. От этого алгоритма зависят функциональные возможности программы.

Робот постоянно мониторит чат и моментально реагирует на активность пользо-вателя. Сразу после того, как участник беседы отправит сообщение или нажмет на кнопку, система анализирует код его запроса, определяя текущую потребность. Результаты работы программы обрабатываются при помощи API-команд, после чего ответ выводится на экран.

Обратите внимание! Автобот функционирует не на основе искусственного интеллекта, а посредством генерации подходящего ответа из готовой базы.

Детальная инструкция видна на видео:

Как работать с ботом

Общаться с ботом предстоит в телеграм стандартных чатах. Подписаться на бота можно в телеграме без установки дополнительного программного обеспечения.

Поиск

Существует 2 способа поиска автоботов:

  1. По функциональному назначению.
  2. По имени.

К примеру, пользователю необходима программа, которая поможет ему зарабатывать в интернете. В этом случае в строку поиска нужно ввести слово «заработок». Telegram сразу же выдаст список подходящих систем.

Если же абонент знает полное имя робота, он должен указать его в поисковом запросе.

Пользователи также могут выбирать автоботов из специальных каталогов. В подборках присутствует функция поочередного добавления систем к списку контактов «Телеграма».

Установка

Как работать с ботом в Телеграме

После выдачи мессенджером перечня роботов следует кликнуть по названию нужной программы и запустить ее, нажав на соответствующую кнопку.

Теперь приложением можно свободно пользоваться.

Рейтинг
( Пока оценок нет )
Загрузка ...