Перейти к содержимому

Botapi co что это

  • автор:

Botapi co что это

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

Инструкция по требованию.
1. Анкета требования

Для удаления своих персональных данных из поисковых результатов, требуется заполнить «Анкету требования», которая находится ниже на данной странице по кнопке «Создать требование».

2. Создание требования

После нажатия кнопки «Создать требование», понадобится авторизоваться через Telegram бот Глаз Бога, чтобы мы закрепили за вами анкету. После авторизации вы будете перенаправлены на индивидуальную страницу с анкетой требования.

3. Заполнение требования

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

4. Отправка требования

После заполнения анкеты, нажмите на кнопку «Отправить требование». В случае удовлетворения требования, ваши персональные данные указанные в требовании будут удалены из поисковых результатов в течение 10 (десяти) дней.

© 2019-2024, Официальный сайт поисковой системы. Все права защищены.

Перечень источников информации: ГИБДД, ПФР, ФНС, Росстат, ЕГРЮЛ, ФМС, ФСПП, ФНП, ЕАИСТО, РСА, ЕФРСБ, ФСФМ, Росреестр, Центр раскрытия корпоративной информации, Фокус СКБ, Вконтакте, Facebook, Instagram, Одноклассники, Skype, WhatsApp, Viber, Avito, Youla (Юла), Из рук в руки – Irr.ru, Avto.ru, Циан, Яндекс, Google, Telegram, Mail.ru, Headhunter, Rusprofile, TrueCaller, Twitter, MTS, Билайн, Мегафон, Тинькофф Мобайл, Tele2, ICQ, GetContact, Foursquare, GitHub, Drive2.ru, Автокод.

Как стереть информацию о себе из популярных сервисов по сбору данных

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

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

Их есть несколько. Наиболее известные — Quick Osint и Глаз Бога. Также различные мошенники могут использовать Get Contact, FindClone, Google, Яндекс и даже ВКонтакте.

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

В Quick Osint, боте Telegram, чтобы удалить о себе информацию, нужно будет написать в поддержку. По сути своей, это бот, который собирает о вас всю информацию из открытых источников.

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

В Глазе Бога всё гораздо сложнее. Это наиболее известный бот, который к тому же недавно подключили к базе солярис. То есть найти человека там очень и очень легко.

Удалить свои данные оттуда нельзя, но можно сделать так, чтобы их никто не увидел. Для этого нужно перейти по ссылке https://botapi.co/law/demand/step , где нужно ввести о себе достоверную информацию, и среди причин удаления ставим иные причины. Далее в поле пишем, что информация устарела. Заявку примут за один день.

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

Для того, чтобы удалить номер, нужно зайти на сайт https://www.getcontact.com/en/manage , авторизоваться через ваш аккаунт в Telegram. После этого внизу страницы нужно просто выключить видимость по вашему номеру.

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

Чтобы стереть данные о себе из Google, в котором легко можно так же пробить ваше ФИО, нужно написать заявление по ссылке https://www.google.com/webmasters/tools/legal-removal-request?complaint_type=rtbf .

В Яндексе история похожая. Но там, чтобы удалить информацию о себе, потребуется паспорт. Работает это всё по российским законам, в частности «Права на забвение». https://yandex.ru/support/abuse/troubleshooting/oblivion.html

Во ВКонтакте найти вашу страницу можно легко, просто зная ваш номер. Для того, чтобы сделать это было нельзя, нужно перейти в «Настройки», выбрать там «Приватность», и после найти пункт там «Кто может найти меня по импорту контактов». Там выбираем вкладку «Никто».

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

Паттерны взаимодействия с ботами в Telegram: неочевидные практики на Python и баг в мессенджере

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

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

Дисклеймер. Автор не является специалистом по UX. Изложенные тезисы не претендуют на звание лучших практик, а скорее показывают опыт автора, приобретенный на практике.

Шаблон

Статья практическая, поэтому предполагает фрагменты кода, которые наглядно продемонстрируют описанный подход. Для демонстрации я буду использовать свой основной язык программирования — Python. Итак, список требований:

  • Python 3.9.
  • Пакет python-telegram-bot версии 20.0a2 (python -m pip install python-telegram-bot==20.0a2).
  • Созданный бот в Telegram и токен доступа. Для создания обратитесь к BotFather.

