ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² discord
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±ΠΎΡΠ° ΠΠΈΡΠΊΠΎΡΠ΄ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ 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.py
ΠΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° discord.py ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²ΡΠ΅ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ Π±ΠΎΡΠ°, Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅Π΅ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΡΠΌΠΈ ΠΊΠ°Π½Π°Π»Π°ΠΌΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΡΡΠ΅Π½ΡΠΊΠΎΠ³ΠΎ Π±ΠΎΡΠ° Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ discord ΡΠ΅ΡΠ²Π΅ΡΠ°.
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠΊΠ΅Π½Π° ΠΈ Client ID Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ Π±ΠΎΡΠ°
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠΊΠ΅Π½Π° ΠΈ ID Π±ΠΎΡΠ° Π½Π΅Π±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ General Information ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Client ID.
Π Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Π±ΠΎΡΠ° ΠΈ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΡΠΎΠΊΠ΅Π½. ΠΠ°Π΄Π°ΡΠ° Π½Π΅ ΡΠ»ΠΎΠΆΠ½Π°Ρ, Π΄ΡΠΌΠ°Ρ Π²ΡΠ΅ Ρ ΡΡΠΈΠΌ ΡΠΏΡΠ°Π²ΡΡΡΡ.
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΈΡΠ΅ΠΌ Π±ΠΎΡΠ°
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ discord.py Ρ ΠΏΠΎΠΌΠΎΡΡΡ pip:
ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°ΠΉΠ» bot.py, Π³Π΄Π΅ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΈΡΠ°ΡΡ Π±ΠΎΡΠ°.
ΠΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅:
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Ρ Π²Π°ΡΠΈΠΌ ΡΠΎΠΊΠ΅Π½ΠΎΠΌ, ΠΏΡΠΎ ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΠΏΠΈΡΠ°Π» Π²ΡΡΠ΅:
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΠΏΡΠΎΡΡΠ΅Π½ΡΠΊΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΠΎΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ»Π°ΡΡ:
Π Π² ΠΊΠΎΠ½ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ Π±ΠΎΡΠ° Ρ Π²Π°ΡΠΈΠΌ ΡΠΎΠΊΠ΅Π½ΠΎΠΌ:
Π ΠΈΡΠΎΠ³Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ Π²ΠΎΡ ΡΠ°ΠΊΠΎΠ΅:
Π’Π΅ΠΏΠ΅ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π±ΠΎΡΠ° Π½Π° ΡΠ΅ΡΠ²Π΅Ρ. Π‘Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΡΠ»ΠΊΠΈ:
Π§ΠΈΡΠ»ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΏΡΠ°Π² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π±ΠΎΡΠ°.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π±ΠΎΡΠ°:
ΠΠΎΡΠ»Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ΅ΠΊΡΠ½Π΄, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ Π΅Π³ΠΎ Π² ΡΠ΅ΡΠΈ:
Π Π½Π°ΠΊΠΎΠ½Π΅Ρ-ΡΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠΎΡ ΡΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Ρ ΡΠ΅Π±Ρ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π±ΠΎΡΠ°. ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π΅Π»Π°Π΅Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅ Π·Π° ΡΠ΅Π±Ρ ΠΈ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ python. Π ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π· Ρ ΠΏΠΎΠΊΠ°ΠΆΡ ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡ ΠΊ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΡΠΌ ΠΊΠ°Π½Π°Π»Π°ΠΌ (ΠΈΠ·Π±Π΅Π³Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ linux ΠΈ Windows), ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΠΈ ΠΈ ΠΏΡΠ°Π²Π° ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² ΠΈ Π΄ΡΡΠ³ΠΎΠ΅.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ 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 (NodeJS + Docker)
Π ΡΡΠΎΠΌ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌ HOWTO Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°Π½ΡΡΡ ΡΠ΅Π±Ρ Π½Π° Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½Π° ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ Π±ΠΎΡΠ° Π΄Π»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ Discord-ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΡ ΡΠ°Π·Π²Π΅ΡΠ½Π΅ΠΌ NodeJS Π² Docker ΠΏΠΎΠ΄ Ubuntu 18.04 ΠΈ Π·Π°ΠΏΡΡΡΠΈΠΌ Π² Π½Π΅ΠΌ Π±ΠΎΡΠ° Ρ ΠΏΠ°ΡΠΎΡΠΊΠΎΠΉ ΠΏΡΠΎΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄. Π ΠΊΠΎΠ½ΡΠ΅ Ρ ΠΎΡΡΠ°Π²Π»Ρ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π΄Π°Π»ΡΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡ Π±ΠΎΡΠ°, Π½Π°Π΄Π΅Π»ΡΡ Π΅Π³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ΅ Π² ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅:
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ, ΡΡΠΎ Π²Ρ ΠΎΠ±Π»Π°Π΄Π°Π΅ΡΠ΅ Π½Π°Π²ΡΠΊΠ°ΠΌΠΈ ΡΠ°Π±ΠΎΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Linux.
ΠΠ΅ΡΠ²ΡΠ΅ ΡΠ°Π³ΠΈ
ΠΠ΅ΡΠ²ΡΠΌ ΡΠ°Π³ΠΎΠΌ ΡΡΠ°Π½Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅ Discord (ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Ρ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Ρ). ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΎΠΉΡΠΈ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ ΠΈ Π½Π°ΠΆΠ°ΡΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ βNew applicationβ.
Π ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡ ΠΈΠΌΡ ΡΠ²ΠΎΠ΅ΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (Π±ΡΠ΄ΡΡΠ΅ΠΌΡ Π±ΠΎΡΡ):
ΠΠΎΡΠ»Π΅ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±ΠΎΡΠ°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² Π»Π΅Π²ΠΎΠΌ ΠΌΠ΅Π½Ρ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠ½ΠΊΡ βBotβ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ βAdd Botβ.
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΡΠ°Π³ΠΎΠΌ Π·Π΄Π΅ΡΡ Π±ΡΠ΄Π΅Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ token ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ βCopyβ. ΠΠ΅ΡΠΆΠΈΡΠ΅ Π² ΡΠ΅ΠΊΡΠ΅ΡΠ΅ Π²Π°Ρ token ΠΈ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΠ΅ Π΅Π³ΠΎ ΠΊΡΠ΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ β ΠΎΠ½ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅.
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΡΠ΅ΡΠ²Π΅ΡΠ°
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠΈ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π±ΠΎΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ VDS ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Ubuntu 18.04. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π±ΠΎΡΠ° ΠΈ Π½Π° Π΄ΡΡΠ³ΠΈΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ , ΡΠ±Π΅Π΄ΠΈΠ²ΡΠΈΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π² Π½ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π½ΡΠΆΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ.
ΠΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π² Ubuntu 18.04:
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π΄ΡΡΠ³ΠΎΠΉ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ², ΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ Π² ΠΏΠΎΠΈΡΠΊΠΎΠ²ΠΈΠΊΠ΅.
Π§ΠΈΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΊΠΆΠ΅
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΠ°ΠΊ Ρ ΡΠΊΠ°Π·Π°Π» Π² Π½Π°ΡΠ°Π»Π΅ ΡΡΠ°ΡΡΠΈ, ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ NodeJS Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π±ΠΎΡΠ°. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΡΡΡΡ Π΄Π²Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ:
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°Π±ΠΎΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΡΠ°ΠΉΠ» package.json. Π ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ°Π±ΠΎΡΠ°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ /home, Π½ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ Π»ΡΠ±ΡΡ Π΄ΡΡΠ³ΡΡ Π½Π° ΡΠ²ΠΎΠ΅ ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅.
ΠΡΠΈΠΌΠ΅ΡΠ½ΡΠΉ Π²ΠΈΠ΄ ΡΠ°ΠΉΠ»Π°:
Π Π½Π΅ΠΌ ΠΌΡ ΡΠΊΠ°Π·Π°Π»ΠΈ ΠΈΠΌΡ Π±ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° (name), Π²Π΅ΡΡΠΈΡ (version), ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ (description), Π°Π²ΡΠΎΡΠ° (author), ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°ΠΉΠ» (app.js) ΠΈ ΡΠΏΠΈΡΠΎΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ (dependencies).
ΠΠ°ΠΏΡΡΡΠΈΠΌ npm install ΠΈ ΡΠ±Π΅Π΄ΠΈΠΌΡΡ, ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π»ΡΡ ΡΠ°ΠΉΠ» package-lock.json, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΠΎΠΌ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°ΠΉΠ» ΡΠ°ΠΌΠΎΠ³ΠΎ Π±ΠΎΡΠ° app.js ΠΈ Π·Π°ΠΏΠΈΡΠ΅ΠΌ Π² Π½Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
ΠΠΌΠ΅ΡΡΠΎ βtokenbotβ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ token Π±ΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΡΠΎΡ ΡΠ°Π½Π΅Π½ Π² Π½Π°ΡΠ°Π»Π΅ ΡΡΠ°ΡΡΠΈ, Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ prefix ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ», ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ΄ΡΡ Π²Π²ΠΎΠ΄ΠΈΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. Π― Π²ΡΠ±ΡΠ°Π» Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠ΅ΡΠΈΠΊΡΠ° β!β, Π½ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ», Π΅ΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°ΠΌΠΈΠΌ Discord, ΠΊΠ°ΠΊ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ β@β ΠΈΠ»ΠΈ β/β.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Docker-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°
Π’Π΅ΠΏΠ΅ΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Dockerfile, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΎΠ±ΡΠ°Π·Π°, Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠ΅Π½ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ. Π Π½Π΅Π³ΠΎ ΠΌΡ Π·Π°ΠΏΠΈΡΠ΅ΠΌ:
Π‘ΠΎΠ±Π΅ΡΠ΅ΠΌ ΠΎΠ±ΡΠ°Π· ΠΈ Π·Π°ΠΏΡΡΡΠΈΠΌ Π½Π° Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ:
ΠΠΌΠ΅ΡΡΠΎ βauthornameβ ΠΌΠΎΠΆΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΎΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π±ΠΎΡ, ΠΈ ΡΠ΅ΡΠ΅Π· β/β ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠΌΡ Π±ΠΎΡΠ°.
ΠΡΠΎΠ²Π΅ΡΠΈΠΌ, ΡΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π·Π°ΠΏΡΡΡΠΈΠ»ΡΡ, ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π±ΠΎΡΠ° Π½Π° ΡΠ΅ΡΠ²Π΅Ρ
ΠΠΎΡ Π·Π°ΠΏΡΡΠ΅Π½ ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅. ΠΡΡΠ°Π»ΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠ³Π»Π°ΡΠΈΡΡ Π΅Π³ΠΎ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΡ.
ΠΠ»Ρ ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ:
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Π΄Π²ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄, ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΡΠ°Π½Π΅Π΅:
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎΠ·Π΄Π°Π»ΠΈ Π±ΠΎΡΠ°, Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄, Π·Π°ΠΏΡΡΡΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΈ ΠΏΡΠΈΠ³Π»Π°ΡΠΈΠ»ΠΈ Π±ΠΎΡΠ° Π½Π° ΡΠ΅ΡΠ²Π΅Ρ.
ΠΠ°Π»Π΅Π΅ Π±ΠΎΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡ, Π½Π°ΠΏΠΎΠ»Π½ΡΡ Π΅Π³ΠΎ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²Π°ΠΌ ΠΏΡΠΈΠ³ΠΎΠ΄ΡΡΡΡ Π·Π½Π°Π½ΠΈΡ JavaScript ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ:
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π΄Π»Ρ Π²ΡΠ΅Ρ , ΠΊΡΠΎ Π΄Π°Π²Π½ΠΎ Ρ ΠΎΡΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π±ΠΎΡΠ° Π² Discord, Π½ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ, Ρ ΡΠ΅Π³ΠΎ Π½Π°ΡΠ°ΡΡ.
ΠΠΎΠΏΡΠΎΡΡ ΠΈ ΠΏΠΎΠΆΠ΅Π»Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ°Π²Π»ΡΡΡ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ . Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Π±ΠΎΡΠ° Π² Discord
Π ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π±ΠΎΡΠ°, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ²Π°Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΈ ΠΏΠΈΡΠ΅ΡΡΡ ΠΎΠ±ΡΠΈΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ. ΠΠΌΠ΅Ρ Β«ΠΊΠ°ΡΠΊΠ°ΡΒ», Π²Ρ ΡΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΡΡΠ°Π·Ρ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ Π±ΠΎΡΠ°
ΠΠ°Π»Π΅Π΅ ΡΠ΅ΡΡ ΠΏΠΎΠΉΠ΄Π΅Ρ ΠΎ Π΄Π²ΡΡ ΡΠ°Π·Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±ΠΎΡΠ° β ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ JavaScript ΠΈ Python. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΈ Π½ΡΠ°Π½ΡΡ, Π½ΠΎ Π²ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Π±ΠΎΡΠ° Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΎΡΡΠ°Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΏΠΎΠ΄Π±ΠΎΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΊΠΎΠ΄ΠΎΠΌ.
ΠΡΠ±ΠΎΡ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
ΠΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π² ΡΠΏΠΎΠΌΡΠ½ΡΡΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΡΠ½ΠΈΠΌ, ΡΡΠΎ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΈΠ»ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Python ΠΈΠ»ΠΈ JavaScript (Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ). ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΡΠΎ Β«ΠΠ»ΠΎΠΊΠ½ΠΎΡΒ», Π½ΠΎ ΠΏΠΎ ΡΠ΄ΠΎΠ±ΡΡΠ²Ρ ΠΎΠ½ ΡΡΡΡΠΏΠ°Π΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ. ΠΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΠΈΡ ΡΠΏΠΈΡΠΊΠΈ Π² ΠΎΠ±Π·ΠΎΡΠ°Ρ ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΡΡΠ»ΠΊΠ°ΠΌ ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π΄Π»Ρ ΡΠ΅Π±Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΡΠΎΡΡ.
ΠΠ°ΡΠΈΠ°Π½Ρ 1: Python ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° discord
ΠΡΠ»ΠΈ ΡΠ°Π½Π΅Π΅ Π²Ρ Π½Π΅ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡ Ρ ΡΠ·ΡΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ Π½ΠΈΠΌΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠ½ΠΎ, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±ΠΎΡΠ° Π΄Π»Ρ Discord Π½Π° Python β Π»ΡΡΡΠΈΠΉ Π²ΡΠ±ΠΎΡ. ΠΡΠΎΡ Π―Π ΠΏΡΠΎΡΠ΅ ΡΡΠΈΡΡΡ, ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠΉ ΠΈ ΠΈΠΌΠ΅Π΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π½ΠΎΠ²ΠΈΡΠΊΠ°ΠΌ. Π ΡΠΎΠΌΡ ΠΆΠ΅ Π² ΡΠ΅ΡΠΈ Π΅ΡΡΡ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΎΠ² Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΡΠΆΠ΅ Π³ΠΎΡΠΎΠ²ΡΠΌΠΈ Π±ΠΎΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΌΠ΅ΡΠ°Π΅Ρ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ²ΠΎΠΈΡ ΡΠ΅Π»ΡΡ . Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°Π³Π°Ρ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Β«ΠΊΠ°ΡΠΊΠ°ΡΒ» Π±ΠΎΡΠ° Π½Π° Python ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ.
Π¨Π°Π³ 1: Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Python ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ discord
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² Windows Π½Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΡΡΠΈΠ»ΠΈΡ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΠΈΡΠΎΠ½ΠΎΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΡ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ, Π½Π΅ Π·Π°Π±ΡΠ² ΠΏΡΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ discord, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌΠΈ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Ρ ΠΠΈΡΠΊΠΎΡΠ΄ΠΎΠΌ.
ΠΡΠ»ΠΈ Python Ρ Π²Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, Π½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° PIP, ΠΎ ΡΠ΅ΠΌ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π² Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠ°ΠΉΡΠ΅. Π’Π°ΠΌ ΠΆΠ΅ Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΈ ΠΏΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ΅Π΄Ρ, Π΅ΡΠ»ΠΈ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ.
Π¨Π°Π³ 2: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ»ΠΎΠ²Π°ΡΡ Π±ΠΎΡΠ°
Π ΡΡΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π±ΠΎΡΠ°, ΡΠΎ Π΅ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ», Ρ ΡΠ°Π½ΡΡΠΈΠΉ Π² ΡΠ°Π·Π½ΡΡ ΠΈΠΌΠ΅Π½Π°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΎΠΊΠ΅Π½Π°, ΠΏΡΠ΅ΡΠΈΠΊΡΠ° ΠΈ ΠΈΠΌΠ΅Π½ΠΈ Π±ΠΎΡΠ°. ΠΡΠΎ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ Π²Π΅ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΈ Π½Π΅ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π²ΡΠΏΠΎΠΌΠΈΠ½Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ Π²Π²Π΅ΡΡΠΈ ΠΈΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅.
settings = <
‘token’: ‘ΠΠ°Ρ ΡΠΎΠΊΠ΅Π½’,
‘bot’: ‘ΠΠΌΡ Π±ΠΎΡΠ°’,
‘id’: Client ID Π±ΠΎΡΠ°, Π±Π΅Π· ΠΊΠ°Π²ΡΡΠ΅ΠΊ,
‘prefix’: ‘ΠΡΠ΅ΡΠΈΠΊΡ Π±ΠΎΡΠ°’
>
Π¨Π°Π³ 3: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅Π»Π° Π±ΠΎΡΠ°
ΠΠ»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±ΠΎΡΠ° Π΅ΠΌΡ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Β«ΡΠ΅Π»ΠΎΒ» β ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΈ ΡΠ°Π±ΠΎΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅. ΠΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°ΡΡ ΠΊΠ°ΠΊ ΡΠ³ΠΎΠ΄Π½ΠΎ, Π½ΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π΅Π³ΠΎ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΌΠ΅ΡΡΠ΅, Π³Π΄Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΡΠ°Π½Π΅Π΅ ΡΠ»ΠΎΠ²Π°ΡΡ.
import discord
from discord.ext import commands
from config import settings
@bot.command() # ΠΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ pass_context, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π±ΡΠ» Π½ΡΠΆΠ΅Π½ Π² ΡΡΠ°ΡΡΡ
Π²Π΅ΡΡΠΈΡΡ
.
async def hello(ctx): # Π‘ΠΎΠ·Π΄Π°ΡΠΌ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ctx.
author = ctx.message.author # ΠΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ author ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΡΡΠ΄Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± Π°Π²ΡΠΎΡΠ΅.
ΠΠ°Π»Π΅Π΅ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΏΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ»Π° ΡΠ΅ΡΡ Π²ΡΡΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈ Π½Π°Π΄ΠΎΠ±Π½ΠΎΡΡΠΈ ΠΏΡΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ.
import discord
from discord.ext import commands
from config import settings
bot = commands.Bot(command_prefix = settings[‘prefix’])
@bot.command() # ΠΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ pass_context, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π±ΡΠ» Π½ΡΠΆΠ΅Π½ Π² ΡΡΠ°ΡΡΡ
Π²Π΅ΡΡΠΈΡΡ
.
async def hello(ctx): # Π‘ΠΎΠ·Π΄Π°ΡΠΌ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ctx.
author = ctx.message.author # ΠΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ author ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΡΡΠ΄Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± Π°Π²ΡΠΎΡΠ΅.
await ctx.send(f’Hello,
bot.run(settings[‘token’]) # ΠΠ±ΡΠ°ΡΠ°Π΅ΠΌΡΡ ΠΊ ΡΠ»ΠΎΠ²Π°ΡΡ settings Ρ ΠΊΠ»ΡΡΠΎΠΌ token, Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠΊΠ΅Π½Π°
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΎΡΠ½ΠΈΠΌ, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΡ ΡΡ Π΅ΠΌΡ, ΠΈΠ·Π±Π°Π²ΠΈΠ²ΡΠΈΡΡ ΠΎΡ ΡΠ°ΠΉΠ»Π° ΡΠΎ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΌ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ² Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠ΅ Β«ΡΠ΅Π»ΠΎΒ» Π΄Π»Ρ Π±ΠΎΡΠ°. Π Π΅ΡΠΈΡΠ΅, ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π»ΠΈ Π²Π°ΠΌ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π±ΠΎΠ»ΡΡΠ΅. Π£ΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Ρ ΡΠΎΠΊΠ΅Π½ΠΎΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ ΡΠ΅Π±Ρ.
import discord
from discord.ext import commands
TOKEN = ‘ΠΠ°Ρ ΡΠΎΠΊΠ΅Π½’
bot = commands.Bot(command_prefix=’!’)
@bot.command(pass_context=True) # ΡΠ°Π·ΡΠ΅ΡΠ°Π΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ
async def test(ctx, arg): # ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π±ΠΎΡΠ°
await ctx.send(arg) # ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ
Π¨Π°Π³ 4: ΠΠ°ΠΏΡΡΠΊ Π±ΠΎΡΠ°
ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΠΈΡΠΊΠΎΡΠ΄ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π±ΠΎΡΠ°. ΠΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Β«Π ΡΠ΅ΡΠΈΒ» Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π·Π΅Π»Π΅Π½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ.
ΠΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΎΡΠΊΡΡΡΡΠΌΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ, ΡΡΠΎΠ±Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ Π±ΠΎΡΠ° ΠΈΠ»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠΉΡΠ΅ Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅, ΡΠ²ΡΠ·ΡΠ²Π°Ρ Π²ΡΠ΅ Π² Π΅Π΄ΠΈΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΠ°ΡΠΈΠ°Π½Ρ 2: JavaScript ΠΈ discord.js
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±ΠΎΡΠ° Π΄Π»Ρ Discord β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ JS ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ discord.js, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±ΠΎΡΠ°ΠΌΠΈ. ΠΡΠΈΠ½ΡΠΈΠΏ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° Π»ΠΈΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈ ΡΠ°Π·Π½ΠΈΡΠ΅ΠΉ Π² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°Ρ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ ΠΎΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅.
Π¨Π°Π³ 1: Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Node.js ΠΈ discord.js
Π Π°ΡΡΠΈΡΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ JS ΠΈ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ Π΅Π³ΠΎ Π² ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Node.js, ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ Π·Π°Π½ΡΡΡΡΡ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ:
Π¨Π°Π³ 2: Π Π°Π±ΠΎΡΠ° Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π±ΠΎΡΠ°
ΠΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π±ΠΎΡΠ° ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΠ°ΠΏΠ°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΄Π΅Π»ΠΈΡΡ ΠΈΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ»Π°. ΠΠ°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ ΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ°ΠΉΠ»Π°, ΠΊΡΠ΄Π° ΠΈ Π²ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ: ΠΎΠ΄ΠΈΠ½ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π±ΠΎΡΠ°, Π²ΡΠΎΡΠΎΠΉ β Π·Π° Β«ΡΠ΅Π»ΠΎΒ», Π° ΡΡΠ΅ΡΠΈΠΉ Ρ ΡΠ°Π½ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄.
<
«token» : «ΠΠ°Ρ_ΡΠΎΠΊΠ΅Π½»,
«prefix» : «ΠΠ°Ρ_ΠΏΡΠ΅ΡΠΈΠΊΡ»
>
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² Π΄Π²ΠΎΠΉΠ½ΡΡ ΠΊΠ°Π²ΡΡΠΊΠ°Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π° ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠΎΠΊΠ΅Π½ Π±ΠΎΡΠ° ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅ΠΌΡΠΉ ΠΏΡΠ΅ΡΠΈΠΊΡ.
robot.on(«ready», function() <
/* ΠΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅, Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Β«[ΠΠΌΡ Π±ΠΎΡΠ°] Π·Π°ΠΏΡΡΡΠΈΠ»ΡΡ!Β» */
console.log(robot.user.username + » Π·Π°ΠΏΡΡΡΠΈΠ»ΡΡ!»);
>);
robot.login(token); // ΠΠ²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ Π±ΠΎΡΠ°
Π§ΠΈΡΠ°ΠΉΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΊ ΡΡΡΠΎΡΠΊΠ°ΠΌ, ΠΈΠ΄ΡΡΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΠ»ΡΡΠ΅ΠΉ (Β«//Β»), ΡΡΠΎΠ±Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ.
const config = require(‘./config.json’); // ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΠ°ΠΉΠ» Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ
const Discord = require(‘discord.js’); // ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ discord.js
const prefix = config.prefix; // Β«ΠΡΡΠ°ΡΠΊΠΈΠ²Π°Π΅ΠΌΒ» ΠΏΡΠ΅ΡΠΈΠΊΡ
function test(robot, mess, args) <
mess.channel.send(‘Test!’)
>
var comms_list = [ <
name: «test»,
out: test,
about: «Π’Π΅ΡΡΠΎΠ²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°»
>];
ΠΠ»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΏΠΎΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΠΊΠΎΠ΄Π°. ΠΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π³ΠΎΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Β«comms.jsΒ» Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
const config = require(‘./config.json’);
const Discord = require(‘discord.js’);
const prefix = config.prefix;
const versions = config.versions;
function test(robot, mess, args) <
mess.channel.send(«Π’Π΅ΡΡ!»)
>
function hello(robot, mess, args) <
mess.reply(«ΠΡΠΈΠ²Π΅Ρ!»)
>
var comms_list = [ <
name: «test»,
out: test,
about: «Π’Π΅ΡΡΠΎΠ²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°»
>,
<
name: «hello»,
out: hello,
about: «ΠΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΡ!»
>
>
Π¨Π°Π³ 3: ΠΠ°ΠΏΡΡΠΊ Π±ΠΎΡΠ°
ΠΠ΅ΡΠ²ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π±ΠΎΡΠΎΠΌ Π½Π° JavaScript Π·Π°Π²Π΅ΡΡΠ΅Π½Ρ, Π° Π·Π½Π°ΡΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΡΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄
const arggs = mess.content.split(‘ ‘).slice(1); // ΠΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π·Π° ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Ρ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠΌ
const amount = arggs.join(‘ ‘); // ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ
if (!amount) return mess.channel.send(‘ΠΡ Π½Π΅ ΡΠΊΠ°Π·Π°Π»ΠΈ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ!’); // ΠΡΠΎΠ²Π΅ΡΠΊΠ°, Π·Π°Π΄Π°Π½ Π»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π°
if (isNaN(amount)) return mess.channel.send(‘ΠΡΠΎ Π½Π΅ ΡΠΈΡΠ»ΠΎ!’); // ΠΡΠΎΠ²Π΅ΡΠΊΠ°, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΡΠΈΡΠ»ΠΎΠΌ Π²Π²ΠΎΠ΄ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
Π ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΎΡΠΈΡΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ Π² ΡΠ²ΠΎΠ΅Π³ΠΎ Π±ΠΎΡΠ°, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π½ΠΈΠΌΠΈ Π²ΡΠ΅ ΠΆΠ΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠ΅ Π·Π½Π°Π½ΠΈΡ Π² JavaScript ΠΈΠ»ΠΈ Python, ΡΡΠΎΠ±Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈΠ»ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ ΠΏΠΎΠ΄ ΡΠ΅Π±Ρ.
ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ, Π½Π° ΡΠ°ΠΉΡΠ΅ Π΅ΡΠ΅ 12453 ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ.
ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ°ΠΉΡ Lumpics.ru Π² Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ (CTRL+D) ΠΈ ΠΌΡ ΡΠΎΡΠ½ΠΎ Π΅ΡΠ΅ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΠΌΡΡ Π²Π°ΠΌ.
ΠΡΠ±Π»Π°Π³ΠΎΠ΄Π°ΡΠΈΡΠ΅ Π°Π²ΡΠΎΡΠ°, ΠΏΠΎΠ΄Π΅Π»ΠΈΡΠ΅ΡΡ ΡΡΠ°ΡΡΠ΅ΠΉ Π² ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΡΡ .