ICT ํ์ฌ ๋ฐ ์คํฐ๋ ์๋ ์๋ฆผ์ด๋ ์๋์ผ๋ก ๊ณต์ ๋๋ ์คํ๋ผ์ธ ๋ฐ ์จ๋ผ์ธ ํ์ฌ, ์คํฐ๋, ๋ํ ๋ฑ์ ์ ๋ณด๋ฅผ ์๋ํํ์ฌ Google Groups๋ฅผ ํตํด ๋ฉ์ผ๋ง์ผ๋ก ์๋ ค์ฃผ๋ ์์คํ ์ ๋๋ค.
๊ธฐ์กด์ Discord๋ฅผ ํตํด ์๊ธฐ๋ก ๊ณต์งํ๋ ๋ฐฉ์์ ๊ฐ์ ํ์ฌ, Google Form์ผ๋ก ์๋ก์ด ํ์ฌ ์ ๋ณด๋ฅผ ์ ์ถ๋ฐ๊ณ Google Apps Script์ Gemini AI๋ฅผ ํ์ฉํด ์๋์ผ๋ก ๋ด์ฉ์ ๋ถ์ ๋ฐ ์์ฝํ์ฌ ์ ์ฒด ๊ทธ๋ฃน์์๊ฒ ์ด๋ฉ์ผ์ ๋ฐ์กํ๊ณ ๊ตฌ๊ธ ์บ๋ฆฐ๋์ ์ผ์ ์ ๋ฑ๋กํฉ๋๋ค.
์ด ํ๋ก์ ํธ๋ ์ด์์์ ๊ตฐ ์ ๋๋ก ์ธํ ๋ถ์ฌ์ค์๋ ์ง์์ ์ธ ์ ๋ณด ๊ณต์ ๊ฐ ๊ฐ๋ฅํ๋๋ก ์๋ํ์ ์ด์ ์ ๋ง์ถ์์ผ๋ฉฐ, ์ฐธ์ฌ์๋ค์ด ์ ์ตํ ์ ๋ณด๋ฅผ ํตํด ์๋ก์ด ๊ธฐํ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ์ฑ์ฅํ๊ธฐ๋ฅผ ๋ฐ๋ผ๋ ๋ง์์ผ๋ก ์์๋์์ต๋๋ค.
- Google Form์ ํตํ ๊ฐํธํ ์ ๋ณด ์ ์ถ: ๋๊ตฌ๋ ์๋ก์ด ํ์ฌ, ์คํฐ๋, ๋ํ ์ ๋ณด๋ฅผ URL ํํ๋ก ์ฝ๊ฒ ์ ์ถํ ์ ์์ต๋๋ค.
- Gemini AI ๊ธฐ๋ฐ ์ฝํ ์ธ ๋ถ์ ๋ฐ ์์ฝ: ์ ์ถ๋ URL์ ๋ด์ฉ์ AI๊ฐ ์๋์ผ๋ก ๋ถ์ํ์ฌ ํ์ฌ ์ ๋ณด๋ฅผ ์ ํํ ํ์ ํ๊ณ , ์ง์ ๋ ํ์์ ๋ง์ถฐ ํ๊ตญ์ด ์ด๋ฉ์ผ ๋ณธ๋ฌธ์ ์์ฑํฉ๋๋ค.
- ์ฝํ ์ธ ์ ํจ์ฑ ๊ฒ์ฌ: AI๊ฐ ์ ์ถ๋ URL์ ๋ด์ฉ์ด ํ์ฌ, ๋ํ, ์คํฐ๋์ ๊ด๋ จ์ด ์๋์ง ํ๋จํ์ฌ ๊ด๋ จ ์๋ ์ ๋ณด๋ ์๋์ผ๋ก ํํฐ๋งํฉ๋๋ค.
- ์๋ ์ด๋ฉ์ผ ๋ฐ์ก: ์์ฑ๋ ์ด๋ฉ์ผ ์ด์์ ์ง์ ๋ Google Group์ผ๋ก ์๋ ๋ฐ์ก๋์ด ๋ชจ๋ ๊ทธ๋ฃน์์๊ฒ ๊ณต์ ๋ฉ๋๋ค.
- Google Calendar ์๋ ์ฐ๋: ์ด๋ฉ์ผ ๋ณธ๋ฌธ์์ ๋ ์ง์ ์๊ฐ ์ ๋ณด๋ฅผ ์ถ์ถํ์ฌ Google Calendar์ ์๋์ผ๋ก ์ด๋ฒคํธ๋ฅผ ์์ฑํ๊ณ , ๋ฉ์ผ ๋ณธ๋ฌธ์ '์บ๋ฆฐ๋์ ์ถ๊ฐํ๊ธฐ' ๋งํฌ๋ฅผ ํฌํจํฉ๋๋ค.
- ์ค๋ฅ ์๋ฆผ ๊ธฐ๋ฅ: URL์ด ์ ํจํ์ง ์๊ฑฐ๋, ์น์ฌ์ดํธ์์ ์ ๋ณด๋ฅผ ์ถ์ถํ ์ ์๊ฑฐ๋, AI๊ฐ ๊ด๋ จ ์๋ ์ฝํ ์ธ ๋ก ํ๋จํ๋ ๋ฑ ์ค๋ฅ ๋ฐ์ ์ ๊ด๋ฆฌ์์๊ฒ ์ฆ์ ์ด๋ฉ์ผ๋ก ์ํฉ์ ์๋ฆฝ๋๋ค.
- ์ ๋ณด ์ ์ถ: ์ฌ์ฉ์๊ฐ Google Form์ ํตํด ํ์ฌ ์ ๋ณด๊ฐ ๋ด๊ธด URL์ ์ ์ถํฉ๋๋ค.
- ์คํฌ๋ฆฝํธ ํธ๋ฆฌ๊ฑฐ: Google Form ์ ์ถ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด Google Apps Script์
onFormSubmitํจ์๊ฐ ์๋์ผ๋ก ์คํ๋ฉ๋๋ค. - ์ฝํ ์ธ ์ถ์ถ: ์คํฌ๋ฆฝํธ๊ฐ ์ ์ถ๋ URL์ ์น ํ์ด์ง์ ์ ์ํ์ฌ HTML์์ ํ ์คํธ ์ฝํ ์ธ ๋ฅผ ์ถ์ถํฉ๋๋ค.
- AI ๋ถ์ ๋ฐ ์์ฑ: ์ถ์ถ๋ ํ
์คํธ๋ฅผ Gemini AI API๋ก ์ ์กํฉ๋๋ค. AI๋ ๋ค์ ์์
์ ์ํํฉ๋๋ค.
- ์ฝํ ์ธ ๊ฐ ํ์ฌ, ๋ํ, ์คํฐ๋์ ๊ด๋ จ ์๋์ง ํ๋จํฉ๋๋ค.
- ๊ด๋ จ์ด ์๋ค๋ฉด, ์ง์ ๋ ํ์(์ ๋ชฉ, ๋ด์ฉ, ์ผ์ ๋ฑ)์ ๋ง์ถฐ ํ๊ตญ์ด ์ด๋ฉ์ผ ์ด์์ ์์ฑํฉ๋๋ค.
- ์บ๋ฆฐ๋ ์ฐ๋: ์์ฑ๋ ์ด๋ฉ์ผ ๋ณธ๋ฌธ์์ ์ผ์ ์ ๋ณด๋ฅผ ํ์ฑํ์ฌ Google Calendar์ ์ด๋ฒคํธ๋ฅผ ์์ฑํ๊ณ , ์ฐธ์ ๋งํฌ๋ฅผ ๋ง๋ญ๋๋ค.
- ๋ฉ์ผ ๋ฐ์ก: ์์ฑ๋ ์ด๋ฉ์ผ ๋ณธ๋ฌธ์ Google Groups ๋ฉ์ผ ์ฃผ์๋ก ๋ฐ์กํ์ฌ ๊ทธ๋ฃน์ ์ ์ฒด์๊ฒ ๊ณต์งํฉ๋๋ค.
- ์์ธ ์ฒ๋ฆฌ: ๊ณผ์ ์ค ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด, ์ ์ถ์์ ์ด๋ฉ์ผ๊ณผ ์ค๋ฅ ๋ด์ฉ์ ํฌํจํ ์๋ฆผ์ ๊ด๋ฆฌ์ ์ด๋ฉ์ผ๋ก ๋ฐ์กํฉ๋๋ค.
Code.gs ํ์ผ ์๋จ์ ์ค์ ๋ณ์๋ค์ ์์ ์ ํ๊ฒฝ์ ๋ง๊ฒ ์์ ํด์ผ ํฉ๋๋ค.
// ===============================================================
// โจ ์ค์ ๋ณ์ โจ
// ์ด ๋ถ๋ถ์ ์์ ์ ํ๊ฒฝ์ ๋ง๋ ๊ฐ์ ์ ํํ ์
๋ ฅํด์ฃผ์ธ์.
// ===============================================================
// Google AI Studio (https://aistudio.google.com/)์์ ๋ฐ๊ธ๋ฐ์ API ํค๋ฅผ ์
๋ ฅํ์ธ์.
const GEMINI_API_KEY = "YOUR_GEMINI_API_KEY";
// ์ฌ์ฉํ ๋ชจ๋ธ์ ๋ง์ถฐ ์๋ํฌ์ธํธ URL์ ์ค์ ํ์ธ์.
const GEMINI_API_URL = "https://generativelanguage.googleapis.com/v1beta/models/gemma-3-27b-it:generateContent";
// ์ด๋ฉ์ผ์ ๋ฐ์กํ ๋์ Google Group์ ์ด๋ฉ์ผ ์ฃผ์๋ฅผ ์
๋ ฅํ์ธ์.
const GOOGLE_GROUP_EMAIL = "your-group@googlegroups.com";
// ์ค๋ฅ ๋ฐ์ ์ ์๋ฆผ์ ๋ฐ์ ๊ด๋ฆฌ์์ ์ด๋ฉ์ผ ์ฃผ์๋ฅผ ์
๋ ฅํ์ธ์.
const ADMIN_EMAIL = "your-admin-email@gmail.com";
// Google Calendar ์ด๋ฒคํธ๋ฅผ ์์ฑํ ์บ๋ฆฐ๋์ ID๋ฅผ ์
๋ ฅํ์ธ์. (์: 'primary' ๋๋ '...@group.calendar.google.com')
const CALENDAR_ID = "your-calendar-id@group.calendar.google.com";์ด ์คํฌ๋ฆฝํธ๋ฅผ Google Form๊ณผ ์ฐ๋ํ์ฌ ์๋์ผ๋ก ์คํ๋๊ฒ ํ๋ ค๋ฉด Apps Script ํธ์ง๊ธฐ์์ ํธ๋ฆฌ๊ฑฐ๋ฅผ ์ค์ ํด์ผ ํฉ๋๋ค.
- ์คํฌ๋ฆฝํธ ํธ์ง๊ธฐ์์ 'ํธ๋ฆฌ๊ฑฐ' (์๊ณ ๋ชจ์ ์์ด์ฝ) ๋ฉ๋ด๋ก ์ด๋ํฉ๋๋ค.
- '+ ํธ๋ฆฌ๊ฑฐ ์ถ๊ฐ' ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.
- ๋ค์๊ณผ ๊ฐ์ด ์ค์ ์ ๊ตฌ์ฑํฉ๋๋ค.
- ์คํํ ํจ์ ์ ํ:
onFormSubmit - ๋ฐฐํฌ ์ ํ:
ํค๋ - ์ด๋ฒคํธ ์์ค ์ ํ:
์คํ๋ ๋์ํธ์์ - ์ด๋ฒคํธ ์ ํ ์ ํ:
์์ ์ ์ถ ์
- ์คํํ ํจ์ ์ ํ:
- ์ ์ฅ ๋ฒํผ์ ํด๋ฆญํ๊ณ ํ์ํ ๊ถํ์ ์น์ธํฉ๋๋ค.
- ๋ฉ์ผ๋ง ๊ทธ๋ฃน ๊ฐ์ : https://groups.google.com/g/ict-event
- ํ์ฌ/์คํฐ๋ ์ ๋ณด ์ ์ถ: https://forms.gle/kzbzqks6DF2T6uEZ9