import './setup.ts'; import SQL from 'sql-template-strings'; import { ulid, decodeTime } from 'ulid'; import { newDate } from '../src/helpers.ts'; import dbConnection from './db.ts'; import mailer from './mailer.ts'; import { loadTranslator } from '~/server/data.ts'; const CAMPAIGNS = [ { name: 'spis-2023', sendAt: new Date(2023, 1, 1, 9, 0, 0), type: 'census', locales: ['pl'], subject: 'Ruszyła trzecia edycja Niebinarnego Spisu Powszechnego!', text: `Jak co roku, luty jest miesiącem, w którym zbieramy dane na temat języka używanego przez polskojęzyczne osoby niebinarne. Serdecznie zapraszamy do udziału w Niebinarnym Spisie Powszechnym! By wesprzeć naszą społeczność, wystarczy wejść na https://zaimki.pl/spis i wypełnić formularz 😉 (Ta wiadomość wysyłana jest do osób, które zapisały się na przypominajkę. Jeśli chcesz z niej zrezygnować, wejdź na https://zaimki.pl/api/subscription/unsubscribe?email={{emailEncoded}}&type=census) `, html: `
Jak co roku, luty jest miesiącem, w którym zbieramy dane na temat języka używanego przez polskojęzyczne osoby niebinarne.
Serdecznie zapraszamy do udziału w Niebinarnym Spisie Powszechnym! By wesprzeć naszą społeczność, wystarczy wejść na zaimki.pl/spis i wypełnić formularz 😉
Ta wiadomość wysyłana jest do osób, które zapisały się na przypominajkę. Jeśli chcesz z niej zrezygnować, kliknij tutaj.
`, }, { name: 'spis-2023-raport', sendAt: new Date(2023, 3, 12, 12, 0, 0), type: 'census', locales: ['pl'], subject: 'Przedstawiamy raport z trzeciej edycji Niebinarnego Spisu Powszechnego!', text: `Już po raz trzeci przeprowadziłośmy Niebinarny Spis Powszechny – największe badanie języka, jakim posługują się polskojęzyczne osoby niebinarne. W tym roku udało nam się zebrać rekordową liczbę odpowiedzi, aż 3022! Rozszerzyłośmy też ankietę o kilka dodatkowych pytań i porównałośmy wyniki z dwiema poprzednimi edycjami. Zaowocowało to najbardziej rozbudowanym raportem o niebinarszczyźnie! Report dostępny jest pod adresem https://zaimki.pl/blog/spis-2023 – serdecznie zapraszamy do lektury 😉 (Ta wiadomość wysyłana jest do osób, które zapisały się na przypominajkę. Jeśli chcesz z niej zrezygnować, wejdź na https://zaimki.pl/api/subscription/unsubscribe?email={{emailEncoded}}&type=census) `, html: `Już po raz trzeci przeprowadziłośmy Niebinarny Spis Powszechny – największe badanie języka, jakim posługują się polskojęzyczne osoby niebinarne.
W tym roku udało nam się zebrać rekordową liczbę odpowiedzi, aż 3022! Rozszerzyłośmy też ankietę o kilka dodatkowych pytań i porównałośmy wyniki z dwiema poprzednimi edycjami. Zaowocowało to najbardziej rozbudowanym raportem o niebinarszczyźnie!
Report dostępny jest pod adresem zaimki.pl/blog/spis-2023 – serdecznie zapraszamy do lektury 😉
Ta wiadomość wysyłana jest do osób, które zapisały się na przypominajkę. Jeśli chcesz z niej zrezygnować, kliknij tutaj.
`, }, { name: 'spis-2024', sendAt: new Date(2024, 1, 1, 9, 0, 0), type: 'census', locales: ['pl'], subject: 'Ruszyła czwarta edycja Niebinarnego Spisu Powszechnego!', text: `Jak co roku, luty jest miesiącem, w którym zbieramy dane na temat języka używanego przez polskojęzyczne osoby niebinarne. Serdecznie zapraszamy do udziału w Niebinarnym Spisie Powszechnym! By wesprzeć naszą społeczność, wystarczy wejść na https://zaimki.pl/spis i wypełnić formularz 😉 (Ta wiadomość wysyłana jest do osób, które zapisały się na przypominajkę. Jeśli chcesz z niej zrezygnować, wejdź na https://zaimki.pl/api/subscription/unsubscribe?email={{emailEncoded}}&type=census) `, html: `Jak co roku, luty jest miesiącem, w którym zbieramy dane na temat języka używanego przez polskojęzyczne osoby niebinarne.
Serdecznie zapraszamy do udziału w Niebinarnym Spisie Powszechnym! By wesprzeć naszą społeczność, wystarczy wejść na zaimki.pl/spis i wypełnić formularz 😉
Ta wiadomość wysyłana jest do osób, które zapisały się na przypominajkę. Jeśli chcesz z niej zrezygnować, kliknij tutaj.
`, }, { name: 'spis-2024-raport', sendAt: new Date(2024, 3, 15, 0, 0, 0), type: 'census', locales: ['pl'], subject: 'Przedstawiamy raport z czwartej edycji Niebinarnego Spisu Powszechnego!', text: `Już po raz czwarty przeprowadziłośmy Niebinarny Spis Powszechny – największe badanie języka, jakim posługują się polskojęzyczne osoby niebinarne. W tym roku ponownie udało nam się zebrać rekordową liczbę odpowiedzi, aż 3091! Rozszerzyłośmy ankietę o pytania o orientację romantyczną i proces tranzycji, dodałośmy też wykresy porównujące dane z poprzednimi latami, a także przygotowałośmy skróconą wersję raportu! Report dostępny jest pod adresem https://zaimki.pl/blog/spis-2024, a wersja skrócona pod https://zaimki.pl/blog/spis-2024-skrocony – serdecznie zapraszamy do lektury 😉 (Ta wiadomość wysyłana jest do osób, które zapisały się na przypominajkę. Jeśli chcesz z niej zrezygnować, wejdź na https://zaimki.pl/api/subscription/unsubscribe?email={{emailEncoded}}&type=census) `, html: `Już po raz czwarty przeprowadziłośmy Niebinarny Spis Powszechny – największe badanie języka, jakim posługują się polskojęzyczne osoby niebinarne.
W tym roku ponownie udało nam się zebrać rekordową liczbę odpowiedzi, aż 3091! Rozszerzyłośmy ankietę o pytania o orientację romantyczną i proces tranzycji, dodałośmy też wykresy porównujące dane z poprzednimi latami, a także przygotowałośmy skróconą wersję raportu!
Report dostępny jest pod adresem zaimki.pl/blog/spis-2024, a wersja skrócona pod zaimki.pl/blog/spis-2024-skrocony – serdecznie zapraszamy do lektury 😉
Ta wiadomość wysyłana jest do osób, które zapisały się na przypominajkę. Jeśli chcesz z niej zrezygnować, kliknij tutaj.
`, }, { name: 'spis-2025', sendAt: new Date(2025, 1, 1, 9, 0, 0), type: 'census', locales: ['pl'], subject: 'Ruszyła piąta edycja Niebinarnego Spisu Powszechnego! 💛🤍💜🖤', text: `Jak co roku, luty jest miesiącem, w którym zbieramy dane na temat języka używanego przez polskojęzyczne osoby niebinarne. Serdecznie zapraszamy do udziału w Niebinarnym Spisie Powszechnym! By wesprzeć naszą społeczność, wystarczy wejść na https://zaimki.pl/spis i wypełnić formularz 😉 W tym roku rozszerzyłośmy ankietę o pytania o używane imiona i ich odmianę. (Ta wiadomość wysyłana jest do osób, które zapisały się na przypominajkę. Jeśli chcesz z niej zrezygnować, wejdź na https://zaimki.pl/api/subscription/unsubscribe?email={{emailEncoded}}&type=census) `, html: `Jak co roku, luty jest miesiącem, w którym zbieramy dane na temat języka używanego przez polskojęzyczne osoby niebinarne.
Serdecznie zapraszamy do udziału w Niebinarnym Spisie Powszechnym! By wesprzeć naszą społeczność, wystarczy wejść na zaimki.pl/spis i wypełnić formularz 😉
W tym roku rozszerzyłośmy ankietę o pytania o używane imiona i ich odmianę.
Ta wiadomość wysyłana jest do osób, które zapisały się na przypominajkę. Jeśli chcesz z niej zrezygnować, kliknij tutaj.
`, }, ]; async function calculate() { const db = await dbConnection(); const translator = await loadTranslator('_'); const sent = {}; for (const { subscription_id, campaign } of await db.all(SQL`SELECT * FROM subscription_messages`)) { if (sent[subscription_id] === undefined) { sent[subscription_id] = []; } sent[subscription_id].push(campaign); } const now = newDate(); for (const { id, locale, type, email } of await db.all(SQL`SELECT * FROM subscriptions`)) { const campaign = CAMPAIGNS.filter((n) => { return n.type === type && now >= n.sendAt && decodeTime(id) <= n.sendAt && // don't send to people who signed up after send date (n.locales === undefined || n.locales.includes(locale)) && !(sent[id] || []).includes(n.name) ; })?.[0]; if (!campaign) { continue; } console.log(`Sending to ${email}`); await mailer(email, campaign, translator, { emailEncoded: encodeURIComponent(email), }); await db.get(SQL`INSERT INTO subscription_messages (id, subscription_id, campaign) VALUES (${ulid()}, ${id}, ${campaign.name})`); } await db.close(); } calculate();