Будущее наступило: в рабочем чате отдела маркетинга одновременно находятся люди и боты У каждого ― собственные задачи. Например, бот Wall-e помогает маркетологам Ringostat следить за важными показателями ― каждый день по расписанию присылает в чат скриншот дашборда с данными из Google Analytics и CRM. Рассказываем, как создать и настроить бота-помощника, который возьмет на себя часть рабочей рутины.
Время чтения 10 минут
- Зачем нужен бот-отправлятор
- Создание бота
- Получение chat_id
- Настройка направления и расписания отправки
- Создание триггера
- Запуск бота
- Тестирование
- Возможные ошибки и проблемы
- Выводы
Зачем нужен бот-отправлятор
Многие отделы маркетинга и продаж ежедневно отслеживают ключевые показатели работы: количество посещений сайта, лидов, звонков, сделок. Например, маркетологи Ringostat создали дашборд, куда в режиме реального времени подтягиваются сведения из Google Analytics и CRM. Так нам не приходится собирать данные из разных систем вручную ― это происходит автоматически.
О том, как настроить дашборд мы написали в статье «Дашборд для отдела маркетинга: описание настройки и шаблон» . Но оставался еще один вопрос ― как настроить регулярную рассылку дашборда, чтобы всегда держать важные показатели под рукой? Раньше руководителю приходилось каждый день заходить в документ, делать скрин экрана и пересылать в группу. Но теперь эта задача поручена боту. Каждое утро сотрудники отдела маркетинга Ringostat получают о него скриншот дашборда со свежими показателями сайта и блога.
- берет заданный диапазон из Google Таблицы ;
- превращает в картинку формата JPG или PDF-документ;
- в определенные дни недели и часы отправляет изображение в Telegram ― лично пользователю или в групповой чат.
Боту можно поручить сбор и отправку данных из самых разных документов в Google Таблицах, например:
- для отделов маркетинга и продаж ― отчетов по трафику, лидам, звонкам, сделкам;
- для руководителя ― ежедневного плана задач от каждого менеджера и отчетов о выполненной работе;
- для менеджера ― выполнение метрик, ежемесячной «выписки» о зарплате.
Чтобы запустить такого бота, не обязательно быть программистом. Можно воспользоваться готовым скриптом, который разработан админами группы «Google Таблицы» . Подробную инструкцию по настройке и запуску бота можно найти в посте или прочитать ниже.
Получите больше лидов и прокачайте продажи
Повысьте эффективность рекламы с Ringostat и контролируйте, как менеджеры принимают звонки
Создание бота
Самый первый этап ― создание собственного бота.
Получение chat_id
Бот может отправлять изображения из таблиц:
Рассылка сообщений через Телеграм Бота | Python — Aiogram
- лично пользователю;
- в групповой чат.
ВАЖНО. Иногда chat_id содержит знак «-» вначале. Этот минус нужно копировать вместе с цифрами.
Настройка направления и расписания отправки
Готовый скрипт для запуска бота-отправлятора содержится в таблице . Скопируйте ее через «Файл» ― «Создать копию» и уже в собственном документе можете приступать к настройкам бота.
- Столбец А : укажите адрес Google Таблицы, из которой ваш бот будет брать данные для пересылки в Telegram.
- Столбец B : задайте лист и диапазон, который бот должен захватить в скриншот. Например: Лист1 | A1:A10.
- Столбец С : перечислите через запятую все chat_id, на которые бот должен отправлять указанные вами выше данные из Google Таблицы.
- Столбец D : напишите сопроводительный текст, которым бот будет дополнять каждое сообщение. Например: «Маркетологи, это наши результаты на сегодня» или «Григорий, это ваша зарплата».
- Столбцы Е и F : задайте дни недели и часы, в которые бот должен слать пользователям данные из Google Таблицы. Например, если получать сообщение нужно дважды в день в рабочие дни, в столбце Е укажите дни 1;2;3;4;5, а в столбце ― часы 9;18.
- Столбец G: укажите желаемый формат изображений ― JPG или PDF. Картинку в формате JPG намного удобнее открывать прямо в чате Telegram, но изображение сжимается и становится «мыльным». Если исходный документ содержит много цифр или текста мелким шрифтом ― прочесть его сложно. Картинку PDF придется скачивать и открывать через стороннее приложение, зато изображение останется четким.
- Столбцы H и I : заполняются автоматически. Первый столбец содержит дату и время последней отправки, второй ― показывает отчет о возникших проблемах.
- Столбец K : внесите токен вашего бота, который получили от BotFathe.
ВАЖНО: если ячейка содержит несколько разных данных, например, несколько chat_id, дней недели, часов ― удалите между ними пробелы. Данные должны быть разделены между собой только знаками ― запятой или точкой с запятой. В противном случае бот не сработает.
Создание триггера
- В документе со скриптом заходите в «Инструменты» ― «Редактор скриптов».
- На левой боковой панели нажмите значок таймера ― «Настройки триггера».
- Перед нами откроется окно с настройками:
- название функции: main;
- развертывание: основное развертывание;
- источник мероприятия: триггер по времени;
- тип триггера: по часам;
- промежуток времени: раз в час;
- уведомления про ошибки: каждый день.
Этот триггер подходит для регулярной отправки данных ― согласно указанных вами дней недели и часов. Скрипт будет запускаться только тогда, когда будет срабатывать триггер. А точные дни и часы для отправки он будет искать в столбцах Е и F.
Для сравнения: раньше мы писали про другого бота, который отправляет в Telegram-чат новости о новых продажах. Для него назначен триггер «Из таблицы» и «При изменении» ― он срабатывает после передачи в таблицу из CRM данных о новой продаже.
Запуск бота
Бот вежливый ― первым писать не станет
- Если бот должен передавать данные лично пользователю , нужно сначала найти и запустить бота ― нажать команду /start.
- Если бот должен слать данные в группу, нужно добавить его в число участников. Дополнительные команды не нужны.
Тестирование
Осталось проверить, как работает наш бот. Обратите внимание на пункт «Меню скриптов» в вашем документе.
Тут есть три задачи:
- запустить отправлятор один раз ― для проверки;
- настроить триггер для постоянной отправки ― мы уже это сделали;
- удалить триггер.
Сразу после тестового запуска вы увидите, что столбцы H и I автоматически заполняются данными о последней отправке. Содержимое ячеек будет обновляться после каждого последующего запуска скрипта.
Возможные ошибки и проблемы
Если бот ничего не прислал, вот список возможных ошибок.
- Бот не запущен пользователем или не добавлен в число участников группы.
- Несовпадение часовых поясов в настройках скрипта и ваших документах. Проверить часовой пояс в Google Таблицах можно через «Файл» ― «Настройки таблицы», а в скрипте ― «Редактор скриптов» ― «Файл» ― «Свойства проекта». Они должны совпадать.
- Пробелы в столбцах С, Е, F. Данные могут быть разделены между собой только знаками.
Если у вас возникнут другие вопросы или сложности, можете задать их в Telegram-чате группы «Google Таблицы» .
Выводы
Источник: blog.ringostat.com
TG_AutoPoster
Бот, пересылающий записи из групп ВК в канал/чат/ЛС в Telegram.
Установка (обновление)
pip3 install -U TG-AutoPoster
Настройка
- Создайте файл config.yaml , скопируйте в него содержимое файла config.yaml.example и выполните настройку ключа vk
- Получите ваши api_id и api_hash на https://my.telegram.org/apps и настройте ключ telegram (подробнее об Telegram API Keys здесь)
- Если необходимо, настройте использование SOCKS5 прокси, добавив ключ proxy со следующим содержимым:
Запуск
- Для запуска используйте TG_AutoPoster.sh или команду python3 -m TG_AutoPoster
- Активируйте бота командой /start
Автопостинг рекомендуется настраивать через чат с ботом. Подробнее можно узнать, отправив боту команду /help
Для доступных параметров командой строки используйте bash TG_AutoPoster.sh —help или python3 -m TG_AutoPoster —help
По умолчанию бот проверяет группы на наличие новых постов раз в час. Если необходимо изменить период проверки постов запустите бота с параметром командной строки —sleep N , где N — значение в секундах. Не рекомендуется устанавливать малое значение, так как это может привести к заморозке страницы ВК (подробнее).
Описание настроек группы
channel | Список ID каналов/чатов в Telegram, разделенных пробелом, в которые отправлять посты из групп ВК |
last_id (необязательно) | ID последнего отправленного поста. Если параметр отсутствует, он будет добавлен автоматически со значением 0 |
pinned_id (необязательно) | ID закреплённого поста. |
last_story_id (необязательно) | ID последней отправленной истории. |
use_long_poll (необязательно) | Использовать Long Poll API для получения постов из своей группы (или в которой вы являетесь администратором) в режиме реального времени. Чтобы использовать Long Poll API, откройте раздел «Управление сообществом», на вкладке «Работа с API»→«Long Poll API» выберите «Включено», «Версия API»: 5.131. Также необходимо включить тип события «Записи на стене»: «Добавление» на вкладке «Типы событий». Значение параметра по умолчанию: false |
Описание настроек автопостинга (ключ settings )
sign_posts | true, false | Указывать ли автора поста (если это возможно) и ссылку на оригинальный пост. По умолчанию: true |
send_reposts | false, post_only, true | Отправлять ли репосты? Подробнее в config.yaml.example. По умолчанию отправка репостов отключена. |
send_stories | false, true | Отправлять ли истории? По умолчанию: false |
what_to_send | all, text, link, photo, doc, video, music, polls | Какие типы вложений отправлять. Подробнее в config.yaml.example. По умолчанию отправляются все вложения. |
stop_list | Абсолютный путь к файлу, содержащий стоп-слова (в файле должно быть по одному слову на каждой строке). Если вы не хотите использовать стоп-слова удалите этот параметр из файла конфигурации | |
blacklist | Абсолютный путь к файлу, содержащий слова, которые будут удалены из текста отправляемого поста. Поддерживаются регулярные выражения. | |
disable_notification | true, false | Отправляет сообщения молча. Пользователи получат уведомление без звука. По умолчанию: false |
disable_web_page_preview | true, false | Отключить предпросмотр ссылок в сообщениях. По умолчанию: true |
posts_count | Количество отправляемых ботом новых постов за раз. По умолчанию 11. | |
header | Текст с форматированием Markdown | Текст, который будет добавлен в начало сообщения |
footer | Текст с форматированием Markdown | Текст, который будет добавлен в конец сообщения |
Все параметры ключа settings могут быть заданы индивидуально для каждой группы
Отчеты об ошибках и предложения отправлять в:
Для пожертвований на развитие проекта:
- Qiwi
- Bitcoin: 1H1UVnXgvcLo3RWmxuYmi7b16ADo6XBWw5
- TON: EQD42Z5d8d1gT1uSpKTAaLYHlQ95vdMXrlNlYMpSFpQawwuY
Источник: pypi.org