ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΊΡΠΈΠΏΡ Π½Π° ΠΏΠΈΡΠΎΠ½Π΅ Π΄Π»Ρ Π²ΠΊ
ΠΠΎΡ VK Π½Π° Python 2020 Π³ΠΎΠ΄Π° Ρ ΠΎΡΠ²Π΅ΡΠ°ΠΌΠΈ Π² Π±Π΅ΡΠ΅Π΄Ρ
ΠΡΠ΅ΠΌ Π΄ΠΎΠ±ΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΡΠΎΠΊ!
Π― ΠΎΡΠ΅Π½Ρ Π΄ΠΎΠ»Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ²Π°Π» ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ Π² ΠΏΠΎΠΈΡΠΊΠ°Ρ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° Π±ΠΎΡΠ° Π΄Π»Ρ ΠΠ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ³ΠΎ Π½Π° Python. ΠΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΌΠΎΠ³ Π½Π°ΠΉΡΠΈ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ, ΡΠ΅Π»ΠΎΠΉ ΡΡΠ°ΡΡΠΈ β Π² ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄, Π² Π΄ΡΡΠ³ΠΎΠΉ Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅β¦
ΠΡΡΠ·ΡΡ, Ρ ΡΠ΅ΡΠΈΠ» ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Ρ Π²Π°ΠΌΠΈ Π²ΡΠ΅ΠΌΠΈ ΡΠ΅ΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠΎΠ±ΡΠ΅Π» ΠΈ ΡΠ΅ΠΉΡΠ°Ρ ΠΌΡ Ρ Π²Π°ΠΌΠΈ ΡΠ°Π³ Π·Π° ΡΠ°Π³ΠΎΠΌ Π½Π°ΠΏΠΈΡΠ΅ΠΌ Ρ ΠΎΡΠΎΡΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π±ΠΎΡΠ° ΠΠ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ, 2020, Π³ΠΎΠ΄Π°. ΠΠΏΡΠΎΡΠ΅ΠΌ Π½Π°Π΄Π΅ΡΡΡ ΡΡΠ°ΡΡΡ Π½Π΅ ΠΏΠΎΡΠ΅ΡΡΠ΅Ρ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΏΠΎΠ·ΠΆΠ΅.
Π‘ ΡΠ΅Π³ΠΎ Π½Π°ΡΠ°ΡΡ?
ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ cmd.exe ( Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°) ΠΈ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΡΡΠ΄Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
pip install vk
pip install vk_api
ΠΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Π΄Π²Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π½Π°ΡΠ΅Π³ΠΎ Python-Π° Ρ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ VK.
Π’Π΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ IDLE ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄.
ΠΠ±ΡΡΡΠ½ΡΡ: ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΡΠ°Π½Π΅Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π½ΠΈΠΌΠΈ.
ΠΠ²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ
ΠΠ²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°Π»ΠΈΡΡ ΠΊΠ°ΠΊ Π³ΡΡΠΏΠΏΠ°. ΠΠ°ΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠΎΠΊΠ΅Π½, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡ ΠΎΡΠΏΡΠ°Π²ΠΊΡ, ΠΏΡΠΈΠ΅ΠΌ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈ, Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, Π²ΡΠ΅ ΡΡΠΎ Π½Π°ΠΌ Π·Π°Ρ ΠΎΡΠ΅ΡΡΡ.
ΠΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ longpool Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΡΠ°ΠΌΠΈ.
ΠΡΠ°Π½ΡΡ
ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π½Π΅Π»ΡΠ·Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π±ΠΎΡΠ° Π΄Π»Ρ ΠΎΡΠ²Π΅ΡΠΎΠ² Π½Π° ΠΠ‘ ΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π² Π±Π΅ΡΠ΅Π΄Π΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π²Π° ΡΠ°Π·Π½ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ longpool ΠΈ ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π½ΠΈΠ΅ longpool-ΠΎΠΌ Π½Π° ΠΊΠ°Π½Π°Π»Π΅ Β«ΠΠ‘Β»(ΠΠΈΡΠ½ΡΠ΅ Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ) ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π½ΠΈΠ΅ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π°, Ρ.Π΅. ΡΠ°ΡΠ° Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎ, ΠΏΠΎΠΊΠ° Π½Π΅ Π·Π°Π²Π΅ΡΡΠΈΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π½ΠΈΡ. ΠΡΠΎΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ Π·Π°Π΄Π°ΡΠΈ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π° Π½Π΅ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ. ΠΠΎΡΡΠΎΠΌΡ Π² ΡΠ΅Π»ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Ρ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΡΡ ΡΠ°ΡΡΡ Ρ ΠΠ‘, Π·Π°ΠΊΠ»ΡΡΠΈΠ² Π΅Π΅ Π² »’ ΠΊΠ°Π²ΡΡΠΊΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, Π½ΠΎ Π΄Π»Ρ ΠΠ‘.
ΠΠ½ΠΎΠΏΠΊΠΈ
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΠ±ΡΡΠ²ΠΈΠΌ ΠΏΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Ρ Π±ΠΎΡ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π°Π²Π°ΡΡ ΠΏΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ. Π Π½ΠΈΠΌ ΠΌΡ ΠΎΠ±ΡΠ°ΡΠΈΠΌΡΡ Π²ΡΠΊΠΎΡΠ΅ Π΅ΡΡ ΡΠ°Π·.
ΠΡΠΈΠ΅ΠΌ-ΠΎΡΠΏΡΠ°Π²ΠΊΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈΠ· Π±Π΅ΡΠ΅Π΄Ρ
Π ΡΠ΅ΠΏΠ΅ΡΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ»ΡΡΠ°ΡΡ longpool Π½Π° ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ Π½ΠΎΠ²ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ. event β ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅Ρ Ρ ΡΠ°Π½ΠΈΡΡΡΡ ΡΠ°ΠΌΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΎ Π½Π΅ΠΌ.
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π²ΡΡΠ΅: ΠΡΠ»ΠΈ ΡΠ»ΠΎΠ²ΠΎ Β«ΠΡΠΈΠ²Π΅ΡΒ» ΠΈΠ»ΠΈ «. » ΠΈΠ»ΠΈ «. » ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ event, ΡΠΎΠ³Π΄Π°:
ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΠΊΡΠ΄Π° Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ Π½Π°Ρ event. ΠΡΠ»ΠΈ Π² ΡΠ°Ρ ΡΠΎΠ³Π΄Π° Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Β«vk.messages.sendΒ».
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅
β¦ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ key, server ΠΈ ts Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ. ΠΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π½ΡΠΆΠ½Ρ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ VK. Π§ΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ ΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π° ΠΎΠ½ΠΈ Ρ Π²ΡΠ΅Ρ ΡΠ²ΠΎΠΈ, Π½ΡΠΆΠ½ΠΎ Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° ΡΠ°ΠΉΡ VK ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΈ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«ΠΡΠΈΠΌΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ°Β» Π²Π²Π΅ΡΡΠΈ ID ΡΠ²ΠΎΠ΅ΠΉ Π³ΡΡΠΏΠΏΡ.
random_id β ΡΡΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΉ id ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π² Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡΡ VK_API ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»Π΅Π½.
chat_id β ΡΡΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π±Π΅ΡΠ΅Π΄Ρ, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΈΡΠ΅Π» event ΠΈΠ»ΠΈ ΠΈΠ½Π°ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
if ‘ΠΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°’ in str(event):
Π’Π΅ΠΏΠ΅ΡΡ, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΠΏΠΈΡΠ΅Ρ «ΠΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°«, ΡΠΎ Π½Π°Ρ Π±ΠΎΡ ΡΠ΅Π΄ΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΎ ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ ΡΠ°Π½Π΅Π΅.
Π§Π°ΡΡΡ Ρ ΠΠΈΡΠ½ΡΠΌΠΈ Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΡΠΏΠΈΡΠ΅ΠΌ Π²ΡΠΎΡΡΡ ΡΠ°ΡΡΡ Π΄Π»Ρ ΠΠ‘ Π±Π΅Π· ΠΎΡΠΎΠ±ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ.
ΠΠΎΠ·Π΄ΡΠ°Π²Π»ΡΡ! ΠΡ Ρ Π²Π°ΠΌΠΈ ΡΠ°Π·ΠΎΠ±ΡΠ°Π»ΠΈ Π±ΠΎΡΠ° Π½Π° Python 2020 Π³ΠΎΠ΄Π°. Π ΡΠ΅ΠΉΡΠ°Ρ Ρ ΠΏΡΠΈΠ²Π΅Π΄Ρ Π²Π΅ΡΡ ΠΊΠΎΠ΄ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ.
ΠΠΎΡ Π΄Π»Ρ VK Π½Π° Python Ρ MySQL Π·Π° ΡΠ°Ρ Ρ.1
Π ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΡΠΎΡΠΈΠ°Π»ΠΎΠ² ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π±ΠΎΡΠ° Π΄Π»Ρ ΠΠΊΠΎΠ½ΡΠ°ΠΊΡΠ΅, Π½ΠΎ Π²ΡΠ΅ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ². ΠΠ½ΠΈ Π΄Π°ΡΡ ΡΠΎΠ²ΡΠ΅ΠΌ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π±Π°Π·Ρ ΠΈΠ·-Π·Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ Π½ΠΎΠ²ΠΈΡΠΊΠ°ΠΌ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ΄Π½ΠΎ ΠΏΠΎΠ½ΡΡΡ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ΅ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ Π²Π΅ΡΠΈ.
Π ΡΡΠΎΠΌ ΡΡΡΠΎΡΠΈΠ°Π»Π΅ Ρ Ρ ΠΎΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ Π±ΠΎΡΠ° Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠΌ Π±Π°Π·ΠΎΠ²ΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ.
Π§ΡΠΎ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ?
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌ Π²ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ:
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ Π±ΠΎΡΠ° ΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
ΠΠΌΠ΅Π½Π½ΠΎ Π² ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ config.py. ΠΡ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ ΠΈΡ Π³Π΄Π΅ ΡΠ³ΠΎΠ΄Π½ΠΎ. ΠΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΡΠΎ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΠΎΠ²Π»ΠΈΡΠ΅Ρ.
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ PyMySQL:
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ . Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΠ²ΠΎΠΈ Π΄Π°Π½Π½ΡΠ΅ Π³Π΄Π΅ Π²ΠΈΠ΄ΠΈΠΌ Β«you_Β».
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Π±ΠΎΡΡ
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ²ΠΎΠ΅ΠΉ Π³ΡΡΠΏΠΏΡ:
ΠΡΠ±ΡΠ°ΡΡ Π²ΠΊΠ»Π°Π΄ΠΊΡ Π Π°Π±ΠΎΡΠ° Ρ API ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»ΡΡ Π΄ΠΎΡΡΡΠΏΠ°(Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ ΠΎΠ½ Π½Π°ΠΌ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Π±ΠΎΡΡ.
ΠΠ΅ΡΠ΅ΠΉΡΠΈ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡ Β«Long Poll APIΒ» ΠΈ Π²ΠΊΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ. Π ΡΠ°ΠΊ ΠΆΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΈΠ· Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π²Π΅ΡΡΠΈΠΉ
ΠΠ΅ΡΠ΅ΠΉΡΠΈ Π² Β«Π’ΠΈΠΏΡ ΡΠΎΠ±ΡΡΠΈΠΉΒ» ΠΈ ΡΠ°ΠΊ ΠΆΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ Π²ΡΠ΅, ΡΡΠΎ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ. Π― Π²ΠΊΠ»ΡΡΠΈΠ» Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π²ΡΠ΅
Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅. ΠΠ΅ΡΠ΅ΠΉΡΠΈ Π² Β«Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΒ» > Β«ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π»Ρ Π±ΠΎΡΠ°Β» ΠΈ Π²ΠΊΠ»ΡΡΠΈΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π±ΠΎΡΠΎΠ². Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠ°ΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅.
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π±ΠΎΡΠ° ΠΊ Π³ΡΡΠΏΠΏΠ΅
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΠΏΠΈΡΠ΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π±ΠΎΡΠ° ΠΊ long poll ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΠΠΊΠΎΠ½ΡΠ°ΠΊΡΠ΅:
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ Π²ΠΊΠ»ΡΡΠΈΠ»ΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ Π±ΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π²Ρ ΠΎΠ΄ΡΡΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ.
Π Π°Π±ΠΎΡΠ° Ρ Π±ΠΎΡΠΎΠΌ
ΠΠ°Π²Π°ΠΉΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π±ΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π½Π° Π»ΡΠ±ΡΠ΅ Π½Π°ΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π½Π°ΡΠΈΠΌΠΈ ΠΆΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΡΡΠΎΡΠΊΠΈ ΠΏΡΠΎΠΏΠΈΡΠ΅ΠΌ ΡΡΠΎ:
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ vk.messages.send().ΠΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΌΠΎΠ΄ΡΠ»Ρ vk_api. Π ΠΌΠ΅ΡΠΎΠ΄Π°Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΠΊΠΎΠ½ΡΠ°ΠΊΡΠ΅(ΡΡΡΠ»ΠΊΠ° Π±ΡΠ΄Π΅Ρ Π½ΠΈΠΆΠ΅).
ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ.
ΠΡΠ³ΡΠΌΠ΅Π½Ρ user_id ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΊΠ°ΠΊΠΎΠΌΡ Π°ΠΊΠΊΠ°ΡΠ½ΡΡ ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎ Π½Π°Π΄ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ event.obj.from_id ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π°ΠΊΠΊΠ°ΡΠ½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π½Π°ΠΌ ΠΎΡΠΏΡΠ°Π²ΠΈΠ» ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. Π’ΠΎ Π΅ΡΡΡ ΠΌΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠΌΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠΏΡΠ°Π²ΠΈΠ» Π΅Π³ΠΎ Π½Π°ΠΌ.
Π£ΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΡΠΎΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ!
ΠΡΠ³ΡΠΌΠ΅Π½Ρ random_id Π½ΡΠΆΠ΅Π½ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΠΊΠΎΠ½ΡΠ°ΠΊΡΠ΅ Π½Π΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ» ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΠΎ 2 ΡΠ°Π·Π°. Π£ΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΡΠΎΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ!
ΠΡΠ³ΡΠΌΠ΅Π½Ρ message ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΊΠ°ΠΊΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ. Π event.obj.text Ρ ΡΠ°Π½ΠΈΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠΉ ΡΠ΅ΠΊΡΡ Π² ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ. ΠΡΠΎΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΠΎΠΆΠ΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»Π΅Π½.
ΠΠΎΠ»ΡΡΠ΅ ΠΎΠ± Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°Ρ ΠΊ ΡΡΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΠΊΠΎΠ½ΡΠ°ΠΊΡΠ΅.
ΠΠ°ΠΏΡΡΠΊ
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°Ρ Π±ΠΎΡ Π³ΠΎΡΠΎΠ² ΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΅Π³ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ. ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠ΅Π»ΠΎ ΠΏΠΈΡΠ°ΡΡ Π±ΠΎΡΡ ΠΈ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ.
ΠΠ° ΡΡΠΎΠΌ 1 ΡΠ°ΡΡΡ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π°. ΠΡ Π½Π°ΡΡΠΈΠ»ΠΈΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π±ΠΎΡΠ°. ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ Π΅Π³ΠΎ, Π° ΡΠ°ΠΊ ΠΆΠ΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
ΠΠΎ 2 ΡΠ°ΡΡΠΈ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ PyMySQL Π·Π°Π½ΠΎΡΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±ΠΎΡΠ° Π΄Π»Ρ ΠΠΠΎΠ½ΡΠ°ΠΊΡΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±ΠΎΡΠ° Π΄Π»Ρ ΠΠΠΎΠ½ΡΠ°ΠΊΡΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½ΡΠΆΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π° ΡΠΎΡΠ½Π΅Π΅ vk_api.
Π Π½Π°ΡΠ°Π»Π΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠΊΠ΅Π½ Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ Π±ΠΎΡΠ°.
ΠΠ°ΡΠΈΠ½Π°Π΅ΠΌ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄
ΠΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ:
ΠΠ°Π»Π΅Π΅ ΠΏΠΈΡΠ΅ΠΌ ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½ΡΠΆΠ½Ρ, Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎ Π±Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎΠΌ (Π°Π²ΡΠΎΡΠΈΠ·ΠΈΡΡΠ΅ΠΌ Π±ΠΎΡΠ°):
ΠΠ°Π»Π΅Π΅ ΠΏΠΈΡΠ΅ΠΌ ΡΠΈΠΊΠ», Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄ΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ:
ΠΠ΅ΠΆΠ΄Ρ ΡΠΈΠΊΠ»ΠΎΠΌ ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠ΅ΠΌ (Π½Π°Π·ΠΎΠ²ΡΠΌ ΡΡΠΎ ΠΌΠ΅ΡΡΠΎ Π°ΠΈΡ) Π±ΡΠ΄Π΅Ρ ΠΊΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎ Π±Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½Π°Π΄ΠΎ Π² Π°ΠΈΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠΎΠ΄:
Π’Π΅ΠΏΠ΅ΡΡ Π² ΡΠΈΠΊΠ» ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ:
Π£ΡΠΈΠΌΡΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΡΠΈΠΊΠ΅ΡΡ ΠΈ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎ Π±Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΡΠΈΠΊΠ΅ΡΡ Π² Π°ΠΈΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ:
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°Π΄ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ id ΡΡΠΈΠΊΠ΅ΡΠ° Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°Π΄ΠΎ:
Π§ΡΠΎ Π±Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡ Π½Π°Π΄ΠΎ Π² ΠΏΠ΅ΡΠ²ΡΡ ΡΡΠΎ Π±Ρ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡ Π±ΡΠ»Π° Π»ΠΈΠ±ΠΎ Ρ Π²Π°Ρ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ Π»ΠΈΠ±ΠΎ Π²ΠΎ ΠΠΊΠΎΠ½ΡΠ°ΠΊΡΠ΅ (Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎ Π²ΡΠΎΡΠΎΠΌ).
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎ Π±Ρ Π½Π°ΠΉΡΠΈ Π°ΠΉΠ΄ΠΈ ΡΠΎΡΠΎ Π½Π°Π΄ΠΎ ΠΎΡΠΊΡΡΡΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡ ΠΈ Π² ΡΡΡΠ»ΠΊΠ΅ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡ Π½Π°ΡΠΈΠ½Π°Ρ ΡΠΎ ΡΠ»ΠΎΠ²Π° photo Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈ Π΄ΠΎ % Π½Π΅ Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:photo-190960458_457239182
ΠΠ°Π»Π΅Π΅ Π² Π°ΠΈΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ:
Π° Π² ΡΠΈΠΊΠ» Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ:
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ
ΠΠΎΡΠΎΠΌ ΠΈΠ΄Π΅Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°ΠΌΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ
ΠΠ°Π»Π΅Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π² ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ΄Π΅ΠΌ Π²ΡΠ·ΡΠ²Π°ΡΡ keyboard=keyboard.get_keyboard()
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°
ΠΠΈΡΠ΅ΠΌ ΡΠ°Ρ Π±ΠΎΡΠ° Π΄Π»Ρ ΠΠΠΎΠ½ΡΠ°ΠΊΡΠ΅ Π½Π° python Ρ ΠΏΠΎΠΌΠΎΡΡΡ longpoll
Π‘Π΅ΠΉΡΠ°Ρ Π±ΠΎΡΡ ΡΡΠ°Π»ΠΈ ΠΎΠ±ΡΠ΄Π΅Π½Π½ΠΎΡΡΡΡ ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°Π³Ρ, Π½ΠΎ Π΅ΡΠ»ΠΈ ΡΠ΅Π±Π΅ Π½ΡΠΆΠ΅Π½ ΡΠ²ΠΎΠΉ Π±ΠΎΡ Π² ΡΠΎΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ Π²ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ΅, ΡΠΎ ΡΡΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ.
ΠΡ ΠΏΡΡΠΌ ΡΠΎΠ²ΡΠ΅ΠΌ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ²
ΠΠ°ΠΊ ΠΎΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ?
Long Polling β ΡΡΠΎ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ Π½ΠΎΠ²ΡΡ ΡΠΎΠ±ΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Β«Π΄Π»ΠΈΠ½Π½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ²Β». Π‘Π΅ΡΠ²Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π·Π°ΠΏΡΠΎΡ, Π½ΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΡΠ²Π΅Ρ Π½Π° Π½Π΅Π³ΠΎ Π½Π΅ ΡΡΠ°Π·Ρ, Π° Π»ΠΈΡΡ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈΠ΄ΡΡ Π½ΠΎΠ²ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅), Π»ΠΈΠ±ΠΎ ΠΈΡΡΠ΅ΡΡΡ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ.
ΠΠΎΠ²ΠΎΡΡ ΡΡΡΡΠΊΠΈΠΌ ΡΠ·ΡΠΊΠΎΠΌ, ΠΌΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ Π·Π°ΠΏΡΠΎΡ, Π° ΠΎΠ½ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΡΠΊΠ°Π΅Ρ Π²ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ΅ Π΅ΡΠ»ΠΈ ΡΠ°ΠΌ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ ΡΡΠΎ Π»ΠΈΠ±ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°ΠΌ ΠΏΡΠΈΠ΄ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ½ Π±Π΅ΠΆΠΈΡ ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎΠ± ΡΡΠΎΠΌ Π½Π°ΠΌ. ΠΡ ΡΡΠΎΠ³ΠΎ ΠΈ Π±ΡΠ΄Π΅ΠΌ ΠΏΠ»ΡΡΠ°ΡΡ.
Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠΊΠ°Π·Π°ΡΡ Π²ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ ΡΡΠΎ ΠΌΡ β ΡΡΠΎ ΠΌΡ, Π° Π½Π΅ ΠΊΡΠΎ-Π»ΠΈΠ±ΠΎ Π΅ΡΡ. ΠΠ΅Π»Π°Π΅ΡΡΡ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅, ΡΠ΅Π±ΡΡΠ° ΠΈΠ· ΠΠ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π»ΠΎΠ³ΠΈΠ½Π° Π½ΠΎΠΌΠ΅Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° Ρ.ΠΊ. ΠΈΠ½Π°ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΠ²Π°ΡΡΡΡ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π°Π½ΡΠΈΡΠΎΠ±ΠΎΡ, ΡΡ ΡΠ°ΠΌΡΡ Π³Π΄Π΅ ΡΠ΅Π±Ρ ΠΏΡΠΎΡΡΡ Π²Π²Π΅ΡΡΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠΈΠ΅ ΡΠΈΡΡΡ ΠΈΠ· Π½ΠΎΠΌΠ΅ΡΠ° ΡΠ΅Π»Π΅ΡΠΎΠ½Π°.
ΠΡΠ»ΠΈ Π±ΠΎΡ Π±ΡΠ΄Π΅Ρ ΡΠΈΠ΄Π΅ΡΡ Π² Π³ΡΡΠΏΠΏΠ΅ ΡΠΎ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΏΠΎ Π΄ΡΡΠ³ΠΎΠΌΡ.
β Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠΎΠΊΠ΅Π½?
β Π’Π°ΠΊΠ°Ρ ΡΡΡΠΊΠ° ΠΈΠ· ΡΠΈΡΠ΅ΡΠΎΠΊ ΠΈ Π±ΡΠΊΠΎΠ²ΠΎΠΊ ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ
Π³ΡΡΠΏΠΏΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ ΡΠ°Π·Π΄Π΅Π» Β«Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎΠΌΒ» (Β«Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡΠ΅ΠΉΒ», Π΅ΡΠ»ΠΈ Ρ ΠΠ°Ρ ΠΏΡΠ±Π»ΠΈΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ°), Π²ΡΠ±ΡΠ°ΡΡ Π²ΠΊΠ»Π°Π΄ΠΊΡ Β«Π Π°Π±ΠΎΡΠ° Ρ APIΒ» ΠΈ Π½Π°ΠΆΠ°ΡΡ Β«Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»ΡΡ Π΄ΠΎΡΡΡΠΏΠ°Β».
Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΠ·ΠΎΠ²Π΅ΠΌ longpool.
Π ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°Π΄Π°Π½Π½ΡΠΉ Π²Π°ΠΌΠΈ ΡΠ΅ΠΊΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
Π Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»ΡΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ.
ΠΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡ Π΅ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ, Π½ΠΎ ΡΡΡ ΠΏΠΎΠ΄ΡΠΌΠ°ΠΉΡΠ΅ ΡΠ°ΠΌΠΈ, Π° Ρ Π»ΠΈΡΡ ΡΠΊΠ°ΠΆΡ ΡΡΠΎ: ΡΡΡΠ»ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»ΠΈΡΡ Π½Π° ΡΠ°ΡΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΈ Π½ΠΈΠΊΡΠΎ Π½Π΅ Π·Π°ΠΏΡΠ΅ΡΠΈΠ» Π½Π°ΠΌ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΎΡΠ²Π΅Ρ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ:
Π‘ΡΡΠ»ΠΊΠΈ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ
ΠΠ° ΡΡΠΎΠΌ Ρ Ρ Π²Π°ΠΌΠΈ ΠΏΠΎΠΏΡΠΎΡΠ°ΡΡΡ. Π₯ΠΎΡΠΎΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄ΠΈΠ½Π³Π°.
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°Ρ-Π±ΠΎΡΠ° Π΄Π»Ρ ΠΠΠΎΠ½ΡΠ°ΠΊΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Python, Django ΠΈ webhook
ΠΠ°ΡΠ΅ΠΌ Π΅ΡΡ ΠΎΠ΄Π½Π° ΡΡΠ°ΡΡΡ ΠΏΡΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°Ρ-Π±ΠΎΡΠ°?
ΠΠ°ΡΠ΅ΠΌ ΠΏΠ»Π°ΡΠ½ΡΠΉ Ρ ΠΎΡΡΠΈΠ½Π³?
ΠΠ° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄ ΠΆΠΈΠ·Π½Π΅ΡΠΏΠΎΡΠΎΠ±Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π±ΠΎΡΠ° β ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π²Π°ΡΠ΅Π³ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΠΈ Π΄ΠΎΡΡΡΠΏΠ΅Π½ 24/7. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ΅Π½ Ρ
ΠΎΡΡΠΈΠ½Π³, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π΅ΡΡΡ: Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ, ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
(Π΄Π»Ρ ΡΠ°Π·Π²ΠΈΡΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π±ΠΎΡΠ°), ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ, ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π½Π΅Π³ΠΎ SSL-ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° ΠΈ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²ΡΠ΅Π³ΠΎ ΡΡΠΎΠ³ΠΎ Ρ
ΠΎΠ·ΡΠΉΡΡΠ²Π°. Π’Π°ΠΊΠΈΠ΅ ΡΡΠ»ΡΠ³ΠΈ ΡΡΠΎΡΡ Π΄Π΅Π½Π΅Π³. Π― ΠΏΠ»Π°ΡΡ Ρ
ΠΎΡΡΠΈΠ½Π³Ρ 138 ΡΡΠ±Π»Π΅ΠΉ Π² ΠΌΠ΅ΡΡΡ Π·Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ Π±ΠΎΡΠ°: ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Python + Django, Π‘Π£ΠΠ MySQL 25 ΠΠ±, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° SSH.
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΡΠΎΠΊΠΎΠ² Ρ Π²ΠΈΠ΄Π΅Π» ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈΠ»ΠΈ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ Ρ
ΠΎΡΡΠΈΠ½Π³ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ°Π±ΠΎΡΡ ΠΈ Ρ. ΠΏ. Π ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ
Π±ΠΎΡ Ρ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎΡΡΡΡ ΠΎΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠ΅ΡΡΠ΅Π½Π΄ΠΆΠ΅ΡΠ° Π½Π° ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ
ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΡΠΎ Π»ΠΈΡΠ½ΡΡ Π½Π°Π³ΡΡΠ·ΠΊΠ° Π½Π° ΡΠ΅ΡΠ²Π΅ΡΡ ΠΌΠ΅ΡΡΠ΅Π½Π΄ΠΆΠ΅ΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ Π±ΠΎΡ ΠΌΠΎΠ³ΡΡ Β«Π·Π°Π±Π°Π½ΠΈΡΡΒ» Π½Π° ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π²ΡΠ΅ΠΌΡ. ΠΡΡ ΡΡΠΎ ΠΏΠΎ ΠΌΠΎΠ΅ΠΌΡ ΠΌΠ½Π΅Π½ΠΈΡ Π½Π΅ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎ Π΄Π»Ρ ΡΠ΅ΡΡΠ° ΠΈ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Π²ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ webhook ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΎΠ½?
ΠΠ»Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠΈΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ webhookβΠ°, Ρ. Π΅. ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°Ρ Π±ΠΎΡ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΌΠ΅ΡΡΠ΅Π½ΠΆΠ΅ΡΠ°, Π° Π½Π΅ Β«Π΄ΠΎΠ»Π±ΠΈΡΒ» Π΅Π³ΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈΠΌ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ: Π΅ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π½Π΅Ρ. Π‘ webhookβΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊ: Π½Π°ΠΏΠΈΡΠ°Π» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠ΅ΡΡΠ΅Π½Π΄ΠΆΠ΅ΡΠ° ΠΎΡΠΏΡΠ°Π²ΠΈΠ» Π΅Π³ΠΎ Π²Π°ΡΠ΅ΠΌΡ Π±ΠΎΡΡ, ΠΎΠ½ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠ», ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π» ΠΈ ΠΎΡΠ²Π΅ΡΠΈΠ».
ΠΠΎΡΠ΅ΠΌΡ Django?
Π― ΡΠ΅ΡΠΈΠ» Π΄Π΅Π»Π°ΡΡ Π±ΠΎΡΠ° Π½Π° python, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ» Π½Π° Ρ ΠΎΡΡΠΈΠ½Π³Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ python. ΠΠΎ Π²ΡΠ±ΠΎΡΠ° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Ρ ΠΌΠ΅Π½Ρ Π½Π΅ Π±ΡΠ»ΠΎ β Ρ ΠΎΡΡΠΈΠ½Π³ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Django. ΠΠΎΠ²ΠΎΡΡΡ Π½Π° Π½ΡΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Instagram, Pinterest, Bitbucket ΠΈ Mozilla. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΠΎΡΡΠΈΠ½Π³ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Π³ΠΎ.
ΠΠΎΡΠ΅ΠΌΡ ΠΠΠΎΠ½ΡΠ°ΠΊΡΠ΅, Π° Π½Π΅ Telegram ΠΈΠ»ΠΈ Viber?
Π§ΡΠΎΠ±Ρ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ ΠΎΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΊ ΡΠ»ΠΎΠΆΠ½ΠΎΠΌΡ Π΄Π»Ρ ΠΌΠ΅Π½Ρ Π±ΡΠ»ΠΎ Π²Π°ΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π½Π°ΡΡΡΠΎΠΈΡΡ webhook. ΠΠΠΎΠ½ΡΠ°ΠΊΡΠ΅ ΠΎΠΊΠ°Π·Π°Π»ΡΡ Π΄Π»Ρ ΠΌΠ΅Π½Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ Π²Π²ΠΈΠ΄Ρ ΡΡΡΠΊΠΎΠΉ ΡΠΏΡΠ°Π²ΠΊΠ΅ ΠΈ ΠΏΡΠΎΡΡΠΎΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ webhookβa Π² ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎΠΌ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Β«Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ β Π Π°Π±ΠΎΡΠ° Ρ APIΒ». ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Ρ Π²ΡΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π» ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π» Π±ΡΠ΄Π΅Ρ Π΄Π°Π»ΡΡΠ΅. Π ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅ Ρ ΠΎΡΡ ΡΠ΄Π΅Π»Π°ΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ ΡΠ²ΠΎΠ΅Π³ΠΎ Π±ΠΎΡΠ° Π² Viber. Π Ρ Telegram ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎ ΠΏΡΡΠΈ, Ρ. ΠΊ. ΠΌΠΎΠΉ Ρ ΠΎΡΡΠΈΠ½Π³ Π² Π ΠΎΡΡΠΈΠΈ, Π° ΠΈΠ· Π ΠΎΡΡΠΈΠΈ Telegram Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½. Π§ΡΠΎΠ±Ρ Π½Π΅ Π±ΡΠ»ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ Telegram ΠΌΠΎΠΆΠ½ΠΎ ΠΊΡΠΏΠΈΡΡ Ρ ΠΎΡΡΠΈΠ½Π³ Π·Π°Π³ΡΠ°Π½ΠΈΡΠ΅ΠΉ.
ΠΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ webhook Π΄Π»Ρ Π±ΠΎΡΠ° ΠΠΠΎΠ½ΡΠ°ΠΊΡΠ΅?
ΠΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ https://. ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ ΡΠ°ΠΉΡΠ° ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄Π»Ρ Π½Π΅Π³ΠΎ ssl-ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ.
Π― Π½Π΅ Ρ ΠΎΡΠ΅Π» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠ°Ρ-Π±ΠΎΡΠ° ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ Π΄ΠΎΠΌΠ΅Π½, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ Π΄ΠΎΠΌΠ΅Π½Π°, Ρ ΡΠ΄Π΅Π»Π°Π» ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ» Π΄Π»Ρ Π½Π΅Π³ΠΎ ssl-ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ.
ΠΡΠ΅ ΡΡΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ ΡΠ΄Π΅Π»Π°Π» Π½Π° ΡΠ°ΠΉΡΠ΅ Ρ
ΠΎΡΡΠΈΠ½Π³Π° Π² ΡΠ²ΠΎΡΠΌ Π»ΠΈΡΠ½ΠΎΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅.
Π ΠΈΡΠΎΠ³Π΅ Ρ ΠΏΠΎΠ»ΡΡΠΈΠ» Π°Π΄ΡΠ΅Ρ ΡΠ°ΠΉΡΠ° mybot.mysite.ru ΠΈ ssl-ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΠΊ Π½Π΅ΠΌΡ.
ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ Π΄Π»Ρ Π±ΠΎΡΠ° ΠΊΠ»ΡΡ Π΄ΠΎΡΡΡΠΏΠ° (ΡΠΎΠΊΠ΅Π½) ΠΠΠΎΠ½ΡΠ°ΠΊΡΠ΅. Π‘ΠΏΠ΅ΡΠ²Π° ΡΠΎΠ·Π΄Π°Π» Π·Π°ΠΊΡΡΡΡΡ Π³ΡΡΠΏΠΏΡ, Π΄Π°Π»Π΅Π΅ Π·Π°ΡΡΠ» Π² Β«ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅Β» Π³ΡΡΠΏΠΏΠΎΠΉ, Π² ΡΠ°Π·Π΄Π΅Π» Β«Π Π°Π±ΠΎΡΠ° Ρ APIΒ». ΠΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«ΠΠ»ΡΡΠΈ Π΄ΠΎΡΡΡΠΏΠ°Β» Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠΊΠ΅Π½, Π° Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«Callback APIΒ» Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ webhookβa.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Django. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π²Π°ΡΠ΅Π³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° Π½Π° python Django Π½Π΅ Π½ΡΠΆΠ΅Π½, Π½ΠΎ Ρ Π½Π΅ Π·Π½Π°Ρ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ Π΄ΡΡΠ³ΠΎΠΌΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ PuTTY Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ»ΡΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΏΠΎ SSH, Π½Π°ΡΡΡΠΎΠΈΠ» ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π» Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅.
ΠΊΠΎΠΌΠ°Π½Π΄Π° Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅, Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΠΎ Π²ΡΠΎΡΠΎΠΉ β Π΅Π³ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅Ρ (ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ±Π΅Π» ΠΏΠΎΡΠ»Π΅ ΡΠΎΡΠΊΠΈ). ΠΠ΅ΡΡΠΈΡ 2.7 ΠΏΡΠΎΠ΄ΠΈΠΊΡΠΎΠ²Π°Π½Π° Ρ ΠΎΡΡΠΈΠ½Π³ΠΎΠΌ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Π² Π²Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅. ΠΠΎΡΡΠΎΠΌΡ ΡΠΈΡΠ°ΠΉΡΠ΅ ΡΠΏΡΠ°Π²ΠΊΡ Ρ ΠΎΡΡΠΈΠ½Π³Π°.
ΠΠ°Π»Π΅Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ» Django
SSH:
ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ» ΠΠΆΠ°Π½Π³ΠΎ Π²Π΅ΡΡΠΈΠΈ Π½Π΅ ΡΠ°Π½Π΅Π΅ Π²ΡΠΎΡΠΎΠΉ, Ρ. ΠΊ. Π½Π° Ρ ΠΎΡΡΠΈΠ½Π³Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ python 2.7, Π° Ρ Π½ΠΈΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Django Π²Π΅ΡΡΠΈΠΈ ΠΌΠ΅Π½ΡΡΠ΅ 2.
Π ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ» python-ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ API ΠΠΠΎΠ½ΡΠ°ΠΊΡΠ΅
SSH:
FTP:
Π‘ΠΎΠ·Π΄Π°Π» ΠΏΠ°ΠΏΠΊΡ Π΄Π»Ρ django-ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π½Π° Ρ
ΠΎΡΡΠΈΠ½Π³Π΅. ΠΠ°Π·Π²Π°Π» Π΅Ρ django.
SSH:
Π‘ΠΎΠ·Π΄Π°Π» Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ.
Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΏΠ°ΠΏΠΊΠ° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ° (Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ β ΡΡΠΎ Β«mybotΒ») Π² ΠΏΠ°ΠΏΠΊΠ΅ /django. Π Π½Π΅ΠΉ Π±ΡΠ΄ΡΡ ΡΠ°ΠΉΠ»Ρ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ:
/django
/mybot β ΠΏΠ°ΠΏΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°
/mybot β ΠΌΠΎΠ΄ΡΠ»Ρ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°
__init__.py
settings.py
urls.py
wsgi.py
manage.py
ΠΡΠΎΠ΅ΠΊΡ Π² Django β ΡΡΠΎ Π³ΡΡΠΏΠΏΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Django β ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π·Π°Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ.
SSH:
Π‘ΠΎΠ·Π΄Π°Π» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
Π― ΠΏΠ΅ΡΠ΅ΡΡΠ» Π² ΠΏΠ°ΠΏΠΊΡ /django/mybot ΠΈ ΡΠΎΠ·Π΄Π°Π» Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«vk_botΒ».
Π ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠΎΠ·Π΄Π°Π»Π°ΡΡ ΠΏΠ°ΠΏΠΊΠ° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ:
/django
/mybot β ΠΏΠ°ΠΏΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°
/mybot β ΠΌΠΎΠ΄ΡΠ»Ρ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°
__init__.py
settings.py
urls.py
wsgi.py
manage.py
/vk_bot β ΠΏΠ°ΠΏΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
__init__.py
admin.py
apps.py
models.py
tests.py
views.py
FTP:
Π― Π·Π°Π³ΡΡΠ·ΠΈΠ» Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π° ΡΠ²ΠΎΠΉ Π½ΠΎΡΡΠ±ΡΠΊ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ.
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Atom.
Atom:
ΠΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π» Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² ΡΠ°ΠΉΠ»Π΅ /django/mybot/mybot/settings.py
Atom:
ΠΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π» Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ url-ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ Π°Π΄ΡΠ΅ΡΠΎΠ² Π² ΡΠ°ΠΉΠ»Π΅ /django/mybot/mybot/urls.py
FTP:
Π‘ΠΎΠ·Π΄Π°Π» ΡΠ°ΠΉΠ» /django/mybot/vk_bot/urls.py ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΡ:
Atom:
ΠΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π» ΡΠ°ΠΉΠ» /django/mybot/vk_bot/views.py β Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π² Π½Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ index, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Π°Π΄ΡΠ΅ΡΠ°
Π ΡΠΊΡΠΈΠΏΡΠ΅ views.py, Π² ΡΡΠ½ΠΊΡΠΈΠΈ index(request) ΠΏΡΠΈΡΠ»ΠΎΡΡ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π² Django CSRF Π·Π°ΡΠΈΡΡ, Ρ.ΠΊ. Ρ ΠΏΠΎΠ»ΡΡΠ°Π» ΠΎΡΠΈΠ±ΠΊΡ Β«403 ForbiddenΒ». CSRF β Cross Site Request Forgery protection β Π·Π°ΡΠΈΡΠ° ΠΎΡ ΠΏΠΎΠ΄Π΄Π΅Π»ΠΊΠΈ ΠΌΠ΅ΠΆΡΠ°ΠΉΡΠΎΠ²ΡΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ CSRF ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΈΡΠ°ΡΡ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅.
ΠΠ»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π·Π°ΡΠΈΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡ @csrf_exempt. ΠΠΎ ΡΡΠΎΠ±Ρ Π²ΡΠ΅ ΡΠ°ΠΊΠΈ ΡΡΡ Π·Π°ΡΠΈΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ, Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π³ΡΡΠΏΠΏΠΎΠΉ Π½Π° ΡΠ°ΠΉΡΠ΅ ΠΠΠΎΠ½ΡΠ°ΠΊΡΠ΅.
ΠΠΎΡ ΡΡΠΎ ΠΊΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΡΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π·Π°ΠΏΡΠΎΡΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΡΠ»Π°ΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π½Π°Ρ webhook Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ. Π‘ΠΊΠ°ΠΆΠ΅ΠΌ ΡΠ°ΠΊ, Β«ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅Β» Π½Π°ΡΠ΅Π³ΠΎ webhookβa.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Ρ Π΄Π΅ΡΠΆΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π±ΠΎΡΠ° bot_config.py ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Ρ Π΅Π³ΠΎ Π² Π½Π°ΡΠ°Π»Π΅ ΡΠΊΡΠΈΠΏΡΠ°:
Π Π² ΡΡΠΎΡ ΠΊΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ:
ΠΡΠ»ΠΈ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΡΠ°ΡΡΡ ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ Django.
ΠΠ°Π³ΠΈΡ Π΄Π»Ρ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠ»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΡ Π·Π°ΡΡΠ» Π½Π° ΡΠ΅ΡΠ²Π΅Ρ Π² ΠΏΠ°ΠΏΠΊΡ Ρ Π΄ΠΎΠΌΠ΅Π½Π°ΠΌΠΈ ΡΠ΅ΡΠ΅Π· FTP-ΠΊΠ»ΠΈΠ΅Π½Ρ FileZilla ΠΈ ΡΠΎΠ·Π΄Π°Π» ΡΠ°ΠΌ ΠΏΠ°ΠΏΠΊΡ «mybot.mysite.ru«, Π² Π½Π΅Ρ ΠΏΠΎΠ»ΠΎΠΆΠΈΠ» ΡΡΠΈ ΡΠ°ΠΉΠ»Π°, ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊΠΎΡΠΎΡΡΡ Π²Π·ΡΡΠΎ ΠΈΠ· ΡΠΏΡΠ°Π²ΠΊΠΈ Π½Π° Ρ ΠΎΡΡΠΈΠ½Π³Π΅:
ΠΠ΄Π΅ΡΡ Β«myEnvΒ» β Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²Π°ΠΌΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, Β«djangoΒ» β ΠΏΠ°ΠΏΠΊΠ° Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° Ρ ΠΎΡΡΠΈΠ½Π³Π΅, Β«mybotΒ» β Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Django.
Β«ΠΡΠΈΠ²ΡΠ·ΡΠ²Π°Π΅ΠΌΒ» Π½Π°Ρ webhook ΠΊ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π² ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ Π³ΡΡΠΏΠΏΠ΅ ΠΠΊΠΎΠ½ΡΠ°ΠΊΡΠ΅.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²Π΅ΡΠ½ΡΠΌΡΡ Π² ΡΠ°Π·Π΄Π΅Π» ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π°ΡΠ΅ΠΉ Π³ΡΡΠΏΠΏΠΎΠΉ Π½Π° ΡΠ°ΠΉΡΠ΅ ΠΠΠΎΠ½ΡΠ°ΠΊΡΠ΅ (ΡΠΌ. ΡΠΊΡΠΈΠ½ΡΠΎΡ Π²ΡΡΠ΅). ΠΠ²Π΅Π΄ΡΠΌ Π² ΠΏΠΎΠ»Π΅ Β«ΠΠ΄ΡΠ΅ΡΒ» Π½Π°Ρ Π°Π΄ΡΠ΅Ρ webhookβa ΠΈ Π½Π°ΠΆΠΌΡΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ Β«ΠΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡΒ». ΠΡΠ»ΠΈ Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ index(request), Π½Π°ΠΏΠΈΡΠ°Π½Π½Π°Ρ Π² ΡΠ°ΠΉΠ»Π΅ /django/mybot/vk_bot/views.py ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ, Ρ. Π΅. Π² Π½Π΅ΠΉ Π½Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΠΊ ΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ, ΡΠΎ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π·Π΅Π»ΡΠ½Π°Ρ Π³Π°Π»ΠΎΡΠΊΠ°, ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΠ·ΠΈΡΡΡΡΠ°Ρ ΡΡΠΎ Π²ΡΡ Ρ
ΠΎΡΠΎΡΠΎ.
Π§ΡΠΎΠ±Ρ Π½Π°Ρ webhook ΠΏΠΎΠ»ΡΡΠ°Π» ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΠΠΎΠ½ΡΠ°ΠΊΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎ Π½ΠΎΠ²ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π°ΡΠ΅ΠΉ Π³ΡΡΠΏΠΏΠΎΠΉ Π½Π° ΡΠ°ΠΉΡΠ΅ ΠΠΠΎΠ½ΡΠ°ΠΊΡΠ΅, Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«Π’ΠΈΠΏΡ ΡΠΎΠ±ΡΡΠΈΠΉΒ» ΠΏΠΎΡΡΠ°Π²ΠΈΠΌ Π³Π°Π»ΠΎΡΠΊΡ Π½Π°ΠΏΡΠΎΡΠΈΠ² Β«Π²Ρ ΠΎΠ΄ΡΡΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΒ».
Π ΠΈΡΠΎΠ³Π΅ Π½Π°Ρ ΡΠΊΡΠΈΠΏΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π²ΠΎΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² json ΡΠΎΡΠΌΠ°ΡΠ΅:
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ Π² json ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ Π΅ΡΡΡ ΠΏΠΎΠ»Π΅ Β«secretΒ». ΠΡΠΎ ΡΠΎΡ ΡΠ°ΠΌΡΠΉ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΠΏΡΠΎΠΏΠΈΡΠ°Π» Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π³ΡΡΠΏΠΏΠΎΠΉ Π½Π° ΡΠ°ΠΉΡΠ΅ ΠΠΠΎΠ½ΡΠ°ΠΊΡΠ΅, Π²Π·Π°ΠΌΠ΅Π½ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ Π² Django CSRF Π·Π°ΡΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠ½Π΅ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ.
ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ Π±ΠΎΡΠ° ΡΠΌΠ½Π΅Π΅ ΠΈ Π»ΡΡΡΠ΅?
ΠΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
Ρ ΠΎΡΠ²Π΅ΡΠ°ΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ Π½Π°ΡΡΠΈΡΡ Π±ΠΎΡΠ° Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΎΡΠ²Π΅Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π±Π»ΠΈΠ·ΠΊΠΈΠΉ ΠΏΠΎ ΡΠΌΡΡΠ»Ρ ΠΊ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ± ΡΡΠΎΠΌ ΡΠ°ΡΡΠΊΠ°ΠΆΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅.
ΠΠΎΠΆΠ½ΠΎ ΠΈ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, ΡΠ°ΠΊ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°ΡΡ ΡΠ°Π·Π³ΠΎΠ²ΠΎΡ.