Discord-botit
Discord-botit Pythonilla (discord.py) tai Node.js:llä (discord.js): mitä pyyntöön, testiajo Codexessa, ajoaikarajat tilauksittain ja tokenin pitäminen turvassa.
Päivitetty
Tällä sivulla
Codexe generoi valmiita Discord-bottiprojekteja Pythonilla (discord.py) tai Node.js:llä (discord.js) slash-komentoja käyttäen.
#Mitä pyyntöön kannattaa laittaa
- Kirjasto (Python tai Node.js).
- Jokainen slash-komento valintoineen ja tieto siitä, kuka saa käyttää sitä.
- Tapahtumat, joihin reagoidaan (jäsenen liittyminen, viestit, reaktiot).
- Tallennus (JSON, SQLite…) ja mahdolliset ulkoiset API:t.
- Mitkä intentit olet valmis ottamaan käyttöön. Message Content ja Server Members ovat etuoikeutettuja, ja ne täytyy kytkeä päälle Discordin kehittäjäportaalissa.
#Token
Generoidut botit lukevat tokenin ympäristömuuttujasta DISCORD_TOKEN (myös BOT_TOKEN tai TOKEN toimivat). Sitä ei koskaan kirjoiteta lähdekoodiin, eikä .env-tiedostoa generoida. Kohtele tokenia kuin salasanaa: jos se vuotaa, nollaa se Discordin kehittäjäportaalissa.
#Botin testiajo Codexessa
Bottiprojekteissa on Isännöi-paneeli botin kokeilemiseen ilman palvelimen pystyttämistä. Liitä bottitokenisi (tallennetaan salattuna, ja voit poistaa sen), sitten Käynnistä, Pysäytä, Käynnistä uudelleen ja seuraa Konsolia.
Tämä on testiympäristö, ei pysyvä isännöinti:
| Tilaus | Ajoaika liukuvaa 24 tuntia kohden |
|---|---|
| Free | 15 minuuttia |
| Pro | 4 tuntia |
| Business | 12 tuntia |
| Enterprise | 24 tuntia |
Kaikilla tilauksilla: istunto pysähtyy 30 minuutin jälkeen, tiliä kohden toimii yksi botti kerrallaan, ja käynnistyksiä on rajoitettu. Botit toimivat eristettyinä, internetyhteydellä mutta ilman pääsyä Codexen omiin järjestelmiin.
#Vahvistus
Discord-botteja ei vahvisteta koonnilla. Valmis tarkoittaa, että generointi päättyi (katso projektin elinkaari). Tarkista ne testiajolla.
#Ajaminen itse
Lataa ZIP, asenna riippuvuudet (pip install -r requirements.txt tai npm install), aseta DISCORD_TOKEN ympäristöösi ja käynnistä botti. Kutsu botti palvelimellesi bot- ja applications.commands-oikeusalueilla.
#Yleiset ongelmat
| Oire | Todennäköinen syy |
|---|---|
| Slash-komennot eivät näy | Komentoja ei ole vielä synkronoitu. Globaali synkronointi voi kestää jopa tunnin; palvelinkohtainen synkronointi on välitön. |
| Botti on paikalla mutta ei välitä viesteistä | Etuoikeutettua intenttiä ei ole otettu käyttöön kehittäjäportaalissa. |
| "The application did not respond" | Komento kesti yli 3 sekuntia ilman vastauksen lykkäämistä. Pyydä keskustelussa lykkäämään vastausta. |