ΠΊΠΎΠ΄ ΠΌΡΠ·ΡΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π±ΠΎΡΠ° Π½Π° python Π΄Π»Ρ Π΄ΠΈΡΠΊΠΎΡΠ΄Π°
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Discord-Π±ΠΎΡΠ° Π½Π° Python. Π§Π°ΡΡΡ 1
ΠΠ΅ΡΡΠΈΡ Python: 3.8.2
ΠΠ΅ΡΡΠΈΡ discord.py: 1.3.3
ΠΡΠΈΠ²Π΅ΡΡΡΠ²ΡΡ, Ρ Π°Π±ΡΠΎΠ²ΡΠ°Π½Π΅ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°. Π‘Π΅Π³ΠΎΠ΄Π½Ρ Ρ Π½Π°ΡΠ½Ρ ΡΠΈΠΊΠ» ΡΡΠ°ΡΠ΅ΠΉ, ΠΏΠΎΡΠ²ΡΡΡΠ½Π½ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Discord-Π±ΠΎΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ discord.py. ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΈ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π±ΠΎΡΠ°, ΠΊΠ°ΠΊ ΠΈ “ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΠΎΠ³ΠΎ” Π±ΠΎΡΠ° Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ Π΅ΡΡ ΠΎΠ΄Π½Ρ Π½Π΅Π±ΠΎΠ»ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠ°ΡΠ½ΡΠΌ!
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±ΠΎΡΠ° ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠΊΠ΅Π½Π°
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π±ΠΎΡΠ° Π½Π° ΡΠ΅ΡΠ²Π΅Ρ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ General Information ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Client ID.
ΠΠ΄Π΅ΡΡ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌ CLID Π½Π° ΡΠ°Π½Π΅Π΅ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Client ID.
ΠΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Bot ΡΠΎΠ·Π΄Π°ΡΠΌ Π±ΠΎΡΠ° ΠΈ ΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ ΡΠΎΠΊΠ΅Π½.
ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠ°ΠΌΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ.
Π‘ΠΎΠ·Π΄Π°ΡΠΌ ΡΠ°ΠΉΠ» config.py (ΡΠ°ΠΊ ΡΠ΄ΠΎΠ±Π½Π΅Π΅), ΠΈ ΡΠΎΠ·Π΄Π°ΡΠΌ ΡΠ°ΠΌ ΡΠ»ΠΎΠ²Π°ΡΡ.
Π‘ΠΎΠ·Π΄Π°ΡΠΌ main-ΡΠ°ΠΉΠ», Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±ΠΎΠ΅.
ΠΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ Π½Π°Ρ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³Π°:
Π‘ΠΎΠ·Π΄Π°ΡΠΌ “ΡΠ΅Π»ΠΎ” Π±ΠΎΡΠ°, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±ΠΎΠ΅:
ΠΠ°ΡΠΈΠ½Π°Π΅ΠΌ ΠΏΠΈΡΠ°ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠ΄.
Π ΠΊΠΎΠ½ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ Π±ΠΎΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ:
ΠΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ ΡΠ°ΠΊ:
ΠΠΎΠ½ΡΡΠ½ΡΠΉ ΡΡΡΠΎΡΠΈΠ°Π»!
Π‘Π΄Π΅Π»Π°Π΅ΠΌ Π²ΡΠ²ΠΎΠ΄ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ
ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ Ρ Π»ΠΈΡΠ°ΠΌΠΈ
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π΅ΡΠ΅ ΠΏΠ°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ:
ΠΡΠΈΡΡΡΠΏΠΈΠΌ ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ ΡΠ°ΠΊ:
ΠΠΎΠ½Π΅Ρ
ΠΠ° ΡΡΠΎΠΌ 1 ΡΠ°ΡΡΡ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π°. Π‘ΠΊΠΎΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° 2 ΡΠ°ΡΡΡ.
Discord Π±ΠΎΡ Π½Π° Python
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Discord Π±ΠΎΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠΎΠ»ΡΠΊΠΎ Python.
ΠΡΠ°ΡΠΊΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Discord Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ Π΅ΡΠ΅ ΠΎ Π½Π΅ΠΌ Π½Π΅ Π·Π½Π°Π΅Ρ
Discord β ΡΡΠΎ, ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π³ΠΎΠ»ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Π³Π΅ΠΉΠΌΠ΅ΡΠΎΠ².
ΠΠ³ΡΠΎΠΊΠΈ, ΡΡΡΠΈΠΌΠ΅ΡΡ, ΡΡΡΠ΄Π΅Π½ΡΡ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Discord, ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡ ΠΈΠ³ΡΡ, ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π½Π° Π²ΠΎΠΏΡΠΎΡΡ, ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΡΠ°ΡΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΠ³ΡΡ Π² Ρ ΠΎΡΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Ρ ΡΠ»Π΅Π½Π°ΠΌΠΈ ΡΠ²ΠΎΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. Π Π½Π΅ΠΌ Π΄Π°ΠΆΠ΅ Π΅ΡΡΡ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΠΌΠ°Π³Π°Π·ΠΈΠ½ Ρ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΎΡΠ·ΡΠ²Π°ΠΌΠΈ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ. ΠΠΎ ΡΡΡΠΈ, ΡΡΠΎ ΡΠ΅Π½ΡΡ ΠΈΠ³ΡΠΎΠ²ΡΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ².
Π₯ΠΎΡΡ Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π΅ΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ API Discord, Π² ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΌΡ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠΌΡΡ Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π±ΠΎΡΠ° Π½Π° Python.
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΡΠΈΠ³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΡ
Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Discord Π±ΠΎΡ, Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ:
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π±ΠΎΡΡ?
ΠΠΎΡ (ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ Β«ΡΠΎΠ±ΠΎΡΒ») β ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅, ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΠ΅ΡΡ ΠΈ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ. ΠΠΎΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠΌΠΈΡΠΈΡΡΡΡ ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΡΡΡ Π΅Π³ΠΎ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΡΠ΅ ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ, ΠΎΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ.
ΠΠΎΡΡ ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΎΡΠ²Π΅ΡΠΎΠ² Π½Π° ΡΠΈΠΏΠΎΠ²ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΠ΅ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°Ρ . ΠΠ½ΠΈ Π΄Π΅ΠΉΡΡΠ²ΡΡΡ ΠΊΠ°ΠΊ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ΄Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»ΠΈ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ° Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΡΠ°ΠΊΠΎΠ³ΠΎ Π±ΠΎΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΎΠ½ ΡΡΡΡΠ°Π½ΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π²ΡΡΡΠ½ΡΡ ΠΎΡΠ²Π΅ΡΠ°ΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΡΠ°ΡΡΠ½ΠΈΠΊΡ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΡΠ΅Ρ Π΄Π°Π½Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ.
ΠΠ»Ρ ΡΠ΅Π³ΠΎ Π½ΡΠΆΠ½Ρ ΡΠ°Ρ-Π±ΠΎΡΡ
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΠΎΡΠ²Π΅ΡΠΎΠ² Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ
Π Π»ΡΠ±ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π²ΡΠ΅Π³Π΄Π° Π΅ΡΡΡ Π²ΠΎΠΏΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π·Π°Π΄Π°ΡΡ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ. Π Π½Π° ΡΡΠΈ Π²ΠΎΠΏΡΠΎΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π½Π°Π΄ΠΎ Π΄Π°Π²Π°ΡΡ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ ΠΎΡΠ²Π΅ΡΡ. ΠΡΡΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ β ΡΠ°Ρ-Π±ΠΎΡ.
Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ²
Π§Π°Ρ-Π±ΠΎΡΡ, Π² ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ Π»ΡΠ΄Π΅ΠΉ, Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΡΡΠ°ΡΡ. ΠΡΠ΅ Π»ΡΠ΄ΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Ρ Π±ΠΎΡΠΎΠ² ΡΠ°ΠΊΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π½Π΅Ρ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Ρ-Π±ΠΎΡΠΎΠ² Π² Π±ΠΈΠ·Π½Π΅ΡΠ΅ Ρ ΠΎΡΠΎΡΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΡ Π»ΡΠ΄Π΅ΠΉ, ΠΏΠΎΠ²ΡΡΠ°Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΡΡΠ΄Π° ΠΈ ΡΠΎΠΊΡΠ°ΡΠ°Π΅Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΈΠΉ ΡΡΡΠ΄.
ΠΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π΄Π΅Π½Π΅Π³ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ
ΠΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΡΡΠΆΠ΅Π»ΡΠ±Π½ΠΎΠ³ΠΎ ΡΠ°Ρ-Π±ΠΎΡΠ° ΠΏΡΠΈΠ²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ Π·Π°ΡΡΠ°ΡΠ°ΠΌΠΈ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΡ.
ΠΠ°ΡΠΊ ΠΡΡΡ Β«ΠΠ·ΡΡΠ°Π΅ΠΌ PythonΒ»
Π‘ΠΊΠ°ΡΠΈΠ²Π°ΠΉΡΠ΅ ΠΊΠ½ΠΈΠ³Ρ Ρ Π½Π°Ρ Π² ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ
ΠΠΈΡΠ΅ΠΌ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΠ°Ρ-Π±ΠΎΡΠ°
Π‘ΠΏΠ΅ΡΠ²Π° ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Python. ΠΡΠ»ΠΈ Π΅Π³ΠΎ Π΅ΡΠ΅ Π½Π΅Ρ, ΡΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ Π΅Π³ΠΎ Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ°.
Π‘ΡΠ΅Π΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΡΡ, ΠΊΠ°ΠΊΠ°Ρ Π²Π°ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½ΡΠ°Π²ΠΈΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, PyCharm, VS Code ΠΈΠ»ΠΈ Sublime.
Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΎΠΏΡΠΈΡ New application (Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅) Π² ΠΏΡΠ°Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ ΡΡΡΠ°Π½ΠΈΡΡ ΠΈ Π΄Π°ΠΉΡΠ΅ Π²Π°ΡΠ΅ΠΌΡ Π½ΠΎΠ²ΠΎΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠΌΡ. ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊ Π°Π²Π°ΡΠ°ΡΡ Π²Π°ΡΠ΅Π³ΠΎ Π±ΠΎΡΠ°. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΏΠΎΠ·ΠΆΠ΅. Π‘Π΅ΠΉΡΠ°Ρ ΠΏΠΎΠΉΠ΄Π΅ΠΌ Π² ΡΠ°Π·Π΄Π΅Π» Bot (Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠ»Π΅Π²Π°) ΠΈ Π²ΡΠ±Π΅ΡΠ΅ΠΌ ΠΎΠΏΡΠΈΡ Add bot (Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π±ΠΎΡΠ°).
ΠΠ°ΡΠ΅ΠΌ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΡΡΡΠ»ΠΊΡ ΠΏΠΎΠ΄ ΡΠ΅ΠΊΡΠΈΠ΅ΠΉ scope Π² Π½ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠ΅ΡΠ²Π΅Ρ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ ΠΆΠ΅Π»Π°Π΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ Π²Π°Ρ Π±ΠΎΡ.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²Π²Π΅Π΄Π΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΡΠ½ΠΎΠ²Π½Π°Ρ Π·Π°Π΄Π°ΡΠ° Π½Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ Π±ΠΎΡΠ° Π±ΡΠ΄Π΅Ρ ΡΠΎΡΡΠΎΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π΄Π°Π²Π°ΡΡ ΠΎΡΠ²Π΅Ρ Π²ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π½Π° ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Β«HelloΒ». ΠΠΎ Π²Ρ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΅Π³ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π²Π°ΡΠΈΠΌΠΈ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡΠΌΠΈ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ:
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Client :
ΠΠ°ΠΏΠΈΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ°ΡΡΡΠ° Π±ΠΎΡΠ°:
ΠΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΡΠ΅ ΡΠ²ΠΎΠ΅Π³ΠΎ Π±ΠΎΡΠ° Π² ΡΠ΅ΡΠΈ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠ°ΡΡΡ Π±ΠΎΡΠ° ΠΈΠ· ΡΠ°ΠΌΠΎΠ³ΠΎ Discord.
ΠΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°Π΅Ρ, ΡΡΠΎ Π½Π°Ρ Π±ΠΎΡ Π³ΠΎΡΠΎΠ² ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅.
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π±ΠΎΡ Π³ΠΎΡΠΎΠ² ΠΊ ΡΠ°Π±ΠΎΡΠ΅, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠ²Π΅ΡΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π½Π° ΠΈΡ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ hello :
ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π±ΠΎΡΠ° Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠΎΠΊΠ΅Π½. ΠΠ½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Bot Π½Π° ΡΠ°ΠΉΡΠ΅ Discord. ΠΡ Π·Π°Ρ ΠΎΠ΄ΠΈΠ»ΠΈ ΡΡΠ΄Π° ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π±ΠΎΡΠ°.
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΡΡΠ°Π»ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½Π°ΡΠ΅Π³ΠΎ Π±ΠΎΡΠ°!
ΠΡΠΊΡΠΎΠΉΡΠ΅ CMD ΠΈ Π½Π°Π±Π΅ΡΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΡΠ»ΠΈ ΡΠ°ΠΊ Π½Π΅ Π²ΡΡ ΠΎΠ΄ΠΈΡ, ΡΠΎ Π½Π°Π±Π΅ΡΠΈΡΠ΅ Π²ΠΎΡ ΡΡΠΎ:
Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΠΈΡΠ΅ΠΌ Π±ΠΎΡ Π΄Π»Ρ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ²:
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π±ΠΎΡΠ°
ΠΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ ΡΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄. ΠΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°Ρ , Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π±ΠΎΡΠ°. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ ΠΌΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠ»ΠΈ Π½ΠΈΠΆΠ΅:
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Discord Π±ΠΎΡ Π½Π° Python. Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΡΡΠΎ Π±ΡΠ» ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ Π±ΠΎΡ. ΠΠΎ Π²Ρ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ OCR.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΡΠ·ΡΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π±ΠΎΡΠ° Π² Discord
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΡΠ΅ΡΡ ΠΏΠΎΠΉΠ΄Π΅Ρ ΠΎ ΡΡΡΠ½ΠΎΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π±ΠΎΡΠ° Π΄Π»Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΌΡΠ·ΡΠΊΠΈ Π² Discord. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π²Π΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄, ΡΠ°ΠΊ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΏΠΎΠ΄ ΡΠ΅Π±Ρ, Π΅ΡΠ»ΠΈ Π²Π»Π°Π΄Π΅Π΅ΡΠ΅ Π½Π°Π²ΡΠΊΠ°ΠΌΠΈ JavaScript. Π‘ΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π½Π°ΠΌΠΈ Π±ΠΎΡ Π±ΡΠ» ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½, Π½ΠΎ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ°ΠΏΠ°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ΅ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΈΡΠ°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ, Π½ΠΎ ΠΈ ΠΏΠΎΡΠ²Π»ΡΡΡΠΈΠ΅ΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΊΠΎΠ΄Ρ ΠΎΡΠΈΠ±ΠΎΠΊ, Π΅ΡΠ»ΠΈ ΡΠ°ΠΊΠΈΠ΅ Π±ΡΠ΄ΡΡ.
ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ Π΄Π°Π½Π½ΡΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ»ΠΎΠΆΠ½ΡΠΉ Π΄Π»Ρ Π²Π°Ρ ΠΈΠ»ΠΈ Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ ΠΏΠΎ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π³ΠΎΡΠΎΠ²ΡΠ΅ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠ΅ Π±ΠΎΡΡ Π΄Π»Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΌΡΠ·ΡΠΊΠΈ. Π ΡΡΠ°ΡΡΠ΅ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Π½ΠΈΠΆΠ΅ Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π΄Π΅ΡΠ°Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΡΡΠΎΠΌ ΠΈ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π·Π°Π΄Π°ΡΡ.
Π¨Π°Π³ 1: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΠ°ΠΆΠ΄ΡΠΉ Π±ΠΎΡ Π΄Π»Ρ ΠΠΈΡΠΊΠΎΡΠ΄Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ°Π»Π΅ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². Π’Π°ΠΊ Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ Π΄ΠΎΡΡΡΠΏ ΠΊΠΎ Π²ΡΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌ Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ ΠΎΠ±ΡΠΈΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π±ΠΎΡΠ°, ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° Π΅Π³ΠΎ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ Π² Π»ΠΈΡΠ½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠΎΠΊΠ΅Π½, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ΅Π½ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄.
Π’Π΅ΠΏΠ΅ΡΡ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΠΎΡΠ° Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ ΡΠΎΠΊΠ΅Π½ΠΎΠΌ, Π° Π±ΠΎΡ ΡΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ, Π½ΠΎ ΠΏΠΎΠΊΠ° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΎΡΠ»Π°ΠΉΠ½-ΡΠ΅ΠΆΠΈΠΌΠ΅. ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΡΠΆΠ΅ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠΎΠΊΠ° ΠΌΡ Π½Π΅ Π²ΡΠ³ΡΡΠΆΠ°Π΅ΠΌ Π±ΠΎΡΠ° Π½Π° Ρ ΠΎΡΡΠΈΠ½Π³ Π΄Π»Ρ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π¨Π°Π³ 2: ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ
Π ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠΌ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ Π½ΠΈΡ . Π ΡΡΠΎΠΌ Π½Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ, Π½ΡΠΆΠ½ΠΎ Π»ΠΈΡΡ ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»Π΅Π΄Ρ Π·Π° ΡΠ΅ΠΌ, ΡΡΠΎΠ±Ρ Π½ΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π½Π΅ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
Π ΠΈΡΠΎΠ³Π΅ Π² Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ ΡΠ°ΠΉΠ»Ρ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ Node.js ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠΌ ΠΏΠΎΡΠ»Π΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ. ΠΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ Π±ΠΎΡΠ° Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ ΡΡΡΠ΄Π½ΠΎΡΡΠ΅ΠΉ, Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΠ΅ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΠ°Π³Ρ.
Π¨Π°Π³ 3: Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π±ΠΎΡΠ°
ΠΡ ΡΠΆΠ΅ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ Π² ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π±ΠΎΡΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΠ΅Π³ΠΎ ΠΏΠ°ΡΠ° ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΡ Π·Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΏΡΠ΅ΡΠΈΠΊΡ (ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΠ΅ΡΠ΅Π΄ Π²Π²ΠΎΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅) ΠΈ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠΎΠΊΠ΅Π½, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² API. ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΡΠΊΠ°ΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° JS ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠΉ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎΠ³ΠΎ Π½Π΅ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ ΡΠ°Π½Π΅Π΅. Π ΡΡΠ°ΡΡΠ΅ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Π½ΠΈΠΆΠ΅ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΌΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΠ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΈ Π³ΠΎΡΠΎΠ²ΠΎ ΠΊ ΡΠ°Π±ΠΎΡΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠ΅Π»ΠΎ ΠΏΡΠΈΡΡΡΠΏΠ°ΡΡ ΠΊ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π²Π²ΠΎΠ΄Ρ ΡΡΠ΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅.
ΠΠ° ΡΡΠΎΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ Π·Π°Π²Π΅ΡΡΠ΅Π½Ρ, Π±ΠΎΠ»ΡΡΠ΅ ΡΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΡΠΊΠΈ ΠΊΠΎΠ΄Π°. ΠΠ°ΠΊΡΠΎΠΉΡΠ΅ Π΅Π³ΠΎ, Π½Π΅ Π·Π°Π±ΡΠ² ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π²Π½Π΅ΡΠ΅Π½Π½ΡΠ΅ ΠΏΡΠ°Π²ΠΊΠΈ, ΠΈ ΠΏΡΠΈΡΡΡΠΏΠ°ΠΉΡΠ΅ ΠΊ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π±ΠΎΡΠ° Π΄Π»Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΌΡΠ·ΡΠΊΠΈ.
Π¨Π°Π³ 4: ΠΡΠΎΠ±Π½ΡΠΉ Π·Π°ΠΏΡΡΠΊ Π±ΠΎΡΠ°
const Discord = require(‘discord.js’);
const <
prefix,
token,
> = require(‘./config.json’);
const ytdl = require(‘ytdl-core’);
const client = new Discord.Client();
client.login(token);
client.once(‘ready’, () =><
console.log(‘Ready!’);
>);
client.once(‘reconnecting’, () =><
console.log(‘Reconnecting!’);
>);
client.once(‘disconnect’, () =><
console.log(‘Disconnect!’);
>);
Π¨Π°Π³ 5: ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΌΡΠ·ΡΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π±ΠΎΡΠ°
ΠΡΡΠ°Π»ΡΡ ΡΠ°ΠΌΡΠΉ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ β Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΌΡΠ·ΡΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π±ΠΎΡΠ°. ΠΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ Π·Π°Π΄Π°Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ: ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ½ΠΈ ΠΈΠ»ΠΈ Π΅Π΅ Π°Π΄ΡΠ΅ΡΠ°, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΠΎΠΌΡ ΠΊΠ°Π½Π°Π»Ρ ΠΈ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅. Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° Π²ΡΠ΅ ΡΡΠΎ Ρ Π±ΠΎΡΠ° Π΅ΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π½ΡΠΆΠ½ΠΎ Π»ΠΈΡΡ ΡΠΊΠ°Π·Π°ΡΡ Π΅ΠΌΡ Π½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ JavaScript, ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΡΠΎΠΌ ΠΆΠ΅ ΡΠ°ΠΉΠ»Π΅ Β«index.jsΒ».
ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΏΡΠΎΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ:
client.on(‘message’, async message => <
ΠΠ½Π° ΡΠΎΡΡΠΎΠΈΡ Π²ΡΠ΅Π³ΠΎ ΠΈΠ· Π΄Π²ΡΡ ΡΡΡΠΎΠΊ, Π½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π±ΠΎΡΡ ΠΏΡΠΈΠ½ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π·Π°ΠΏΡΠΎΡ ΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΡΡΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· Π²Π°ΠΆΠ½Π΅ΠΉΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π»Ρ Π±ΠΎΡΠΎΠ² Π»ΡΠ±ΡΡ ΡΠΈΠΏΠΎΠ². ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ Π±ΠΎΡΠΎΠ², Π²Π²Π΅Π΄Ρ
if (message.author.bot) return;
ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΏΡΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π±ΠΎΡΠΎΠ² Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅. ΠΠ°Π»Π΅Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡ, ΡΡΠΎΠ±Ρ Π±ΠΎΡ ΠΏΡΠΈΠ½ΡΠ» ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ»ΠΈ Π²Π΅ΡΠ½ΡΠ» Π΅Π΅.
if (!message.content.startsWith(prefix)) return;
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΏΡΠΎΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² if, Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
const serverQueue = queue.get(message.guild.id);
if (message.content.startsWith(`$
execute(message, serverQueue);
return;
> else if (message.content.startsWith(`$
skip(message, serverQueue);
return;
> else if (message.content.startsWith(`$
stop(message, serverQueue);
return;
> else <
message.channel.send(‘ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ!’)
>
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ send(”) ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, Π΅ΡΠ»ΠΈ Π²Π΄ΡΡΠ³ ΠΎΠ½ Π²Π²ΠΎΠ΄ΠΈΡ Π½Π΅ΡΠ°Π±ΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΈΠ·ΠΌΠ΅Π½ΡΡ Π½Π°Π΄ΠΏΠΈΡΡ Π² ΠΊΠ°Π²ΡΡΠΊΠ°Ρ .
const queue = new Map();
ΠΠ½ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΈ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠ΅ΡΠ½ΠΈ ΠΈΠ³ΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ°Ρ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ. ΠΠ°Π»Π΅Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ»ΡΡ Π»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΊ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΠΎΠΌΡ ΠΊΠ°Π½Π°Π»Ρ ΠΈ Π΅ΡΡΡ Π»ΠΈ Ρ Π±ΠΎΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ.
Π‘Π»Π΅Π΄ΡΡΡΠ΅Π΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ β ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ytdl, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎΡ Π±ΠΎΡ Π±ΡΠ΄Π΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ½ΠΈ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Ρ YouTube, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ Π΅Π΅ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅. ΠΠ»Ρ Π½Π΅Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π²ΡΡΠ°Π²ΠΈΡΡ Π²ΡΠ΅Π³ΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΡΡΠΎΡΠ΅ΠΊ ΠΊΠΎΠ΄Π°.
const songInfo = await ytdl.getInfo(args[1]);
const song = <
title: songInfo.title,
url: songInfo.video_url,
>;
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΠΎΠ½ΡΡΡ, Π΅ΡΡΡ Π»ΠΈ ΠΏΠ΅ΡΠ½ΠΈ Π² ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΠΎΠΌΡ ΠΊΠ°Π½Π°Π»Ρ ΠΈ Π½Π°ΡΠ°ΡΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅.
>else <
serverQueue.songs.push(song);
console.log(serverQueue.songs);
return message.channel.send(`$
>
ΠΠ°Π»Π΅Π΅ ΠΈΠ΄Π΅Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½Π°Ρ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² ΡΡ Π΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΏΠ΅ΡΠ½Ρ Π² ΠΌΠ°ΡΡΠΈΠ² ΠΈ Π΄Π΅Π»Π°Π΅Ρ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²Π²ΠΎΠ΄Π΅ !play, ΠΏΡΠΎΠ²Π΅ΡΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΈ Π²ΡΠ±ΠΈΡΠ°Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΠΎΠ½ΠΊΠΎΡΡΡΠΌΠΈ.
// Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ° Π΄Π»Ρ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ
const queueContruct = <
textChannel: message.channel,
voiceChannel: voiceChannel,
connection: null,
songs: [],
volume: 5,
playing: true,
>;
// Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠ°
queue.set(message.guild.id, queueContruct);
// ΠΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ Π² Π½Π°Ρ ΠΌΠ°ΡΡΠΈΠ² ΠΏΠ΅ΡΠ΅Π½
queueContruct.songs.push(song);
try <
// ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΏΡΡΠ°Π΅ΠΌΡΡ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡΡ ΠΊ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΠΎΠΌΡ ΡΠ°ΡΡ ΠΈ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅
var connection = await voiceChannel.join();
queueContruct.connection = connection;
// ΠΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΠ΅ΡΠ½ΠΈ
play(message.guild, queueContruct.songs[0]);
> catch (err) <
// ΠΡΠ²ΠΎΠ΄ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, Π΅ΡΠ»ΠΈ Π±ΠΎΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡΡ ΠΊ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΠΎΠΌΡ ΡΠ°ΡΡ
console.log(err);
queue.delete(message.guild.id);
return message.channel.send(err);
>
function play(guild, song) <
const serverQueue = queue.get(guild.id);
if (!song) <
serverQueue.voiceChannel.leave();
queue.delete(guild.id);
return;
>
>
ΠΡΠΎΠΈΠ³ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΆΠ΅ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ playStream() ΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΡΠ΅ΠΊ.
const dispatcher = serverQueue.connection.playStream(ytdl(song.url))
.on(‘end’, () => <
console.log(‘ΠΡΠ·ΡΠΊΠ° ΠΊΠΎΠ½ΡΠΈΠ»Π°ΡΡ!’);
// Π£Π΄Π°Π»ΡΠ΅Ρ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ½Ρ ΠΈΠ· ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ
serverQueue.songs.shift();
// Π‘Π½ΠΎΠ²Π° Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΏΠ΅ΡΠ½Π΅ΠΉ
play(guild, serverQueue.songs[0]);
>)
.on(‘error’, error => <
console.error(error);
>);
dispatcher.setVolumeLogarithmic(serverQueue.volume / 5);
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΎΠΏΡΡΠΊΠ° ΠΏΠ΅ΡΠ΅Π½, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΡΠΎΠΈΠ³ΡΠ°ΡΡ ΠΏΠ»Π΅ΠΉΠ»ΠΈΡΡ, ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠΎΠ·Π°Π±ΠΎΡΡΡΠ΅ΡΡ ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, Π° Π·Π°ΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ°ΠΊΠΎΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ:
function skip(message, serverQueue) <
if (!message.member.voiceChannel) return message.channel.send(‘ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π² Π³ΠΎΠ»ΠΎΡΠΎΠ²ΠΎΠΌ ΠΊΠ°Π½Π°Π»Π΅, ΡΡΠΎΠ±Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΌΡΠ·ΡΠΊΡ!’);
if (!serverQueue) return message.channel.send(‘ΠΠ΅Ρ ΠΏΠ΅ΡΠ½ΠΈ, ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΌΠΎΠ³ Π±Ρ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ!’);
serverQueue.connection.dispatcher.end();
>
ΠΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΠΏΠΎ ΡΠΎΠΉ ΠΆΠ΅ ΡΡ Π΅ΠΌΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ, Π½ΠΎ Π±Π»ΠΎΠΊ Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΠ±ΡΠ΅ΡΠ°Π΅Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠΉ Π²ΠΈΠ΄:
function stop(message, serverQueue) <
if (!message.member.voiceChannel) return message.channel.send(‘
ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π² Π³ΠΎΠ»ΠΎΡΠΎΠ²ΠΎΠΌ ΠΊΠ°Π½Π°Π»Π΅, ΡΡΠΎΠ±Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΌΡΠ·ΡΠΊΡ!’);
serverQueue.songs = [];
serverQueue.connection.dispatcher.end();
>
Π£ΡΠΈΡΡΠ²Π°ΠΉΡΠ΅, ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½Π°Ρ Π²ΡΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΠΊΡΠΎ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌ Ρ ΡΠ·ΡΠΊΠΎΠΌ JavaScript ΠΈΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ Π΅Π³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ ΡΠ΅ΡΠΈΠ» ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΡΠ·ΡΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π±ΠΎΡΠ°. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π²Π»Π°Π΄Π΅Π΅ΡΠ΅ Π½Π°Π²ΡΠΊΠ°ΠΌΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π²Π°ΠΌ Π²ΠΎΠΎΠ±ΡΠ΅ Π½ΠΈ ΠΎ ΡΠ΅ΠΌ Π½Π΅ Π³ΠΎΠ²ΠΎΡΡΡ, ΠΏΡΠΎΡΡΠΎ Π²ΡΡΠ°Π²ΡΡΠ΅ Π²Π΅ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ΡΠ°ΠΉΠ», Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ Π±ΠΎΡΠ° Π½Π° ΡΡΡΡΠΊΠΈΠ΅ (ΠΎΠ½ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΠΊΠ°Π²ΡΡΠΊΠ°Ρ ) ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΠ΅ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°ΠΊΠΎΠΉ Π²ΠΈΠ΄:
const Discord = require(‘discord.js’);
const <
prefix,
token,
> = require(‘./config.json’);
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);
if (message.content.startsWith(`$
execute(message, serverQueue);
return;
> else if (message.content.startsWith(`$
skip(message, serverQueue);
return;
> else if (message.content.startsWith(`$
stop(message, serverQueue);
return;
> else <
message.channel.send(‘You need to enter a valid command!’)
>
>);
async function execute(message, serverQueue) <
const args = message.content.split(‘ ‘);
const songInfo = await ytdl.getInfo(args[1]);
const song = <
title: songInfo.title,
url: songInfo.video_url,
>;
if (!serverQueue) <
const queueContruct = <
textChannel: message.channel,
voiceChannel: voiceChannel,
connection: null,
songs: [],
volume: 5,
playing: true,
>;
try <
var connection = await voiceChannel.join();
queueContruct.connection = connection;
play(message.guild, queueContruct.songs[0]);
> catch (err) <
console.log(err);
queue.delete(message.guild.id);
return message.channel.send(err);
>
> else <
serverQueue.songs.push(song);
console.log(serverQueue.songs);
return message.channel.send(`$
>
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!’);
serverQueue.connection.dispatcher.end();
>
function stop(message, serverQueue) <
if (!message.member.voiceChannel) return message.channel.send(‘You have to be in a voice channel to stop the music!’);
serverQueue.songs = [];
serverQueue.connection.dispatcher.end();
>
function play(guild, song) <
const serverQueue = queue.get(guild.id);
if (!song) <
serverQueue.voiceChannel.leave();
queue.delete(guild.id);
return;
>
const dispatcher = serverQueue.connection.playStream(ytdl(song.url))
.on(‘end’, () => <
console.log(‘Music ended!’);
serverQueue.songs.shift();
play(guild, serverQueue.songs[0]);
>)
.on(‘error’, error => <
console.error(error);
>);
dispatcher.setVolumeLogarithmic(serverQueue.volume / 5);
>
ΠΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ Π»ΡΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ Π±ΠΎΡΠ°, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠ²ΠΎΠ΅ΠΌΡ ΡΠ΅ΡΠ²Π΅ΡΡ, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΠΎΠΌΡ ΠΊΠ°Π½Π°Π»Ρ ΠΈ Π²Π²Π΅ΡΡΠΈ Π»ΡΠ±ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΏΡΠΎΠ²Π΅ΡΠΈΠ², ΠΊΠ°ΠΊ Π½Π° ΡΡΠΎ ΠΎΡΡΠ΅Π°Π³ΠΈΡΡΠ΅Ρ Π±ΠΎΡ.
ΠΡΠ»ΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ Π²Π°ΡΠΈΠ°Π½Ρ Π±ΠΎΡΠ° Π²Π°ΠΌ Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ Π½Π° ΡΠΎΠΌ ΠΆΠ΅ GitHub ΠΈ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ Π½Π° ΡΠ²ΠΎΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ. ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΈ Π·Π°ΠΏΡΡΠΊΠ° ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠΎΡ ΠΆΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΡΡΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠΉΡΠ΅ Π³ΠΎΡΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΈΡΡΡΠΏΠ°ΠΉΡΠ΅ ΠΊ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±ΠΎΡΠ°.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ Π½Π΅ Π·Π°ΡΡΠΎΠ½ΡΠ»ΠΈ Π²ΡΠ³ΡΡΠ·ΠΊΡ Π±ΠΎΡΠ° Π½Π° Ρ ΠΎΡΡΠΈΠ½Π³, ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ ΡΡΠ΅Π΄ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°Π²Π°ΡΠ°ΡΠΊΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠΊΡΡΡΡΡ ΠΏΠ»ΠΎΡΠ°Π΄ΠΎΠΊ, ΠΎΡΠΊΡΠ΄Π° Π΅Π³ΠΎ ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°ΡΡ. ΠΡΠ΅ ΡΡΠΎ β ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΡΠΎΠΈΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΎΡΡΠΎΡΠΈΠ»ΠΈ ΡΠ²ΠΎΠΉ Π½Π°Π²ΡΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±ΠΎΡΠΎΠ² ΠΈ Π³ΠΎΡΠΎΠ²Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΡ Π² ΡΠ΅ΡΠΈ.
ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ, Π½Π° ΡΠ°ΠΉΡΠ΅ Π΅ΡΠ΅ 12256 ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ.
ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ°ΠΉΡ Lumpics.ru Π² Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ (CTRL+D) ΠΈ ΠΌΡ ΡΠΎΡΠ½ΠΎ Π΅ΡΠ΅ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΠΌΡΡ Π²Π°ΠΌ.
ΠΡΠ±Π»Π°Π³ΠΎΠ΄Π°ΡΠΈΡΠ΅ Π°Π²ΡΠΎΡΠ°, ΠΏΠΎΠ΄Π΅Π»ΠΈΡΠ΅ΡΡ ΡΡΠ°ΡΡΠ΅ΠΉ Π² ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΡΡ .





































