Подключение телеграм бота к гугл таблицам
Это мой первый пост на этой площадке, целью которого является погружение в коммьюнити для обратной связи и полезных ремарок относительно этой статьи. Также буду рада, если эта статья станет полезной для начинающих свой путь в написании ботов людей 🙂
За последний год я узнала об интересном способе автоматизации бизнес-процессов, которая достигается комбинацией гугл-таблиц и телеграма. Такие задачи как учет финансов, тайм-менеджмент, пересылка событий, сообщений, уведомлений и т.п. легко решаются с помощью бесплатного инструментария гугла и телеги.
Далее речь пойдет о создании первого бота и написании скрипта в Apps Script. Поехали!
Создание телеграм-бота
Откуда вообще берутся боты в телеграме? Опытному пользователю можно пропустить это пункт, ну а новичкам настало время познакомится с @BOTFATHER
Находим отца всех ботов в поиске телеги и видим, что этот бот вообще из себя представляет.
После старта этого бота мы увидим список команд.
Здесь нам нужна команда /newbot, чтобы создать нашего первого бота.
Порядок действий незамысловатый: создаем бота помандой /newbot, даем ему вменяемое имя и задать ему username с обязательным окончанием bot. В результате получаем API токен нашего бота, который и будем дальше использовать.
Можете проверить работоспособность созданного бота перейдя по следующему URL:
https://api.telegram.org/bot2011183802:AAEW7ZNRVvlr1TG1N0DNkRB9G4FmvkBUUUU/getMe
выделенное жирным замените на апи своего бота
Запрос вернет примерно это:
Подключение гугл-таблицы
Переходим к гугл табличкам и создаем новый док.
Нам нужен пункт меню Инструменты/Tools -> Редактор скриптов/ Script editor.
Должно получиться вот это:
Затрем скрипт и напишем свой на языке JavaScript. Дополнительно в скрипте могут быть использованы инструменты гугла (классы, методы и т.п.), что мы далее и рассмотрим.
Начнем с объявления глобальных переменных. У нас их будет только две — API бота и App_link.
Напомню, что АПИ бота мы получили в диалоге с botfather.
Далее напишем функцию send, которая будет отправляет сообщение в чат с нашим ботом.
Функция send() отправляет запрос для общения со строними приложениями, в нашем случае — с телегой. Подробнее в документации Class UrlFetchApp.
Аргументы функции — текст отправляемого сообщения и ид чата, в которое это сообщение отправляется.
Далее нужно предусмотреть механизм запуска функции send() . Осуществим это из тела другой функции doPost():
Это стандартная функция при работе с телеграм ботами, в которую зашиваются ответные действия от бота при отправке сообщения в чат с ним.
Здесь мы сравниваем текст полученного ботом сообщения с текстом «/hello» и вызываем функцию send() при совпадении. Это все действия нашего бота.
Сначала сохраним скрипт и задеплоим проект. Кликаем на кнопку Deploy -> New deployment.
В результате откроется окно New deployment, где нужно кликнуть по шестеренке и выбрать Web app.
В поле Who has access выбираем Anyone, что позволит другим пользователям вносить правки в проект и деплоить без вашего участия.
И кликаем Deploy.
При первом запуске приложение попросит авторизации. Проделываем это упражнение.
Здесь нам нужен URL в самом конце. Копируем его по кнопке Copy и вставляем в качестве значения глобальной переменной App_link, значение для которой мы оставили изначально пустым.
Создадим функцию установки вебхука для получения обновлений от нашего бота.
Добавим следующий код к нашему скрипту:
function api_connector () < UrlFetchApp.fetch("https://api.telegram.org/bot"+API+"/setWebHook?url full-width ">
Если функция выполнилась без ошибок, идем проверять работу нашего бота непосредственно в телеге.
Сообщение «/hello» успешно распознано, на что наш бот ответил «Hello world».
Отправить изображение из Google Таблиц (Google Диск) в Telegram-бот
Я пытаюсь отправить диаграмму изображений из Google Таблиц в Telegram. Я сохраняю диаграмму изображений на Google Диск, а затем отправляю ее в чат Telegram (помогая этому моему боту Telegram).
Если я отправлю ссылку с Google Диска на телеграмму таким образом: сначала попробуйте:
Это результат первой попытки: Первая попытка — это плохо: я хочу видеть только изображение в телеграм-чате — без ссылок.
На этом сайте я нашел решение этой проблемы (извините, я потерял ссылку): используйте Google Docs с file_id с Google Drive. Идентификатор файла при установлении связи между «/ d / file_id / view». Чтобы подтвердить это решение, я взял идентификатор другого файла на Google Диске и объединил его:
1 ответ
Когда я увидел ваш скрипт, я подумал, что созданный файл образа не может быть общедоступным. Я подумал, что это может быть причиной вашей проблемы. Так как насчет следующей модификации?
Как в Telegram отправить файл?
В Телеграм (Telegram) можно отправлять не только фотографии, видео, музыку, но и текстовые документы и другие типы файлов.
Для отправки в любом случае нужно сначала нажать на скрепку.
Появится вот такое меню:
Фактически будет 3 варианта:
1) По умолчанию предлагается выбрать изображение или видео, которое отображается в "Галерее". Выбирать можно несколько файлов одновременно, просто отмечаем нужное с помощью кружочков. И для отправки потом жмём на "Самолётик".
2) Есть отдельная кнопка для отправки музыки, то есть можно скинуть собеседнику(ам) какие-то песни, хранящееся в вашей музыкальной библиотеке.
3) А для отправки офисных документов (docx, xls, pdf) или каких-то других типов файлов потребуется нажать на кнопку "Файл". Только нужно хотя бы примерно знать, где это всё хранится на устройстве.
Выбираем "Внутреннее хранилище":
Затем выбираем нужную папку. Например, "Download".
И в этой папке отмечаем галочками файлы, которые требуется отправить.
Жмём на "самолётик" для отправки.
Теперь о том, как отправить файл в Телеграм с компьютера.
1) Сначала также выбираем чат и жмём на скрепочку.
2) Сразу откроется диалоговое окно для выбора файлов. Если вы хотите отправить сразу несколько файлов, то для их выделения используйте зажатую клавишу Ctrl (но это работает в пределах одной папки).
3) После того, как вы выберите файл, появится вот такое окно:
В нём можно написать подпись, в том числе со смайлами.
И в итоге для отправки жмём на "Отправить", если передумали — то соответственно нажимаем на кнопку "Отмена".
Для отправки открываем телеграм, пролистываю диалоги и выбираем нужный контакт. Жмем кнопку скрепки выбираем папку где хранится файл, отмечаем его и жмём отправить.Можно задействовать облачное хранилище, например Google drive, для отправки жмем Отправить копию далее телеграм
В Телеграме действительно можно поделиться разного рода файлами.
Можно отправить обычные картинки и фото, можно переслать видео файлы.
Чтобы это сделать, необходимо открыть чат с собеседником, которому хотите отправить. Рядом с полем для ввода сообщения есть значок "скрепка". Нажмите на него, после чего откроется ваша галерея, где будут файлы вашего устройства. Можно выбрать файл и нажать на значок "самолетик", он синего цвета, расположен внизу.
Также можно открыть нужный файл непосредственно в телефоне. Нажать на него и немного удержать. Появится меню, где можно выбрать возможные действия с этим файлом. Выбрать "поделиться". Всплывут значки мессенджеров, через которые можно отправить файл. Выбрать голубой самолетик — значок Телеграма. Далее выбрать пользователя, которому хотите отправить. Отправить файл.
Относительно недавно в мобильном приложении телеграмм появилась возможность отправлять собеседнику помимо фото, видео и музыки еще и файлы. К сожалению на данный момент к отправке доступны только файлы офисных приложений такие как ворд, эксель, файлы с расширением txt, pdf и еще пару форматов. Для того чтобы отправить файл через телеграмм вам нужно открыть чат и нажать на эмблему скрепки в правом нижнем углу, как если бы вы хотели отправить фото затем выбрать пункт "файл" и далее указать файл который нужно отправить при этом в проводнике отображаются только те файлы формат которых допускает его отправку (если фактически файл есть а в телеграмме он не отображается значит приложение не поддерживает отправку файлов данного типа).
Отправка файлов в Telegram
Телеграмм – это популярный мессенджер для обмена текстовыми и голосовыми сообщениями, а также медиафайлами в виде картинок, видео, аудио и документов, снимков местоположения.
Поэтому сегодня мы поговорим о том, как отправить файл в Телеграм. Рассмотрим особенности процедуры для разных операционных систем, подводные камни и способы достижения результата.
Какой максимальный размер отправляемых файлов
Для многих пользователей, после использования других мессенджеров, стало откровением возможность отправки в Телеграмме файлов размером до 1.5 ГБ.
Это звучит и правда здорово, ведь каждый сталкивался с необходимостью сжимать ролики для отправки или резать их с помощью встроенных возможностей на несколько частей.
Отправка файлов через мобильное приложение
В процедуре нет ничего сложного, да и особых различий между операционными системами iOS и Android OS нет. Поэтому рассмотрим единую инструкцию:
- Запускаем Телеграм и пролистываем перечень диалогов до нахождения нужного.
- Активируем иконку в виде скрепки в левом нижнем углу пользовательского окна.
- В выпадающем списке выбираем категорию передаваемого файла.
Используем облачное хранилище
Вы можете отправить файл не только из внутренней памяти смартфона, но и документы или медиа, хранящиеся у вас в облаке.
- Разблокируем смартфон и открываем клиент облака на рабочем столе или из меню приложений.
- Находим в облачном хранилище файл, который нужно отправить в Телеграм.
В чате появится ваш файл из облачного хранилища. В зависимости от его размера и скорости интернета на загрузку может потребоваться время. Когда ваш собеседник зайдет в чат и увидит файл он может его скачать на телефон, и в зависимости от типа файла, при попытке открыть его, запустится соответствующий инструмент. На нашем примере — это книга, при попытке открыть её система предлагает запустить советующую программу.
Отправка медиафайлов в компьютерной версии
Компьютерная версия Telegram, в отличии от большинства аналогов, полностью независима. Это значит, что вам не нужно синхронизировать ПК и смартфон для получения доступа к учетной записи пользователя.
Скачать ПК версию телеги можно на официальном сайте. Сама процедура установки не отличается от простых приложений.
Чтобы отправить медиафайлы пользователю:
- Запускаем Телеграмма на рабочем столе.
- Пролистываем список диалогов в левой части пользовательского интерфейса.
- Переходим в окно чата, активируем иконку в виде скрепки в левом нижнем углу программного интерфейса.
- Автоматически открывается Проводник, прописываем путь до сохраненного файла.
- Подтверждаем серьезность намерений и ждем завершения загрузки.
Заключение
Отправка медиафайлов в Телеграмме – это удобный вариант обмена пользовательской информацией с собеседниками, друзьями, коллегами по работе.
Сама процедура довольно проста в реализации, и практически идентична для всех операционных систем. Большинство пользователей радуется за возможность переслать человеку файл любого расширения весом до 1.5 ГБ, что на порядок больше, чем предлагают разработчики других мессенджеров.