Фреймворк python-telegram-bot основан на обработчиках. Ядро получает обновления (Update) от Telegram Bot API и вызывает соответствующий обработчик из списка зарегистрированных. Если подходящего обработчика нет, то событие игнорируется.

Рассмотрим шаблон на примере простого echo-бота, который отвечает вашим же текстом.

import logging from telegram import Update from telegram.ext import * # Логирование logging.basicConfig( format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", level=logging.INFO ) logger = logging.getLogger(__name__) # Функция-обработчик async def echo(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None: await update.message.reply_text(update.message.text) # Создание объекта Бот application = Application.builder().token("здесь ваш токен").build() # Регистрация обработчика на текстовые сообщения, но не команды application.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, echo)) # Запуск бота application.run_polling()

Далее в примерах я буду приводить только функцию-обработчик и строку для регистрации обработчика.

После краткого введения приступим к обзору возможных взаимодействий с ботом. Бот — это программа, а программы должны исполнять команды. С них и начнем.

Команды

Команды в Telegram — это сообщения, начинающиеся со слэша (/). Примеры команд:

/start /subscribe@ExampleArticleBot

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

Команды — это хороший способ инициировать действие, так как список команд перечисляется в выпадающем меню чата с краткой справкой. При выборе команды сообщение отправляется незамедлительно. Это значит, что у команд не должно быть аргументов. Допустим, у нас бот в групповом чате с командой как на скриншоте выше, а команда принимает имя города через пробел. Таким образом, для получения погоды в Москве придется полностью напечатать следующий текст:

/weather@ExampleArticleBot Москва

Неудобно и отбивает всякое желание пользоваться ботом. Единственная команда, которая может получать аргументы, — это /start, и только при переходе по ссылке, которая выглядит следующим образом:

https://t.me/?start=

В этом случае у пользователя появится кнопка START, даже если пользователь уже активировал бота. При нажатии кнопки в чат отправится сообщение /start , но бот получит сообщение /start . Создадим обработчик аргументов команды start:

async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None: if update.message.text == "/start": await update.message.reply_text("Start without arguments") return # Удаляем /start arg = update.message.text[7:] await update.message.reply_text(arg) # Регистрация обработчика application.add_handler(CommandHandler("start", start))

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

Существенный минус команд проявляется в групповых чатах. Команды в отправленных сообщениях кликабельны, поэтому одна неосторожная команда может привести к лавине сообщений. Возможное решение — использование текста.

Текстовые сообщения

Специфичные команды можно представить в виде кодовых слов. Например, вместо /start запрограммировать бота реагировать на «Поехали!». Это отличное решение для ботов, которые в группах реагируют только на сообщения администраторов. Но есть в ложке меда бочка дегтя:

  • Документация по командам бота должна распространяться отдельно.
  • Программист должен учесть возможную вариативность сообщений.
  • Бот должен иметь модификатор «имеет доступ к сообщениям», что может снизить доверие к боту.

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

# Точка входа в диалог async def weather(update: Update, context: ContextTypes.DEFAULT_TYPE) -> int: await update.message.reply_text("В каком городе хотите посмотреть погоду?") return 1 # Обработка ответа async def show_weather(update: Update, context: ContextTypes.DEFAULT_TYPE) -> int: city = update.message.text await update.message.reply_text( f"Вы хотите посмотреть погоду в городе .\n" f"\n" f"Но я не умею показывать погоду, извините :(" ) return ConversationHandler.END # Задаем точки входа и ветви диалога handler = ConversationHandler( entry_points=[CommandHandler("weather", weather)], states=< 1: [MessageHandler(filters.TEXT & ~filters.COMMAND, show_weather)] >, fallbacks=[] ) application.add_handler(handler)

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

Если вас интересует тема Telegram-ботов, посмотрите, что у нас есть еще на эту тему:

Кнопки

ReplyKeyboard в действии

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

async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None: keyboard = [ ["Кнопка 1", "Кнопка 2"], ["Большая привлекательная кнопка кнопка"] ] await update.message.reply_text( "Какую кнопку будем нажимать?", reply_markup=ReplyKeyboardMarkup( keyboard, one_time_keyboard=False, input_field_placeholder="Ваш выбор?" ) ) application.add_handler(CommandHandler("start", start))

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

Если хочется разные действия для нескольких сообщений одновременно, то на помощь приходит InlineKeyboard — клавиатура под сообщением.

