Как сделать ежедневную отправку отчета по проекту в групповой чат Telegram?
Удобно получать ежедневную сводку с ключевыми показателями в Телеграм.
При этом вы можете сделать так, что разные лица проекта могут получать свой набор метрик.
Мы рассмотрим вариант создания общего отчета по состоянию этапа проекта с отправкой в групповой чат проекта.
Как реализовать привязку чата к проекту
Для начала необходимо обеспечить связку проекта и чата в телеграме. Для этого у проекта должно быть поле с ID чата (в нашем случае это innerChatID).
ВАЖНО. В чат должен быть добавлен бот (можно с обычными правами).
ChatID можно получить через экспорт переписки чата в Телеграме в формате JSON (параметр ID для Chat).
Указываем данный ID в БД в таблице Проекты (при этом обязательно со знаком "-").
Как отправлять отчет ежедневно в Telegram
В процедуре sync_hour формируем select для отправки отчетов по всем активным проектам, где есть чаты:
CREATE PROCEDURE [dbo].[falcon_nt_sync_hour]
AS
BEGIN
-- эта процедура запускается каждый час
-- отправляем в 9 утра несколько отчетов в телеграм - по 1 на каждый активный этап
-- отчет формируется в виде строки в функции getStageInfo
if(DATEPART(HOUR, GETDATE())=9) begin
select 'telegram' [type], getStageInfo(stageID, 1) [text], cast(innerChatID as nvarchar) [to] from (
select
id, name, innerChatID,
(select top 1 id from as_est_cats stage where estimateID = p.estimateID and statusID in (2,4,9) order by id desc ) stageID
from rudenas2x.dbo.tt_projects p
where innerChatID is not null and innerChatID <>0 and statusID is null
) t1
order by name
end
END
Как сформировать сам отчет
Отчет можно формировать в отдельной sql функции с использованием Эмоджи, HTML верстки и других способов разметки Телеграма.
Пример структуры подобной функции:
alter FUNCTION [dbo].getStageInfo
(
@stageID int ,
@innerInfo bit=1
)
RETURNS nvarchar(max) as
BEGIN
declare @res nvarchar(max) =''
declare @today date = getdate()
select @res = CAST(0xA127 AS NVARCHAR(MAX)) + ' ЭТАП '+ name + char(10) +
'Выполнено: '+ isnull(cast(cast(completed/nullif(total, 0)*100 as int) as nvarchar), 0) + '%' + char(10) +
'Закрыто: '+ isnull(cast(cast(closed/nullif(total, 0)*100 as int) as nvarchar), 0) + '%' + char(10) +
'Время: '+ iif(year(deadline)<2000, '',
iif( datediff(day,deadline, getdate()) > 0, 'Дедлайн просрочен на ' + cast(datediff(day,deadline, getdate()) as nvarchar) +'дн' ,
''+cast(cast(datediff(day,startDate, getdate()) as float) * 100 / nullif(cast(datediff(day,startDate, deadline) as float), 0) as nvarchar)+'%')
)+ char(10) +
'Обновлено: '+ isnull( dbo.as_timeDelay(datediff(minute, updatedDate, getdate())), '' ) + char(10) +
'----------------' +char(10) +
'Открытых часов по задачам: ' + cast(openHours as nvarchar) + char(10) +
'Вчера часов: ' + cast(yesterdayHours as nvarchar) + char(10) + char(10) +
'Открытых багов: ' + cast(openBugs as nvarchar) + char(10) +
'Задач на проверку: ' + cast(checkingTickets as nvarchar) + char(10)
from (
-- здесь извлекаем данные по этапу по @stageID
) t1
return @res
END -- FUNCTION
Примечание:
1. Групповой чат - ID обязательно указываем со знаком минус.
2. Для работы телеграм бота токен должен быть прописан в web.config
Google поиск по нашей документации
- Руководства
- Основа Falcon Space
- Основные компоненты
- Возможности
- Коммуникация с пользователем Настройка уведомлений для личного кабинета на сайте Как настроить чат помощи для пользователей Внедрение чата в личный кабинет пользователя Работа с комментариями к объектам Телеграм боты и отправка сообщений в Telegram в веб-платформе Falcon Space Как создать чат бот ВКонтакте. VK бот для обработки сообщений в группе. Как сделать push уведомление Как отправить Email, SMS или уведомление пользователю Как отправлять SMS с сайта через smsc.ru Отправка email с шаблоном письма Как сделать ежедневную отправку отчета по проекту в групповой чат Telegram? Настройки почты для отправки сообщений с сайта Видеочат. Интеграция с Vox Implant Базовая интеграция с Jitsi Meet (звонки с видео) Отправка СМС через targetsms.ru Как сделать механизм отправки различных писем по шаблону с возможностью редактирования перед отправкой
- Дизайн, стилизация
- Лендинги
- Универсальный API
- Примеры интеграций
- Каталоги
- Навигация
- Документы
- Дополнительные компоненты
- Продвижение, SEO
- Системные моменты
- Системное администрирование
- HOWTO
- Таблицы
- Формы
- Загрузка файлов, картинок
- Работа с SQL
- HOWTO JS
- HOWTO Верстка
- Решение проблем
Falcon Space
Это снижение стоимости владения
за счет меньшего количества людей для поддержки и узкого стека разработки. Про снижение стоимости владения продуктом
Это быстрое внесение изменений
по ходу эксплуатации программы. Как создается функционал на платформе
Это простой удобный интерфейс
адаптация под мобильные устройства. Про юзабилити платформы