ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±ΠΎΡΠ° Π² Π΄ΠΈΡΠΊΠΎΡΠ΄
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ Discord Π±ΠΎΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ discord.py
ΠΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° discord.py ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²ΡΠ΅ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ Π±ΠΎΡΠ°, Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅Π΅ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΡΠΌΠΈ ΠΊΠ°Π½Π°Π»Π°ΠΌΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΡΡΠ΅Π½ΡΠΊΠΎΠ³ΠΎ Π±ΠΎΡΠ° Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ discord ΡΠ΅ΡΠ²Π΅ΡΠ°.
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠΊΠ΅Π½Π° ΠΈ Client ID Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ Π±ΠΎΡΠ°
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠΊΠ΅Π½Π° ΠΈ ID Π±ΠΎΡΠ° Π½Π΅Π±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ General Information ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Client ID.
Π Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Π±ΠΎΡΠ° ΠΈ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΡΠΎΠΊΠ΅Π½. ΠΠ°Π΄Π°ΡΠ° Π½Π΅ ΡΠ»ΠΎΠΆΠ½Π°Ρ, Π΄ΡΠΌΠ°Ρ Π²ΡΠ΅ Ρ ΡΡΠΈΠΌ ΡΠΏΡΠ°Π²ΡΡΡΡ.
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΈΡΠ΅ΠΌ Π±ΠΎΡΠ°
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ discord.py Ρ ΠΏΠΎΠΌΠΎΡΡΡ pip:
ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°ΠΉΠ» bot.py, Π³Π΄Π΅ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΈΡΠ°ΡΡ Π±ΠΎΡΠ°.
ΠΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅:
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Ρ Π²Π°ΡΠΈΠΌ ΡΠΎΠΊΠ΅Π½ΠΎΠΌ, ΠΏΡΠΎ ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΠΏΠΈΡΠ°Π» Π²ΡΡΠ΅:
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΠΏΡΠΎΡΡΠ΅Π½ΡΠΊΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΠΎΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ»Π°ΡΡ:
Π Π² ΠΊΠΎΠ½ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ Π±ΠΎΡΠ° Ρ Π²Π°ΡΠΈΠΌ ΡΠΎΠΊΠ΅Π½ΠΎΠΌ:
Π ΠΈΡΠΎΠ³Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ Π²ΠΎΡ ΡΠ°ΠΊΠΎΠ΅:
Π’Π΅ΠΏΠ΅ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π±ΠΎΡΠ° Π½Π° ΡΠ΅ΡΠ²Π΅Ρ. Π‘Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΡΠ»ΠΊΠΈ:
Π§ΠΈΡΠ»ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΏΡΠ°Π² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π±ΠΎΡΠ°.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π±ΠΎΡΠ°:
ΠΠΎΡΠ»Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ΅ΠΊΡΠ½Π΄, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ Π΅Π³ΠΎ Π² ΡΠ΅ΡΠΈ:
Π Π½Π°ΠΊΠΎΠ½Π΅Ρ-ΡΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠΎΡ ΡΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Ρ ΡΠ΅Π±Ρ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π±ΠΎΡΠ°. ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π΅Π»Π°Π΅Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅ Π·Π° ΡΠ΅Π±Ρ ΠΈ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ python. Π ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π· Ρ ΠΏΠΎΠΊΠ°ΠΆΡ ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡ ΠΊ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΡΠΌ ΠΊΠ°Π½Π°Π»Π°ΠΌ (ΠΈΠ·Π±Π΅Π³Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ linux ΠΈ Windows), ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΠΈ ΠΈ ΠΏΡΠ°Π²Π° ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² ΠΈ Π΄ΡΡΠ³ΠΎΠ΅.
Discord bot Π½Π° Js | ΡΠ°ΠΌΡΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ²Π½ΡΠΉ Π³Π°ΠΉΠ΄ | Discord Js 12
Π‘Π΅Π³ΠΎΠ΄Π½Ρ Π±ΡΠ΄Π΅Ρ Π΄Π΅Π»Π°ΡΡ ΠΠΈΡΠΊΠΎΡΠ΄ Π±ΠΎΡΠ° Π½Π° ΠΠΆΡΡΡ!
Π§ΡΠΎ-ΠΆΠ΅ Π½Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ?
Π’Π°ΠΊ-ΠΆΠ΅ ΡΠ²Ρ, Π½ΠΎ Ρ Π½Π΅ Π±ΡΠ΄Ρ ΠΎΠ±ΡΡΡΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Π±ΠΎΡΠ° ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ node.js, ΠΌΠΎΡ ΡΠ΅Π»Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π²Π°ΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» discord.js, Π° Π½Π΅ ΡΠΎ, ΠΊΠ°ΠΊ Π΄Π΅Π»Π°ΡΡΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π±ΠΎΡΠ°.
Π‘ΠΎΠ·Π΄Π°ΡΠΌ ΠΏΠ°ΠΏΠΊΡ ΡΠΊΠ°ΠΆΠ΅ΠΌ. Π½Π° ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΡΡΠΎΠ»Π΅, ΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΠΌ Π΅Ρ Π»ΡΠ±ΡΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΡ Π½Π°ΡΠ΅Π³ΠΎ Π±ΠΎΡΠ°! Ρ ΠΌΠ΅Π½Ρ ΡΡΠΎ Π±ΠΎΡ Pixi (ΠΡΠ΅ ΠΏΡΠ°Π²Π° Π·Π°ΡΠΈΡΠ΅Π½Ρ, Π·Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ Π²Π°Ρ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ!)
Π ΡΠ°ΠΊ, Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ!
ΠΠ°Π»Π΅Π΅ ΠΏΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²ΠΊΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°!
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΏΠΈΡΠ΅ΠΌ:
ΠΠ°Π»Π΅Π΅ ΠΌΡ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ enter, Ρ ΠΎΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π΅ΡΡ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΏΠΎΠ»Π΅.. ΠΡΠΎ Π°Π²ΡΠΎΡ! Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π²Π°ΡΠ΅ ΠΈΠΌΡ Π½Π° ΠΠ½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ.
ΠΠ°Π»Π΅Π΅ ΡΠΎΠ·Π΄Π°ΡΠΌ ΡΠ°ΠΉΠ» config.json, index.js, ΠΈ Π² ΡΠ°ΠΉΠ» config.json ΠΏΠΈΡΠ΅ΠΌ:
ΠΠ°Π»Π΅Π΅ Π² ΡΠ°ΠΉΠ»Π΅ index.js ΠΏΠΈΡΠ΅ΠΌ:
Π§ΡΠΎ ΠΌΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°Ρ , Π° ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ°ΡΡΠΊΠ°ΠΆΡ Π·Π°ΡΠ΅ΠΌ Π½ΡΠΆΠ½Π° ΡΡΠ° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄!
ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎ ΡΠ°ΠΊΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² client.on(‘message’, message => <>, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΌΡ ΡΠΎΠ·Π΄Π°ΡΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π΄Π΅Π»Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.
Π ΡΠ°ΠΊ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΠ΅ΡΠ²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ!
ΠΡΡΠΊΠ°ΠΉ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ.. ΠΊΠΎΠΌΠ°Π½Π΄Π° hi, Π±ΠΎΡ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π½Π°ΠΌ ΠΏΡΠΈΠ²Π΅Ρ!
Π ΡΠ°ΠΊ. Π‘ΠΎΠ·Π΄Π°ΡΠΌ ΡΠ°ΠΉΠ» hi.js ΠΈ ΠΏΠΈΡΠ΅ΠΌ Π² Π½Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΠ°Π»ΡΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ Π±ΠΎΡΠ° (ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΈ ΠΈΠ΄ΡΠΌ ΡΠ΅ΡΠ΅Π· Π½Π΅Ρ Π² ΠΏΠ°ΠΏΠΊΡ Ρ Π±ΠΎΡΠΎΠΌ ΠΈ ΠΏΠΈΡΠ΅ΠΌ node index.js) ΠΈ Π²ΠΈΠ΄ΠΈΠΌ.
Π₯ΠΎΡΠΎΡΠΎ, Ρ Π½Π°Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ!
ΠΠ°Π²Π°ΠΉΡΠ΅.. Π‘Π΄Π΅Π»Π°Π΅ΠΌ ΠΏΠΈΠ½Π³! (ΠΠΎΡ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π½Π°ΠΌ Π·Π°Π΄Π΅ΡΠΆΠΊΡ ΠΊ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ )
Π ΠΏΠ°ΠΏΠΊΠ΅ commands ΡΠΎΠ·Π΄Π°ΡΠΌ Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» (ping.js) ΠΈ ΡΠ°ΠΌ ΠΏΠΈΡΠ΅ΠΌ:
ΠΠ°Π»Π΅Π΅ Ρ Ρ ΠΎΡΡ Π½Π°ΡΡΠΈΡΡ Π²Π°Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°Π½Π΄ΠΎΠΌΠ½ΡΠΌΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ Π³ΠΈΡΠΊΠ°ΠΌΠΈ, Π½Ρ ΠΈ ΡΡΡΠ΅ΠΊΡΠ°ΠΌΠΈ :3
Π‘ΠΎΠ·Π΄Π°ΡΠΌ ΡΠ°ΠΉΠ» fox.js ΠΈ ΠΏΠΈΡΠ΅ΠΌ Π² Π½Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΡ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ°Π½Π΄ΠΎΠΌΠ½ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ Π·Π½Π°Ρ ΡΠ°ΠΉΡ. Π’Π°ΠΊ Π²ΠΎΡ!
ΠΠ°Π»Π΅Π΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΏΡΠΎ ΡΡΡΠ΅ΠΊΡΡ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΊΡΠ°Π½ wasted Π½Π° Π°Π²Π°ΡΠ°ΡΠΊΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΈΡΠΊΠΎΡΠ΄!
Π‘ΠΎΠ·Π΄Π°ΡΠΌ ΡΠ°ΠΉΠ» wasted.js ( ΠΡ ΡΠΆΠ΅ Π·Π½Π°Π΅ΡΠ΅ Π³Π΄Π΅) )
Π ΡΠ°ΠΉΠ» say.js ΠΏΠΈΡΠ΅ΠΌ:
Π. ΠΠ° ΡΡΠΎΠΌ Π²ΡΡ! Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ ΠΈ ΠΏΠΎΠΊΠ°!
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Discord-Π±ΠΎΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ discord.js | Π§Π°ΡΡΡ β1
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ discord.js, ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ Discord-Π±ΠΎΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°ΠΆΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄.
Π‘ΡΠ°Π·Ρ Ρ ΠΎΡΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Ρ ΠΏΠ»Π°Π½ΠΈΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠ΄ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΡΠ°ΡΠ΅ΠΉ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΏΡΠΎΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄, Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Ρ ΠΌΡΠ·ΡΠΊΠΎΠΉ, ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΊΠΈ ΠΈ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠ΅ΠΌ Π³ΠΎΠ»ΠΎΡΠ° Π±ΠΎΡΠΎΠΌ.
ΠΠ°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΡ
ΠΡΠ»ΠΈ Π²Ρ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΡΠΌΠΈ Π½ΠΈΠΆΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°ΠΌΠΈ, β ΡΠΌΠ΅Π»ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ»ΠΈΡΡΠ°ΡΡ ΡΡΠΎΡ ΡΠ°Π·Π΄Π΅Π».
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ:
Π‘ΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΏΠΎ ΡΠ΄ΠΎΠ±ΡΡΠ²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΎΡΡΠΈ, ΠΎΠ½Π° Ρ Π²Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±Π°Ρ, Π½ΠΎ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΅Ρ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Visual Studio Code, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΡΡ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ ΠΎΠΏΡΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ².
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ ΡΡΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅.
ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΠ²ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅.
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±ΠΎΡΠ° ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ node.js. ΠΠ»Ρ Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° ΡΡΠΎΡ ΡΠ°ΠΉΡ.
ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ Π²Π΅ΡΡΠΈΡ Π΄ΠΎΠ»Π³ΠΎΡΡΠΎΡΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ (LTS), ΡΠΊΠ°ΡΠΈΠ²Π°Π΅ΠΌ Π΅Ρ.
Π Visual Studio Code ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ, ΠΊΠ»ΠΈΠΊΠ½ΠΈΡΠ΅ ΠΏΠΎ ΠΎΡΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΉ Π½ΠΈΠΆΠ΅ ΠΈΠΊΠΎΠ½ΠΊΠ΅.
Π ΠΎΡΠΊΡΡΠ²ΡΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π²ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅/ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ Π½Π°ΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ.
ΠΠ· ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ ΠΌΠΎΠ³Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ:
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±ΠΎΡΠ°
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Π²ΡΠ΅ Π½ΡΠΆΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΌΠΎΠ³ΠΎ Π±ΠΎΡΠ°.
ΠΠ΄Π΅ΡΡ Π²ΡΡ ΠΏΡΠΎΡΡΠΎ. ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π½Π° ΠΏΠΎΡΡΠ°Π» ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Ρ Π½Π°Π΄ΠΏΠΈΡΡΡ Β«New ApplicationΒ» β ΠΎΠ½Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΡΠ°Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ.
Π ΠΎΡΠΊΡΡΠ²ΡΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π²ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΠΈΠΌΡ Π±ΠΎΡΠ°, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ, Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Ρ Π½Π°Π΄ΠΏΠΈΡΡΡ Β«CreateΒ».
ΠΠ° ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠΌΡ Π±ΠΎΡΠ°, Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΠΈΠΊΠΎΠ½ΠΊΡ, Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅.
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΡΠ° Π·Π°Π΄Π°ΡΠ° β Π²ΠΎΠΏΠ»ΠΎΡΠΈΡΡ Π±ΠΎΡΠ° Π² ΠΆΠΈΠ·Π½Ρ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡ Β«BotΒ».
ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Ρ Π½Π°Π΄ΠΏΠΈΡΡΡ Β«Add BotΒ» ΠΈ Π²ΠΎΠΏΠ»ΠΎΡΠ°Π΅ΠΌ Π±ΠΎΡΠ° Π² ΠΆΠΈΠ·Π½Ρ.
ΠΠΎΠ·Π΄ΡΠ°Π²Π»ΡΡ! ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π°ΠΊΠΊΠ°ΡΠ½Ρ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ Π±ΠΎΡΠ°. Π’Π΅ΠΏΠ΅ΡΡ Ρ Π½Π΅Π³ΠΎ Π΅ΡΡΡ ΡΠ΅Π³, ΡΠΎΠΊΠ΅Π½, Π½ΠΈΠΊ ΠΈ ΠΈΠΊΠΎΠ½ΠΊΠ°.
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π°
ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ° Π΄Π»Ρ Π±ΠΎΡΠ°, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½ΡΠΆΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΡΡΠΎΠ±Ρ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΎΠ½ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π».
ΠΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ ΡΠΎΠ·Π΄Π°ΡΠΌ ΠΏΠ°ΠΏΠΊΡ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ Π΅Ρ Π² VS Code (Π€Π°ΠΉΠ» > ΠΡΠΊΡΡΡΡ ΠΏΠ°ΠΏΠΊΡ) / (Ctrl + K Ctrl + O)
ΠΠ°Π»Π΅Π΅ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» (Π’Π΅ΡΠΌΠΈΠ½Π°Π» > Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π») / (Ctrl + Shift + `)
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» Ρ Π½Π΅ΠΊΠΈΠΌ Β«ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌΒ» Π½Π°ΡΠ΅Π³ΠΎ Π±ΠΎΡΠ°, ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΡΡΠΎ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΠΌΠΈΠ½Π°Π».
ΠΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π΄Π°Π½Π½ΡΡ ΡΡΡΠΎΠΊΡ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Enter:
ΠΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΉΡΡ ΡΡΡΠΎΠΊΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Enter ΠΈΠ»ΠΈ Π²ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΡΠ²ΠΎΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ.
ΠΠ°Π»Π΅Π΅, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠΎΡΠ΅ΡΡΠ΄Π½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡΡ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΡΡΠΈ ΡΡΡΠΎΠΊΠΈ:
Β«InstallΒ» ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΊΡΠ°ΡΠ°ΡΡ Π² Β«IΒ», Π½ΠΎ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ.
ΠΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ ΠΈ Π²ΡΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, Π² Π²Π°ΡΠ΅ΠΉ ΠΏΠ°ΠΏΠΊΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΠ»ΠΈ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ 3 ΠΎΠ±ΡΠ΅ΠΊΡΠ°:
ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π½Π°Ρ Π±ΠΎΡ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π² ΡΠ΅ΡΠΈ ΠΈ ΠΌΠΎΠ³ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΠΊΠΎΠ΄.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π΄Π»Ρ Π΅Π³ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ: ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ», Π΄Π²Π°, Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ, ΠΈ Ρ.Π΄
ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π²Π°ΡΠΈΠ°Π½Ρ Ρ Π΄Π²ΡΠΌΡ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ ΠΈ ΡΠ΄ΠΎΠ±Π½ΠΎ, Π½ΠΎ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° Π΅ΡΡΡ ΡΠ²ΠΎΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΠΎ Π½Π΅ Π²ΠΎΠ»Π½ΡΠΉΡΠ΅ΡΡ, Π²Π΅ΡΡ ΠΊΠΎΠ΄ Π²Π°ΠΌ ΠΏΠΈΡΠ°ΡΡ Π½Π΅ ΠΏΡΠΈΠ΄ΡΡΡΡ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π°, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π³Π΄Π΅-ΡΠΎ Ρ ΡΠ°Π½ΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π±ΠΎΡΠ΅.
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π΄Π²ΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ:
Π Π°Π·Π±Π΅ΡΡΠΌ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅.
ΠΡΠ°ΠΊ, ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°ΠΉΠ» config.json
ΠΡΡΠ°Π²Π»ΡΠ΅ΠΌ Π² Π½Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
* ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠΊΠ΅Π½Π° Π·Π°ΠΉΠ΄ΠΈΡΠ΅ Π½Π° ΠΏΠΎΡΡΠ°Π» ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡ Β«BotΒ» ΠΈ ΡΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ Π΅Π³ΠΎ.
* Π‘Π°ΠΌΡΠΌ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΠΌ ΡΡΠ΅Π΄ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ !
ΠΠ°Π»Π΅Π΅ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» bot.js ΠΈ Π²ΡΡΠ°Π²ΠΈΡΡ Π² Π½Π΅Π³ΠΎ Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄:
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°ΡΠΌ ΡΠ°ΠΉΠ» comms.js, Π² Π½ΡΠΌ Π±ΡΠ΄ΡΡ ΡΠ°ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
Π Π½ΡΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
Π§ΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ β ΠΏΡΠΎΡΡΠΎ ΠΎΠ±ΡΡΠ²Π»ΡΠΉΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠΉΡΠ΅ ΠΈΡ Π² ΡΠΏΠΈΡΠΎΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
Π Π²ΠΎΡ, ΠΌΡ Π²ΡΡΠ»ΠΈ Π½Π° ΡΠΈΠ½ΠΈΡΠ½ΡΡ ΠΏΡΡΠΌΡΡ!
ΠΡΡΠ°Π»ΠΎΡΡ Π²ΡΠ΅Π³ΠΎ Π½ΠΈΡΠ΅Π³ΠΎ β Π·Π°ΠΏΡΡΡΠΈΡΡ Π±ΠΎΡΠ°.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΈ Π²ΡΡΠ°Π²Π»ΡΠ΅ΠΌ Π² Π½Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ:
ΠΠΎΡΠΎΠ²ΠΎ! ΠΠΎΡ Π·Π°ΠΏΡΡΠ΅Π½ ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ, ΡΡΠ°!
Π§ΡΠΎΠ±Ρ ΠΏΡΠΈΠ³Π»Π°ΡΠΈΡΡ Π±ΠΎΡΠ° Π½Π° ΡΠ²ΠΎΠΉ ΡΠ΅ΡΠ²Π΅Ρ, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π½Π°ΠΌ ΡΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌ ΠΏΠΎΡΡΠ°Π»ΠΎΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².
ΠΠ΅ΡΠ΅ΠΉΠ΄ΡΠΌ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡ OAuth2, ΠΏΡΠΎΠ»ΠΈΡΡΠ°Π΅ΠΌ ΡΡΡΡ Π½ΠΈΠΆΠ΅, Π²ΡΠ±Π΅ΡΠ΅ΠΌ Β«BotΒ» ΠΈ ΠΎΡΠΌΠ΅ΡΠΈΠΌ Π½ΡΠΆΠ½ΡΠ΅ Π±ΠΎΡΡ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΡΡΠ°Π»ΠΎΡΡ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠ»ΠΊΡ-ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π±ΠΎΡΠ° Π½Π° ΡΠ²ΠΎΠΉ ΡΠ΅ΡΠ²Π΅Ρ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π°:
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ, ΡΠ½Π°ΡΠ°Π»Π° ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠ»ΠΊΡ-ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΡΠ°ΠΉΠ» bot.js ΠΈ Π²ΡΡΠ°Π²ΠΈΡΡ Π΄Π°Π½Π½ΡΡ ΡΡΡΠΎΡΠΊΡ ΠΊΠΎΠ΄Π° ΡΡΠ΄Π°:
ΠΡΠΎΠ³ΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ°ΠΊΠΈΠΌ:
Π§ΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ ΠΈΡ Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ , ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ:
* ΠΡΠ΅ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π·Π°Π³Π»Π°Π²Π½ΡΠΌΠΈ Π±ΡΠΊΠ²Π°ΠΌΠΈ
Π‘ΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ:
ADMINISTRATOR
CREATE_INSTANT_INVITE
KICK_MEMBERS
BAN_MEMBERS
MANAGE_CHANNELS
MANAGE_GUILD
ADD_REACTIONS
VIEW_AUDIT_LOG
PRIORITY_SPEAKER
STREAM
VIEW_CHANNEL
SEND_MESSAGES
SEND_TTS_MESSAGES
MANAGE_MESSAGES
EMBED_LINKS
ATTACH_FILES
READ_MESSAGE_HISTORY
MENTION_EVERYONE
USE_EXTERNAL_EMOJIS
VIEW_GUILD_INSIGHTS
CONNECT
SPEAK
MUTE_MEMBERS
DEAFEN_MEMBERS
MOVE_MEMBERS
USE_VAD
CHANGE_NICKNAME
MANAGE_NICKNAMES
MANAGE_ROLES
MANAGE_WEBHOOKS
MANAGE_EMOJIS
Π― Π½Π΅ ΡΠΎΠ²Π΅ΡΡΡ Π²Π°ΠΌ ΠΈΠ· ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ADMINISTRATOR, ΠΏΠΎΡΡΠΎΠΌΡ Π»ΡΡΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΠΎΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄Π»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ
ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Ρ ΠΏΠΎΠΊΠ°Π·Π°Π» Π²Π°ΠΌ, ΠΊΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ Π±ΠΎΡΠ° ΠΈ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
Π’Π΅ΠΏΠ΅ΡΡ Ρ Ρ
ΠΎΡΡ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Ρ Π²Π°ΠΌΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ.
ΠΠ΅ ΡΡΠΎΠΈΡ ΠΏΡΠ³Π°ΡΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π·Π΄Π΅ΡΡ Π²ΡΡ ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠΎΡ ΠΈ ΠΏΠΎΠ΄ΠΎΡΠ»Π° ΠΊ ΠΊΠΎΠ½ΡΡ ΠΏΠ΅ΡΠ²Π°Ρ ΡΠ°ΡΡΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΠΎΠ·Π΄Π°ΡΡ Π±ΠΎΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ discord.js ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ.
ΠΡΠΎΠ³ΠΎ, ΠΈΠ· ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ ΠΌΡ Π²ΡΡΡΠ½ΠΈΠ»ΠΈ:
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»Π°ΡΡ ΠΌΠΎΡ ΡΡΠ°ΡΡΡ ΠΈ Π²Ρ ΡΠ·Π½Π°Π»ΠΈ ΠΈΠ· Π½Π΅Ρ ΡΡΠΎ-ΡΠΎ Π½ΠΎΠ²ΠΎΠ΅.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±ΠΎΡΠ° ΠΠΈΡΠΊΠΎΡΠ΄ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ discord.js
ΠΡΠ΅Π΄ΡΡΡΠΎΡΠΈΡ
Π― Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π»ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ Π±ΠΎΡΠ° Π΄Π»Ρ Discord, Π½ΠΎ Π²ΡΡ ΡΡΠΎ Ρ Π½Π°ΡΡΠ», Π±ΡΠ»ΠΎ ΠΏΠ°ΡΡ Π²ΠΈΠ΄Π΅ΠΎ Π½Π° YouTube, Π΄Π° ΠΈ ΡΠΎ ΡΠ°ΠΌ ΠΏΡΠΎΡΡΠΎ ΠΏΠΈΡΠ°Π»ΠΈ ΠΊΠΎΠ΄, Π±Π΅Π· Π²ΡΡΠΊΠΈΡ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΠΉ. ΠΠΎΡΡΠΎΠΌΡ Ρ Ρ ΠΎΡΡ Π½Π°ΡΠ°ΡΡ ΡΠ΅ΡΠΈΡ ΡΡΠ°ΡΠ΅ΠΉ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±ΠΎΡΠΎΠ² Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ discord.js.
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠΊΠ΅Π½Π° Π±ΠΎΡΠ°
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΉΡΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π½Π°ΠΆΠ°ΡΡ New Application.
ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ, Π½Π°ΠΌ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ°Ρ Π½Π°Π·Π²Π°ΡΡ Π½Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠ²ΠΎΠ΄ΠΈΠΌ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Create. ΠΡ ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΠΌ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π³Π΄Π΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, Π°Π²Π°ΡΠ°Ρ, ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈ ΡΠ΄. ΠΠΎ Π½Π°ΠΌ ΡΡΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ Π½ΡΠΆΠ½ΠΎ, ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡ Bot. Π ΡΠΎΠ·Π΄Π°ΡΠΌ Π±ΠΎΡΠ°.
ΠΡΡΠ°Π»ΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠΊΠ΅Π½.
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Node.js ΠΈ Visual Studio Code (VS code), Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±ΠΎΡΠ°. ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ VS code. ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΠΏΠ°ΠΏΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅Ρ Ρ ΡΠ°Π½ΠΈΡΡΡ Π½Π°Ρ Π±ΠΎΡ. ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΠΈΠ΄->Π’Π΅ΡΠΌΠΈΠ½Π°Π», ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π».
ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΡ «ΡΠ΅Π»Π°» Π±ΠΎΡΠ°
ΠΠ»Ρ Π½Π°ΡΠ°Π»ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π±ΠΎΡΠ°.
ΠΠΎΡΠ»Π΅ Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΡΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ Π²Π°Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΎ Π±ΠΎΡΠ΅ (ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΆΠ°Π² Enter). Π ΠΊΠΎΠ½ΡΠ΅ ΠΎΠ½Π° ΡΠΏΡΠΎΡΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π»ΠΈ Π²ΡΡ ΡΠΊΠ°Π·Π°Π½ΠΎ ΠΈ Π²ΡΠ²Π΅Π΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΎΡΠ²Π΅ΡΡ.
ΠΠΎΡΠ»Π΅ Π²Π²ΠΎΠ΄Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°ΡΡ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅! ΠΠΎΡΠ»Π΅ Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄, ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ, Π½Π΅ Π±ΠΎΠΉΡΠ΅ΡΡ, Π½ΠΈΡΠ΅Π³ΠΎ ΡΡΡΠ°ΡΠ½ΠΎΠ³ΠΎ.
ΠΡΠ»ΠΈ Π²Ρ Π²ΡΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΡΠΎ Π² ΠΏΠ°ΠΏΠΊΠ΅ Π±ΠΎΡΠ° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅.
ΠΠ°Π»Π΅Π΅ ΡΠΎΠ·Π΄Π°ΡΠΌ ΡΠ°ΠΉΠ» botconfig.json, Π·Π΄Π΅ΡΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Ρ ΡΠ°Π½ΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π±ΠΎΡΠ°.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°ΡΠΌ ΡΠ°ΠΉΠ» index.js, Π² Π½Π΅Π³ΠΎ ΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄.
Π ΠΌΡ Π½Π° ΡΠΈΠ½ΠΈΡΠ½ΠΎΠΉ ΠΏΡΡΠΌΠΎΠΉ! ΠΠΈΡΠ΅ΠΌ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π±ΠΎΡΠ°.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅! ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠΌΠ΅Π½ΡΠ»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π΅Π³ΠΎ.
ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΎΡΡΠ°ΡΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π±ΠΎΡΠ° Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΏΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅.
ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ Π±ΠΎΡΠ° Π² Discord
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΡΠ°ΡΡΠΎ ΡΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Π±ΠΎΡΠ° Π² ΠΠΈΡΠΊΠΎΡΠ΄Π΅ ΠΈ ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ. Π‘ΡΠ°Π·Ρ ΠΎΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΎΠΉ ΡΠ΅Π»ΠΈ β Π½Π΅ΠΏΡΠΎΡΡΠ°Ρ Π·Π°Π΄Π°ΡΠ°, Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ discord.js, Π½Π° Python ΠΈΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Discord Bot Maker.
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΠΈΡΠΊΠΎΡΠ΄-Π±ΠΎΡΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ discord.js
ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ API Discord ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΠΎΠ·Π΄Π°ΡΡ, Π° Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΎΡΠ°. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ Π»Π΅Π³ΠΊΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠ° Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°Π·Π½ΡΡ Π·Π°Π΄Π°Ρ, Π° Π΄Π°Π»Π΅Π΅ Π·Π°Π΄Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ Π½Π°Π±ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄. ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΠ±ΡΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±ΠΎΡΠ° Π΄Π»Ρ ΠΌΡΠ·ΡΠΊΠΈ. ΠΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅ ΠΎΠ½ ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°ΡΡ, ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΡ ΠΈ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΌΡΠ·ΡΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ Π²Ρ ΠΎΠ΄ΠΈΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π½Π° ΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅Π»ΠΎΠ΄ΠΈΠΈ.
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ:
ΠΡΠΈΡ
Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π±ΠΎΡΠ° ΠΠΈΡΠΊΠΎΡΠ΄, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ Π΅Π³ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ OAuth2 URL-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°. Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ:
ΠΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠ°ΠΏΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π΅Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΠΊΠΎΠΌΠ°Π½Π΄ β mkdir musicbot && cd musicbot. ΠΠ°Π»Π΅Π΅ ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Π’Π΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠ΄ javascript. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
const Discord = require(βdiscord.jsβ);
const ytdl = require(βytdl-coreβ);
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠΊΠ΅Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈ Π»ΠΎΠ³ΠΈΠ½.
const client = new Discord.Client();
ΠΠ°Π»Π΅Π΅ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ listeners, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ console.log ΠΏΡΠΈ ΠΏΡΡΠΊΠ΅.
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π½Π°ΡΠ½ΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π±ΠΎΡΠΎΠΌ ΠΠΈΡΠΊΠΎΡΠ΄ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ node. ΠΠ°ΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ Π²Π½ΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Discord-Π±ΠΎΡ Π±ΡΠ» ΠΎΠ½Π»Π°ΠΉΠ½. Π ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΏΠΎΡΠ²ΠΈΡΡΡ Ready!. ΠΠΎΠΌΠ°Π½Π΄Π° β node index.js.
ΠΠ°Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π»Ρ Π±ΠΎΡΠ° ΠΠΈΡΠΊΠΎΡΠ΄
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΡΡΠ°Π΅ΡΡΡ Π·Π°Π΄Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΠ»Ρ ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ
Π§ΡΠΎΠ±Ρ ΠΠΈΡΠΊΠΎΡΠ΄-Π±ΠΎΡ ΠΌΠΎΠ³ ΡΠΈΡΠ°ΡΡ, Π½Π°ΠΏΠΈΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ.
client.on(βmessageβ, async message => <
ΠΠ°Π»Π΅Π΅ ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ listener Π΄Π»Ρ massage-ΡΠΎΠ±ΡΡΠΈΡ, ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ Π΅Π³ΠΎ Π² massage. ΠΡΠ»ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΡΠΈΡΠ»Π° ΠΎΡ Π±ΠΎΡΠ° ΠΠΈΡΠΊΠΎΡΠ΄, ΠΈΠ³Π½ΠΎΡΠΈΡΡΠΉΡΠ΅ Π΅Π΅. ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
if (message.author.bot) return;
ΠΡΠ»ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π²Π΅ΡΠ½ΡΠ»ΠΎΡΡ, Π·Π½Π°ΡΠΈΡ, Π΅Π³ΠΎ ΡΠΌΠΎΠ³ ΡΠΎΠ·Π΄Π°ΡΡ Π±ΠΎΡ. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, Ρ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΏΡΠ΅ΡΠΈΠΊΡΠ° ΠΎΠ½ΠΎ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ.
if (!message.content.startsWith(prefix)) return;
ΠΠ°Π»Π΅Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
> else if (message.content.startsWith(`$
> else if (message.content.startsWith(`$
message.channel.send(βYou need to enter a valid command!β)
ΠΠΎΡΠ»Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ, ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΠ΅ ΠΊ ΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π½
ΠΠ΄Π΅ΡΡ Π½ΡΠΆΠ½Π° Π³ΠΈΠ»ΡΠ΄ΠΈΡ, ΠΏΠ΅ΡΠ½Ρ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ytdl (Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π·Π°ΡΠ°Π½Π΅Π΅). Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ map Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ, Π³Π΄Π΅ Π±ΡΠ΄ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ ΠΏΠ΅ΡΠ½ΠΈ.
const queue = new Map();
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ async0-ΡΡΠ½ΠΊΡΠΈΡ Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ execute ΠΈ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΡΠ°ΡΠ΅, ΠΈ ΠΈΠΌΠ΅Π΅ΡΡΡ Π»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΡΠΈ Π΅Π³ΠΎ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΠΏΠΈΡΠ΅ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅.
async function execute(message, serverQueue) <
const args = message.content.split(β β);
const voiceChannel = message.member.voiceChannel;
if (!voiceChannel) return message.channel.send(βYou need to be in a voice channel to play music!β);
const permissions = voiceChannel.permissionsFor(message.client.user);
return message.channel.send(βI need the permissions to join and speak in your voice channel!β);
ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΎ ΠΏΠ΅ΡΠ½Π΅ ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ Π΅Π΅ Π² song. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ytdl-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΏΠΎΠ»ΡΡΠ°ΡΡΠ°Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ ΡΡΡΠ±-ΡΡΡΠ»ΠΊΠ΅.
const songInfo = await ytdl.getInfo(args[1]);
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π² song. Π’Π΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠΉ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠ°ΠΊΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ serverQueue (ΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΌΡΠ·ΡΠΊΠΈ), Π° ΠΏΠΎΡΠ»Π΅ ΠΎΡΠΏΡΠ°Π²ΡΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°. ΠΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ΄Π΅Π»Π°ΡΡ, Π½ΡΠΆΠ½ΠΎ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡΡ Ρ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΡΠΌ ΠΊΠ°Π½Π°Π»ΠΎΠΌ ΠΈ Π½Π°ΡΠ°ΡΡ ΠΈΠ³ΡΠ°ΡΡ ΠΏΠ΅ΡΠ½Ρ.
return message.channel.send(`$
Π ΡΠ°Π·Π΄Π΅Π» serverQueue, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΠΏΡΡΡΠΎΠΉ, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΠ΅ΠΊ. Π ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° serverQueue ΠΈΠΌΠ΅Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ null, ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡ.
// Creating the contract for our queue
// Setting the queue using our contract
// Pushing the song to our songs array
// Here we try to join the voicechat and save our connection into our object.
var connection = await voiceChannel.join();
// Calling the play function to start a song
// Printing the error message if the bot fails to join the voicechat
ΠΡΠΎΠΈΠ³ΡΡΠ²Π°Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
Π’Π΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠΏΡΠΈΡ play Π΄Π»Ρ Π±ΠΎΡΠ° ΠΠΈΡΠΊΠΎΡΠ΄ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ Π³ΠΈΠ»ΡΠ΄ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ½Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ° song.
function play(guild, song) <
const serverQueue = queue.get(guild.id);
ΠΡΠ»ΠΈ Π΄Π°, Π½ΡΠΆΠ½ΠΎ ΡΠΉΡΠΈ Ρ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ.
ΠΠ°Π»Π΅Π΅ ΡΡΠ΅ΠΊ ΠΈΠ³ΡΠ°Π΅Ρ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ URL ΠΈ playStream.
const dispatcher = serverQueue.connection.playStream(ytdl(song.url))
// Deletes the finished song from the queue
// Calls the play function again with the next song
ΠΠ΄Π΅ΡΡ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ stream, Π° Π΅Π³ΠΎ URL ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π°Π΄ΡΠ΅ΡΡ ΠΏΠ΅ΡΠ½ΠΈ.
ΠΡΠΎΠΏΡΡΠΊ ΡΡΠ΅ΠΊΠ°
ΠΠ΄Π΅ΡΡ ΠΎΡΠΎΡΠΌΠΈΡΠ΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΡΠ΄Π΅Π»Π°Π½ Π² ΠΎΠΏΡΠΈΠΈ play. Π’Π°ΠΊΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°Π» ΠΈΠ³ΡΠ°ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΡΠ΅ΠΊ.
function skip(message, serverQueue) <
if (!message.member.voiceChannel) return message.channel.send(βYou have to be in a voice channel to stop the music!β);
if (!serverQueue) return message.channel.send(βThere is no song that I could skip!β);
ΠΠ΄Π΅ΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ, Π΅ΡΡΡ Π»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² Π³ΠΎΠ»ΠΎΡΠΎΠ²ΠΎΠΌ ΠΊΠ°Π½Π°Π»Π΅, ΠΈ ΠΈΠΌΠ΅Π΅ΡΡΡ Π»ΠΈ ΡΡΠ΅ΠΊ Π΄Π»Ρ ΠΏΡΠΎΠΏΡΡΠΊΠ°.
ΠΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
ΠΠΏΡΠΈΡ stop ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ ΠΎΡΠΈΡΡΠΊΡ ΠΌΠ°ΡΡΠΈΠ²Π° song, ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΈ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΡΠ°ΡΠ°.
function stop(message, serverQueue) <
if (!message.member.voiceChannel) return message.channel.send(βYou have to be in a voice channel to stop the music!β);
ΠΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ΄ Π±ΠΎΡΠ° Π΄Π»Ρ ΠΠΈΡΠΊΠΎΡΠ΄
const Discord = require(βdiscord.jsβ);
const ytdl = require(βytdl-coreβ);
const client = new Discord.Client();
const queue = new Map();
client.on(βmessageβ, async message => <
if (message.author.bot) return;
if (!message.content.startsWith(prefix)) return;
const serverQueue = queue.get(message.guild.id);
> else if (message.content.startsWith(`$
> else if (message.content.startsWith(`$
message.channel.send(βYou need to enter a valid command!β)
async function execute(message, serverQueue) <