async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None: keyboard = [ [ InlineKeyboardButton("Кнопка 1", callback_data="button-1"), InlineKeyboardButton("Кнопка 2", callback_data="button-2") ], [InlineKeyboardButton("Большая привлекательная кнопка кнопка", url="https://habr.com/")] ] await update.message.reply_text( "Какую кнопку будем нажимать?", reply_markup=InlineKeyboardMarkup(keyboard) ) async def weather(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None: keyboard = [ [ InlineKeyboardButton("Санкт-Петербург", callback_data="LED"), InlineKeyboardButton("Москва", callback_data="SVO"), InlineKeyboardButton("Иркутск", callback_data="IKT") ] ] await update.message.reply_text( "Где хотите посмотреть погоду?", reply_markup=InlineKeyboardMarkup(keyboard) ) application.add_handler(CommandHandler("start", start)) application.add_handler(CommandHandler("weather", weather))

Кнопки встроенной клавиатуры разнообразны и могут содержать один из следующих элементов:

  • callback_data — строка для специальных обработчиков, рассмотрим подробнее позже.
  • url — ссылка на любой ресурс. Кнопка со ссылкой отмечается стрелкой в верхнем правом углу.
  • inline_query — запускает inline-режим в указанном чате с текущим ботом. Наиболее известный бот с inline-режимом — gif.
  • callback_game — ссылка на игру.
  • web_app — ссылка на WebApp-приложение, доступно только в личных сообщениях.
  • login_url — ссылка на аутентификацию в сервисе через Telegram.
  • pay — ссылка на оплату счета через кошелек в Telegram.

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

Максимальное количество кнопок под сообщением — 100, вне зависимости от компоновки. При превышении этого числа Telegram не выводит ошибку, но «лишние» кнопки не отображает.

Вернемся к обработке действия с callback_data. Нажатие на кнопку генерирует событие callback_query.

Обработка нажатия кнопки

async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None: keyboard = [ [InlineKeyboardButton("❤️", callback_data="like-trex")] ] await update.message.reply_text( "Нажми лайк, чтобы поддержать Тирекса!", reply_markup=InlineKeyboardMarkup(keyboard) ) async def query(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None: # Убираем кнопки await update.callback_query.message.edit_reply_markup(None) # Отмечаем, что мы обработали событие и выводим текст text = f"Спасибо, , что поддержал Тирекса!" await update.callback_query.answer(text, show_alert=True) application.add_handler(CommandHandler("start", start)) application.add_handler(CallbackQueryHandler(query))

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

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

В одной из следующих статей я расскажу о том, как сделал бота для массового заказа шавермы в Selectel. А пока вы можете подписать на бота компании — он рассказывает о предстоящих мероприятиях компании.

  • Блог компании Selectel
  • Мессенджеры
  • Python

Практики ChatOps с VK Teams (часть I): мини-аппы, таск-трекеры, Bot API

Всем привет! Меня зовут Макарий, я DevOps-инженер в команде кросс-платформенной инфраструктуры корпоративного супераппа VK Teams. Сегодня я расскажу, как мы применяем практики ChatOps в наших рабочих процессах.

ChatOps — модель организации работы и коммуникации внутри команды через общение, то есть через мессенджер. Такой подход объединяет разработчиков, DevOps-инженеров, QA-специалистов, инженеров поддержки, продуктовых менеджеров, аналитиков и других участников процесса в единую коммуникационную платформу. Я расскажу, как ChatOps помогает организовать работу команды: повышает производительность, ускоряет реагирование на инциденты, улучшает согласованность действий. Поделюсь успешными примерами внедрения принципов СhatOps на примере нашей команды VK Teams. Уверен, этот опыт откроет для ваc новые возможности, которые предоставляет ChatOps.

Кратко о ChatOps

Принципы ChatOps были сформулированы инженерами GitHub в 2013 году. За прошедшие десять лет этот подход получил широкое признание и нашел применение во многих организациях. Это говорит об актуальности и значимости принципов в современной разработке и управлении проектами.

ChatOps — это методология, в которой команды используют корпоративные мессенджеры и другие инструменты для обмена информацией, координации действий и автоматизации операций. Основные принципы ChatOps:

  • централизация коммуникации;
  • прозрачность операций ⟷ документирование и история;
  • автоматизация операций;
  • интеграция с инструментами и системами;
  • быстрая обратная связь ⟷ коллективная работа, совместный вклад.

Некоторые прикладные примеры использования мессенджера:

  • управление развертыванием приложений;
  • вывод уведомлений и логов в специальный чат;
  • управление задачами и проектами;
  • автоматизация рутинных задач.

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

Корпоративные мессенджеры и супераппы

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

Корпоративный мессенджер в контексте ChatOps должен обладать следующими функциями:

  1. Чат и групповые чаты: обмен сообщениями в режиме реального времени.
  2. Форматирование: Markdown и HTML для более структурированных сообщений.
  3. Обмен файлами, документами и другими ресурсами.
  4. Настраиваемые роли: права доступа.
  5. История и поиск сообщений: обсуждения, принятые решения, результаты.
  6. Уведомления и упоминания с форматированием: меншен конкретных пользователей и групп.
  7. Оргструктура: возможность найти коллегу по департаменту.
  8. Интеграции: связь с другими привычными инструментами и сервисами.
  9. Боты: выполнение важных рутинных задач, автоматизация.

Корпоративный суперапп в контексте ChatOps должен обладать следующими функциями:

  1. Управление задачами и проектами.
  2. Видеоконференции: возможность проведения созвонов, в том числе с внешними пользователями.
  3. Пользовательские интеграции: боты и мини-аппы.
  4. Цифровые ассистенты: предоставление информации, помощь в управлении.

Популярные решения для корпораций, объединяющие функции мессенджера и супераппа, — Slack, MS Teams и др. Каждое из них имеет свои особенности и уникальные функции, которые могут быть адаптированы под потребности конкретной организации.

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

Например, Slack предлагает Slack Apps, позволяя разработчикам создавать собственные мини-аппы и интегрировать их в рабочие пространства Slack. Это расширяет функциональность платформы и позволяет настроить приложение под конкретные потребности команды.

MS Teams предлагает Developer Portal и Teams Toolkit, что позволяет разработчикам создавать приложения, которые взаимодействуют с чатами, каналами, вкладками и другими функциональными возможностями платформы.

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

VK Teams

VK Teams является корпоративным супераппом, который предлагает широкий набор инструментов, реализующих методологию ChatOps.

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

Боты. Поддержка Bot API в VK Teams открывает широкие возможности для автоматизации операций. Боты могут выполнять рутинные задачи, отслеживать и отправлять уведомления о важных событиях, что позволяет командам сосредоточиться на более сложных и важных задачах и упрощает рабочий процесс.

Мини-аппы. В VK Teams можно создавать и добавлять свои мини-приложения под требования конкретного заказчика. Они доступны на всех платформах и интегрируются с другими сервисами — подробнее об этом в документации. Например, можно сделать мини-аппы для HR-команд.

Пример HR-мини-аппа «Отпуск»

Первыми мини-аппами стали сервисы, которые разрабатывает команда VK Teams и которые поставляются из коробки: «Задачи», «Календарь», «Почта», «Облако». Но сразу можно было наполнить VK Teams своими сервисами, характерными для каждой компании-клиента, например сервисами личного кабинета. За счет кросс-платформенности VK Teams интегрированный сервис становится доступен сразу на десктопе и мобильных платформах, а также в браузере.

Приложение VK Teams выступает в качестве браузера по отношению к мини-аппам. Интеграция мини-аппа состоит из этапов:

  • подготовка веб-сервера,
  • регистрация,
  • публикация.

Мини-апп «Календарь». Позволяет не покидать приложение для прямого взаимодействия с рабочим расписанием.

Мини-апп «Контакты». Позволяет найти коллег по командам для прямого контакта в VK Teams или добавления коллеги в групповой чат. Отражает состав и иерархию подразделений предприятия.

Мини-апп «Облако». Позволяет легко манипулировать файлами при взаимодействии с коллегами. Например, открыть «Облако» → выбрать файл → поделиться с коллегами. Или наоборот: открыть чат → выбрать файл из облака → поделиться с коллегами.

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

Видеозвонки. VK Teams поддерживает видеоконференции на 100 пользователей с возможностью подключения внешних участников. Это важный аспект ChatOps, позволяющий командам проводить совещания, обсуждать проблемы и принимать решения в режиме реального времени, способствуя оперативности и эффективности работы.

Цифровые ассистенты, чат-боты на основе ИИ — долгоиграющий тренд в современных бизнес-коммуникациях. Возможность добавить полноценного цифрового ассистента в VK Teams также позволяет централизовать коммуникацию и увеличить скорость обратной связи между командами разработки и, например, командами HR-специалистов. Мы используем ассистента #марусянаработе, который разработан на основе VK Assistant — диалоговой ИИ-платформы. Он понимает человеческую речь и переписку, может доставать информацию из корпоративных систем и обучается в процессе работы.

VK Teams поддерживает принципы ChatOps и предоставляет необходимые инструменты для их реализации. Сервис обеспечивает коммуникацию, автоматизацию задач и видеоконференции в рамках одной платформы, что позволяет внедрить ChatOps и повысить эффективность работы.

Трекеры задач

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

Jira ⟷ VK Teams

Интеграция и взаимодействие с Jira происходит с помощью Bot API и дополнительной настройки полей в самой инсталляции Jira. Для частных запросов можно реализовать свои небольшие решения. Также можно добавить «общего» бота с ответами на базовые запросы пользователей по взаимодействию с Jira. Примером такого универсального решения является использование Jira-бота. Подробнее о ботах в VK Teams расскажу в следующей главе.

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

Бот позволяет создать задачу прямо через чат:

Окно создания доступно через приветствие, которое вызывает команды

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

С помощью этой интеграции можно также:

  • создать для конкретной задачи чат в VK Teams,
  • создавать задачи в Jira из группового чата,
  • подписать себя или групповой чат на обновления по определенному Jira-фильтру.

Внутренний таск-трекер «Задачи» в VK Teams

Внутренний таск-трекер «Задачи» — удобный и универсальный помощник в планировании проектов. Этот раздел позволяет командам эффективно управлять задачами, координировать работу и отслеживать выполнение. Рассмотрим основные возможности раздела «Задачи» в контексте ChatOps.

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

Просмотр и поиск. Члены команды могут просматривать задачи либо из раздела «Задачи», либо прямо из чата. Это обеспечивает простой доступ к информации и позволяет быстро находить нужные элементы.

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

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

Фильтры, теги и приоритеты. Можно настроить фильтры для удобного просмотра задач, а также использовать теги и приоритеты для классификации и организации задач по важности и срочности.

Исполнение. Обеспечивает полный жизненный цикл выполнения задач. Исполнители могут получать уведомления, видеть бейджи в разделе «Задачи» и в обсуждениях (тредах), а также просматривать информацию о задачах в чате. Это обеспечивает прозрачность и своевременное выполнение.

Bot API в корпоративном мессенджере

Автоматизация операций возможна благодаря Bot API: готовые библиотеки позволяют каждому пользователю написать бот под свои задачи.

Bot API VK Teams

Чтобы создать бота, нужно постучаться к @Metabot и сгенерировать токен, а затем наделить бота подходящими свойствами. Далее необходимо написать код самого бота. Это может быть как простая отправка сообщений (вызов bash-скрипта по расписанию), так и более сложные программы.

Сейчас пользователям доступны три библиотеки, опубликованные для VK Teams Bot API:

  • Python3 (PIP),
  • Golang,
  • Java.

Создатель бота — тот, кто его зарегистрировал. Если человек увольняется, бот продолжает свою работу. Изменить создателя можно через администратора окружения. Можно настроить особые права для ботов: возможность написать первым или создавать групповые чаты. В мобильных клиентах VK Teams есть раздел «Интересное». Он содержит список чатов и ботов для конкретной инсталляции.

Примеры наших корпоративных ботов

Мы активно используем Bot API в наших процессах и разработали несколько корпоративных ботов. Вот некоторые примеры:

  • Regress-бот — собирает информацию по текущему дереву релиза в Jira и регулярно оповещает канал о прогрессе;
  • GitLab-бот — позволяет выполнять различные операции с проектами в корпоративном GitLab;
  • Build-бот — позволяет по нажатию кнопки запускать на TeamCity сборки в задачу;
  • Monitoring-бот — регулярно проверяет работоспособность удаленных машин, таких как билд-агенты и слейвы тестов, и предоставляет отчеты о состоянии;
  • Report-бот — создает задачи в Jira и прикрепляет к ним пересланные ему в личные сообщения файлы. Для определения к одной задаче нужно выбрать все необходимые файлы и текст и ответить на них с ключевым словом, на которое бот отреагирует;
  • Jira-бот — позволяет выполнять различные операции с Jira-задачами через простой интерфейс в диалоге с ботом;
  • Digest-бот — перед началом рабочего дня собирает актуальную информацию о проекте и отправляет в общий чат единое сообщение с полезными данными;
  • Incident-бот и Info-бот — мониторят Jira-задачи по заданным фильтрам и проектам и при добавлении новой оповещают соответствующие чаты;
  • Календарь-бот — заранее предупреждают о встречах и событиях.

Код бота

import smtplib import ssl from bot.bot import Bot from bot.handler import MessageHandler # Конфигурация бота bot = Bot(token='BOT_TOKEN', name='BOT_NAME', api_url_base='https://api.my-company.myteam.mail.ru/bot/v1/') def send_email(to, subject, text): message = f"""\ Subject: To: """ port = 465 smtp_server = "smtp.mail.ru" sender_email = "your.server@YOUR.MAIL" receiver_email = '' for user in to: receiver_email += f"," ext_application_password = "YOUR_PASS" context = ssl.create_default_context() with smtplib.SMTP_SSL(smtp_server, port, context=context) as server: server.login(sender_email, ext_application_password) server.sendmail(sender_email, to, message.encode("utf8")) def on_message_event(bot, event): raw_message = event.text.lower() chat_id_to_reply = event.from_chat if raw_message != 'send_email': return message = "" msg_from = event.message_author event_data = event.data data_parts = event_data.get('parts', []) for part in data_parts: payload_message = part['payload'][‘message’] part_msg_from = payload_message[‘from’][‘userId’] reporters.append(part_msg_from) message += f":\n\n\n" if message: send_email(to=["email.receiver1@mail.ru", "email.receiver2@mail.ru"], subject=f"Важное сообщение от ", text=message) else: bot.send_text(chat_id=chat_id_to_reply, text="Не получилось отправить") # Добавление обработчика сообщений bot.dispatcher.add_handler(MessageHandler(callback=on_message_event)) # Запуск бота bot.start_polling() 

Для запуска используйте команды:

pip3 install mailru-im-bot==0.0.20 python3 email_sender_bot.py 

Вот готовые решения для расширения ботов VK Teams:

  • Async Bot API wrapper,
  • Notifications plugin for Jenkins CI,
  • Github-action с отправкой сообщений/файлов,
  • Alertmanager Bot,
  • Ruby wrapper for VK Teams Bot API,
  • Node.js Bot SDK for VK Teams,
  • OCI container scanner,
  • Bitrise step to send build to VK Teams,
  • php VK Teams bot API wrapper,
  • Laravel logging,
  • onlineconf-bot,
  • Reminder Bot.

Также можно быстро затянуть к себе уже готовые решения из сообщества или размножить свое решение на несколько платформ благодаря кросс-платформенному Open-Source-фреймворку OpsDroid. О нем я расскажу во второй части статьи. Там мы рассмотрим интересный вариант расширения функциональности ботов — напишем коннектор между OpsDroid и VK Teams, а также реализуем бота, аналогичного рассмотренному выше. Только теперь он будет работать одновременно в нескольких корпоративных мессенджерах.

Заключение

Мы рассмотрели практики ChatOps и возможности их внедрения с помощью корпоративного супераппа VK Teams. ChatOps — это концепция, которая объединяет команды в едином пространстве коммуникации. Позволяет автоматизировать и упростить процессы, улучшить координацию и повысить прозрачность работы.

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

Взаимодействие с таск-трекерами через чат с помощью ботов и мини-аппов отлично демонстрирует фундаментальную важность принципов ChatOps — прозрачность коммуникации и быструю обратную связь.

VK Teams предоставляет мощный инструментарий для внедрения практик ChatOps в процессы предприятия. Мини-аппы, Bot API, встроенный таск-трекер, широкие возможности интеграции с привычными инструментами — все это поможет решить множество прикладных задач, связанных с ChatOps. Внедрение этих практик позволит командам эффективно сотрудничать и повысит качество и скорость работы над проектами.

Во второй части статьи я расскажу про OpsDroid в контексте VK Teams Bot API.

  • Блог компании VK
  • Управление проектами
  • Управление персоналом

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *