Projekts - Discord Webhook

Atjaunots: 2025-11-27

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

Šī 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

  1. Sagatavot index.js datni.
  2. Uzstādīt NodeJS projektu ar npm init;
  3. Definēt funkciju sendMessage, kas izmanto iebūvēto fetch (Node v18+) metodi.

Pieprasījuma izveide

  1. config.js datnē Definēt mainīgo ar Webhook URL (skatīt zemāk).
  2. Izveidot datu objektu (payload), kas satur atslēgu content ar sūtāmo tekstu.
  3. Izmantojot fetch funkciju, veikt POST pieprasījumu uz Webhook URL:
    • Jānorāda metode POST;
    • Jāpievieno galvene (header): 'Content-Type': 'application/json';
    • Dati (body) jāpārveido par tekstu ar JSON.stringify().
  4. 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.

  1. HTML Struktūra (index.html):
    • Izveidot ievades lauku (Input) lietotājvārdam (piemēram, "Mans Bots").
    • Izveidot ievades lauku (Textarea vai Input) ziņas tekstam.
    • Pievienot pogu "Nosūtīt".
    • (Ieteicams) Izmantot Bootstrap dizainam.
  2. JavaScript loģika (script.js):
    • Pievienot click notikumu "Nosūtīt" pogai.
    • Nolasīt vērtības no abiem ievades laukiem.
    • Izveidot objektu ar content un username laukiem.
    • 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!").

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

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.
Autors
Mārtiņš Bērziņš avatar
Mārtiņš Bērziņš

Uzraksti atsauksmi uz [email protected] [email protected]

Smiltenes vidusskolas logo