Что такое Telegram ext

Я уже писал ранее, что Notion выпустили свое API и я написал интеграцию с Telegram (подробнее тут) и я был несказанно рад этой новости! Писал я про это уже 4 месяца назад и я, сразу-же, сделал себе на коленке небольшого бота, который ставит мне задачи и через которого другие люди также могут ставить мне задачи.

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

Видео-версию можно увидеть на моем YouTube.

Но я для себя заметил, что добавление задач отнимает много времени — зайти в notion, открыть нужную доску, дождаться пока загрузится страница, добавить задачу. Разумеется, мой ленивый разум быстро нашел в этом причину чтобы не вести задачи. Но потом появилось API и я быстро накидал себе бота, который добавляет задачу на каждое сообщение в Telegram.

В рамках данного поста я поделился своим способом достижения этого результата на Typescript.

3 Python Telegram Bot API | Echo , Send , Callback , Options

Первая версия бота

Первое, что я сделал с его появлением — простого Telegram бота, через которого мне можно ставить задачи. Работает он простым образом:

  1. Я пишу Telegram боту любой текст
  2. В notion, в моем списке задач, создается карточка, в названии которого лежит текст сообщения
  3. В ответ бот присылает мне оповещение о том, что задача создана и передает ссылку на карточку
  4. Также боту может написать человек, которому я дал право ставить мне задачи. Это тоже приводит к созданию карточки задачи с пометкой автора задачи.
Еще по теме:  Девушки оцениваю парней Телеграм

Дальше этого бота расширять можно сколь угодно много. Но сегодня мы с вами сделаем простую базовую версию.

Подключение к Notion API

Для начала нужно получить token для работы. Сделать это можно по инструкции здесь. Также опишу этот процесс здесь:

  • notion.so/my-integrations переходим по этой ссылке
  • Нажимаем New Integration

  • Придумываем название интеграции

  • Попадаем на страницу с вашим токеном

Дальше этот токен можно скопировать кнопкой Copy и использовать его в своем приложении.

Создаем базу данных задач

Дальше нужно в любом удобном вам месте в Notion создать базу данных с Kan Ban представлением, добавить поля статуса и источника задачи. Или можете просто скопировать мой тестовый список задач и использовать его как шаблон.

Отлично! Теперь у нас есть база задач, которую вы можете наполнять руками через Notion! Но мы здесь с вами не для этого. Теперь нам необходимо настроить интеграцию между notion и telegram ботом.

Introduction to Python Telegram Bot

Заготовка Telegram бота на typescript

Я подготовил проект, в котором реализовал базовую логику интеграции. Вы можете посмотреть его код на GitHub (версия 0.0.1). Внутри есть readme.md, в котором описано как запускать бота, а я пройдусь по основным моментам работы интеграции.

Базовая инициализация бота

const bot = new Telegraf(process.env!.TELEGRAM_BOT_TOKEN) const telegramownerid = Number(process.env!.TELEGRAM_OWNER_ID) const allowTelegramIds = process.env!.TELEGRAM_ALLOW_IDS.split(‘,’).map(e => Number(e)) console.log(< allowTelegramIds, telegramownerid >) bot.start((ctx) => ctx.reply(‘Welcome’)) bot.on(‘message’, async function (ctx: Context)

В рамках данной инициализации мы используем следующие переменные:

Обработка входящего сообщения

Сообщение, которое мы отправляем боту, приходит на наш сервер в виде объекта Context, у которого есть поле message с полями:

  • id сообщения
  • текст сообщения
  • информация об отправителе: имя, username и, самое главное, id
Еще по теме:  Зарегистрировать Телеграм на котэ

Разумеется есть много чего еще, но нам достаточно этого набора полей.

Подготовка объекта на отправку в notion

Для отправки задачи в Notion мы создаем объект

На 3 строчке есть переменная taskDb , туда нам необходимо разместить ID вашей базы данных. Получить её можно из ссылки. Где её взять можете увидеть из скрина ниже.

На 23 строчке в примере в переменную tgAuthor , в моем примере, подставляется username пользователя, чтобы потом можно было сообразить. Также можно увидеть другие поля в этом объекте:

  • Name — название задачи,
  • TGAuthor — автор задачи,
  • Status — статус, в который мы отправляем задачу. В нашем примере это Backlog,
  • Source — источник задачи. Проставляем Telegram.

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

Обработка сообщений от других пользователей

В первой же версии я захотел сделать так, чтобы мне могли ставить задачи другие люди. Для решения этой задачи я добавил в env переменные значение TELEGRAM_ALLOW_IDS, где, через запятую, перечислил идентификаторы Telegram пользователей, которые могут ставить мне задачи.

Когда они ставят мне задачу бот также создает задачу в Notion и оповещает меня о том, что кто то осчастливил меня новой задачей.

Вместо заключения

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

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

Если вам интересны темы интеграции с Notion, то предлагаю прочитать пост про интеграцию Notion с Google Calendar

Еще по теме:  Лучшее на Озон Телеграм

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

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