Projekts - Discord Webhook
Praktiskais projekts, lai apgūtu API pieprasījumu sūtīšanu (POST metodi), izmantojot Discord Webhook funkcionalitāti ziņojumu nosūtīšanai no koda uz tērzēšanas lietotni.
Saturs
- Uzdevuma apraksts
- Darba gaita
- Nepieciešamie resursi
- Nepieciešamās zināšanas
- Ieteikumi
- Programmēšana II SR
Uzdevuma apraksts
Šī projekta mērķis ir izstrādāt programmu, kas darbojas kā bota klients. Izmantojot HTTP POST metodi un JSON datu formātu, programmai ir jānosūta informācija uz specifisku Discord servera adresi (Webhook), kas to attēlos ziņu kanālā.
Projekta struktūra
/discord-bot
├── config.js # Datne konfigurācijai un URL glabāšanai
├── index.js # Galvenā programma, kas izpilda sūtīšanu
└── package.json # NodeJS bibliotēkas
Darba gaita
Pamata līmenis - Sūtīt no servera puses
Vides sagatavošana
- Sagatavot
index.jsdatni. - Uzstādīt NodeJS projektu ar
npm init; - Definēt funkciju
sendMessage, kas izmanto iebūvētofetch(Node v18+) metodi.
Pieprasījuma izveide
config.jsdatnē Definēt mainīgo ar Webhook URL (skatīt zemāk).- Izveidot datu objektu (payload), kas satur atslēgu
contentar sūtāmo tekstu. - Izmantojot
fetchfunkciju, veiktPOSTpieprasījumu uz Webhook URL:- Jānorāda metode
POST; - Jāpievieno galvene (
header):'Content-Type': 'application/json'; - Dati (
body) jāpārveido par tekstu arJSON.stringify().
- Jānorāda metode
- Pārbaudīt darbību, palaižot skriptu terminālī:
node index.js.
Webhook URL:https://discord.com/api/webhooks/___ tiks nosūtīts e-klasē.
Padziļināti - Sūtīt no saskarnes
Izveidot tīmekļa saskarni, lai ziņas varētu rakstīt un sūtīt no pārlūkprogrammas, nevis termināļa.
- HTML Struktūra (
index.html):- Izveidot ievades lauku (
Input) lietotājvārdam (piemēram, "Mans Bots"). - Izveidot ievades lauku (
TextareavaiInput) ziņas tekstam. - Pievienot pogu "Nosūtīt".
- (Ieteicams) Izmantot Bootstrap dizainam.
- Izveidot ievades lauku (
- JavaScript loģika (
script.js):- Pievienot
clicknotikumu "Nosūtīt" pogai. - Nolasīt vērtības no abiem ievades laukiem.
- Izveidot objektu ar
contentunusernamelaukiem. - Nosūtīt datus uz to pašu Webhook URL, izmantojot fetch.
- Pēc veiksmīgas nosūtīšanas iztīrīt ievades laukus un parādīt paziņojumu
alert("Ziņa nosūtīta!").
- Pievienot
Piezīmes:
- Šis ir tikai mācību uzdevums. Reālos projektos nav droši iekļaut Webhook URL tieši pārlūkprogrammas kodā (client-side).
- Sūtot pieprasījumus tieši no pārlūka uz Discord, konsolē var parādīties brīdinājumi, bet ziņa tiks nosūtīta.
Paredzamais izpildes laiks: 160 min.
Nepieciešamie resursi
Nepieciešamās zināšanas
Var izmantot API Zinašanu krātuvi, īpaši sadaļas par POST metodi, JSON struktūru un Fetch API lietošanu.
Ieteikumi
- regulāri pārbaudīt un atkļūdot risinājumu;
- ievērot labas prakses principus.
Programmēšana II SR
Aktivitāte vērsta uz šādām Programmēšana II sasniedzamajiem rezultātiem (SR):
- Zināšanas: Skaidro API pielietojumu un nepieciešamību.
- Prasmes: Lieto API (programmsaskarni) specializētu funkciju veikšanai.
- Prasmes: Izmanto programmēšanas valodu un to bibliotēku dokumentāciju un palīdzības sistēmu, lai patstāvīgi apgūtu citas to piedāvātās iespējas.
- Prasmes: Veido programmas kādā no programmēšanas valodām, t. sk. objektorientētajā valodā.
- Prasmes: Izmanto dažādas datu struktūras un ar tiem saistītos pamatalgoritmus.
