Discord bots, kas spēj atskaņot latviešu radio stacijas balss kanālos.
Bota uzaicinājums uz serveri atrodams šeit.
Latvijas Radio 1 | Latvijas Radio 2 |
Latvijas Radio 3 | Latvijas Radio 4 |
Latvijas Radio 5 | LR Vecās Plates |
Radio SWH | Radio SWH Rock |
Radio Skonto | Latgolys Radeja |
Kurzemes Radio | European Hit Radio |
Star FM |
Lai palaistu botu, pa priekšu nāksies ... izveidot Discord botu.
- Atver pārlūkā https://discord.com/developers/applications
- New Application > Bot > Reset Token > Copy
- Šeit tu iegūsti savu Discord bota tokenu, saglabā to, jo tas būs nepieciešams vēlāk
- Uzaicini botu uz savu serveri
- OAuth2 > URL Generator
- No Scopes izvēlies "applications.commands" un "bot"
- Atver linku kas ir parādīts apakšā un pievieno botu savam serverim
Kad bots ir izveidots, noklonējam repozitoriju.
git clone https://github.com/deimoss123/LatvijasRadioBots
cd LatvijasRadioBots
Bota palaišanai ir 2 opcijas - Docker konteinerī, vai arī bez. Ja neplāno veikt uzlabojumus/izstrādāt botu, bet tikai to palaist, tad ieteicams ir Docker.
Ieinstalē Docker, kā arī docker-compose, ja tas nenāk komplektā. Internetā var atrast ļoti foršas pamācības kā to izdarīt.
Izveido .env
failu šajā pašā mapē ņemot .env.example failu kā piemēru.
.env
failā ievadi nepieciešamās vērtības. Šeit būs nepieciešams iepriekš minētais tokens.
Palaižam sekojošo komandu, kas izveidos Docker image, uzbūvēs un palaidīs botu.
docker compose -f docker-compose.prod.yml up
Ja iepriekšējā solī nav parādījušās kļūdas, tad varam apskatīties docker compose logs
. Viss ir bumbās, ja redzams šāds teksts un nav kļūdu.
lr-bots |
lr-bots | > [email protected] start /usr/app
lr-bots | > node dist/index.js
lr-bots |
lr-bots | LatvijasRadioTest#3930 logged in
lr-bots | --------------------------------------------------
lr-bots | Core Dependencies
lr-bots | - @discordjs/voice: 0.16.0
lr-bots | - prism-media: 1.3.5
lr-bots |
lr-bots | Opus Libraries
lr-bots | - @discordjs/opus: 0.9.0
lr-bots | - opusscript: not found
lr-bots |
lr-bots | Encryption Libraries
lr-bots | - sodium-native: not found
lr-bots | - sodium: not found
lr-bots | - libsodium-wrappers: 0.7.13
lr-bots | - tweetnacl: not found
lr-bots |
lr-bots | FFmpeg
lr-bots | - version: 6.0
lr-bots | - libopus: yes
lr-bots | --------------------------------------------------
Viss ir forši un fantastiski, bet mums ir problēma - kā klausīties radio? Botam ir nepieciešams reģistrēt komandas, lai tās lietotājiem parādītos Discordā.
Tagad jāievada viena (vai abas) no sekojošām komandām, kas Discordam jauki palūgs reģistrēt bota komandas (/atskaņot
un /apturet
).
Lai reģistrētu komandas tikai vienā serverī, kas norādīts tavā .env
failā.
docker exec -it lr-bots pnpm register
Lai reģistrētu komandas globāli, visos serveros.
docker exec -it lr-bots pnpm register:global
Ja komandas neparādās uzreiz, uzgaidi, ja pēc minūtes nav, tad restartē Discordu (ctrl + r).
Ieej balss kanālā, palaid komandu /atskaņot
un nosvini šo atgadījumu. Es jau no paša sākuma ticēju, ka tev tas izdosies. Labi padarīts! 🎉
Konteineris strādās tik ilgi kamēr pats Docker būs ieslēgts. Konteineris automātiski restartēsies pie kļūdām/lūzumiem, tā kā par to nav jāuztraucas. Botu var apstādināt ar komandu docker compose down
, atrodoties šajā pašā mapē, vai arī ar docker stop lr-bots
.