Автоматически отправлять CSV-отчеты администратору по расписанию

Здравствуйте,

Я надеялся, что существует способ автоматизировать отправку загружаемых отчётов, доступных в панели администратора Discourse, на заранее определённый список адресов электронной почты на регулярной основе (например, еженедельные или ежемесячные CSV-отчёты по популярным темам).

Пока что я написал собственный скрипт на Python для получения данных через API Discourse и создания CSV-файла, но если уже существует готовое решение, которое можно использовать, я предпочёл бы его.

Большое спасибо,
Пейдж

Если вы не планируете писать плагин, то это именно то, что нужно сделать.

2 лайка

В автоматизации Discourse есть опция, которая может вам пригодиться. Попробуйте её и дайте знать, что вы думаете?

2 лайка

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

Однако есть дополнительный вопрос: после просмотра существующих запросов SQL Data Explorer в репозитории GitHub и нескольких попыток написать свой собственный, есть ли где-то возможность получить запрос, который генерирует отчёт «Трендовые поисковые запросы» (Trending Search Terms), доступный в панели администратора Discourse за последний месяц (термин, количество поисков, CTR)?

Я использовал API admin/reports/trending_search.json, чтобы получить информацию вручную, но, если возможно, хотел бы использовать здесь cron-задачу в Discord.

1 лайк

Я разобрался с запросом для запуска в Data Explorer, он выглядит так:

SELECT term, count(*) searches, 
 sum(case when search_result_id is not null then 1 else 0 end) clicks,
 round(sum(case when search_result_id is not null then 1 else 0 end) * 100.0 / count(*), 1) as ctr
from search_logs
where created_at > current_timestamp - interval '30' day
group by term
order by count(*) desc

Итак, мой последний-последний вопрос: есть ли способ в Автоматизации настроить запуск этого запроса и прикрепление результатов в виде CSV-файла к письму для получателей, вместо того чтобы выводить результаты в теле письма?

2 лайка

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

Можете ли вы создать отдельную тему для этого?

1 лайк

С удовольствием. Новый запрос на новую функцию — большое спасибо!

1 лайк

Что означает PM?

PM — это сокращение от personal message (личное сообщение)
На второй строке также написано «к вашим сообщениям»

Да, но оно не пришло в мои сообщения, поэтому я подумал, что, возможно, что-то упускаю.

Можно отправить это на мой Outlook?

Если ваш Outlook использует тот же адрес электронной почты, что и ваша учётная запись Discourse, сообщения должны приходить туда.

3 лайка