Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌΠΌΠ΅
Access-Π»ΠΎΠ³ΠΈ ΡΠ°ΠΉΡΠ° Π΄Π»Ρ seo: Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ° ΠΎΡΡΠ΅ΡΠΎΠ² Π² Telegram
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΡΠΉ ΠΌΠ°Π½ΡΠ°Π» ΠΏΠΎ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ Π»ΠΎΠ³ΠΎΠ² Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΈΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ ΠΈ ΠΏΠ°ΡΡΠΈΠ½Π³Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΎΡΡΠ΅ΡΠΎΠ² Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΎΡΠΏΡΠ°Π²ΠΊΠΎΠΉ Π² Telegram. ΠΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π² ΠΊΠΎΠ΄Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ².
Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅ βΠΠ°Π±ΠΎΡ Python-ΡΠΊΡΠΈΠΏΡΠΎΠ² Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ seo Π·Π°Π΄Π°Ρβ Ρ ΡΠΆΠ΅ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Π» ΡΠ΅ΠΌΡ Π°Π½Π°Π»ΠΈΠ·Π° access-Π»ΠΎΠ³ΠΎΠ² ΡΠ°ΠΉΡΠ° Π² ΡΠ΅Π»ΡΡ seo-ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ. Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π»ΠΎΠ³ΠΈ ΠΈ Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΠΈΡ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅ΠΎΡΠΈΠΈ ΠΏΡΠΈΠ²Π΅Π΄Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ»ΠΎΠΊ Π½Π° ΡΠ΅ΡΡΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΡΡΠ΅ΡΠ°Π» Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ:
ΠΠ°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π΄Π»Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Π»ΠΎΠ³ΠΎΠ² Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ°ΠΉΡΠΎΠ² (ΠΎΡ 1 ΠΌΠ»Π½. ΡΡΡΠΎΠΊ). ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°: Π΄Π΅Π»Π°Π΅ΠΌ ΡΠ²ΠΎΠΉ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Ρ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠΌΠΈ ΠΎΡΡΠ΅ΡΠ°ΠΌΠΈ.
Π Π°Π±ΠΎΡΠ° Π½Π°Π΄ Π»ΠΎΠ³Π°ΠΌΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ°ΠΏΠΎΠ²:
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΡΠ°ΠΏ Π²ΡΠ½Π΅ΡΠ΅Π½ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π² ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π° Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΏΠΎ cron.
ΠΠΎΠ³ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° Π² ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ ΡΠ°Π½ΡΡΡΡ Π½Π° Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π² Π²ΠΈΠ΄Π΅ gz Π°ΡΡ ΠΈΠ²ΠΎΠ².
ΠΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΠΎ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ, ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»Π΅Π½, ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ°. ΠΠ΄Π½Π°ΠΊΠΎ, ΡΠ°ΡΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ² ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΡΠ΅.
ΠΠ°Π΄Π°ΡΠ° Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° ΠΊΠ°ΠΆΠ΄ΡΠΉ Π΄Π΅Π½Ρ Π² 23:55 ΡΠΊΠ°ΡΠΈΠ²Π°ΡΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΡΠ°Π·Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ Π»ΠΎΠ³ΠΈ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 7 Π΄Π½Π΅ΠΉ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ°Π³ΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΠΈΡ ΡΡ Π»ΠΎΠ³-ΡΠ°ΠΉΠ»ΠΎΠ², ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΎΡΡΠ΅ΡΠΎΠ². ΠΡΠ΅Π΄ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΈΡ ΡΠΊΠ»Π΅ΠΉΠΊΠ΅, ΠΏΠ°ΡΡΠΈΠ½Π³Π΅ Π½ΡΠΆΠ½ΡΡ ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠΈ Π² csv.
ΠΠ°ΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΠΎΡΡΠ΅ΡΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΡΠ΅Ρ ΠΏΠΎ ΠΏΠΎΡΠ΅ΡΠ°Π΅ΠΌΡΠΌ ΡΠ°Π·Π΄Π΅Π»Π°ΠΌ, ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ Π·Π°Π±ΡΠ²Π°Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠΈΡΡ ΠΎΡΡΠ΅Ρ ΠΏΠΎΠ΄ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ.
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ°Π±ΠΎΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ csv ΡΠ°ΠΉΠ» Ρ ΡΠ°ΡΠΏΠ°ΡΡΠ΅Π½Π½ΡΠΌΠΈ Π»ΠΎΠ³Π°ΠΌΠΈ (Π² ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΠΏΠΎΠ»ΡΡΠΈΠ»ΡΡ 644 MB) ΠΈ Π½Π°Π±ΠΎΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΡΡ ΠΎΡΡΠ΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ.
ΠΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌΠΌ, ΠΈΠ»ΠΈ ΠΈΡΡΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Ρ ΡΠ΄Π΅Π»Π°Π» ΠΏΠΈΡΠΎΠ½ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ
Intro
ΠΠ°Π²Π½ΡΠΌ-Π΄Π°Π²Π½ΠΎ, Π° ΡΠΎΡΠ½Π΅Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΡΡΠ΅Π² Π½Π°Π·Π°Π΄, Π½Π°ΠΊΠ°Π½ΡΠ½Π΅ ΠΠΎΠ²ΠΎΠ³ΠΎ Π³ΠΎΠ΄Π°, Ρ ΡΠΈΠ΄Π΅Π» Π΄ΠΎΠΌΠ° ΠΈ ΡΠ΅ΡΠ°Π» Π·Π°Π΄Π°ΡΡ ΠΏΠΎ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ. Π‘Π²ΡΠ·Π°Π½Π° ΠΎΠ½Π° Π±ΡΠ»Π° Ρ Π½Π΅ΠΉΡΠΎΠ½Π½ΡΠΌΠΈ ΡΠ΅ΡΡΠΌΠΈ ΠΈ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ ΡΠ΅ΠΊΡΡΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ Ρ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΌ GPU ΠΎΡ Π³ΡΠ³Π»Π° (colab). ΠΠ° ΠΎΠΊΠ½ΠΎΠΌ ΡΠ΅Π» ΡΠ½Π΅Π³, Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΠ±ΡΡΠ°Π»ΠΈΡΡ Π½Ρ ΡΠΆ ΠΎΡΠ΅Π½Ρ Π΄ΠΎΠ»Π³ΠΎ. ΠΠ±ΡΡΠ°ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΎΡΡΠ°Π²Π°Π»ΠΎΡΡ Π²ΡΠ΅Π³ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ½ΡΡ, ΠΊΠ°ΠΊ Π²Π΄ΡΡΠ³ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ runtime ΠΏΠΎΡΠ΅ΡΡΠ½ΠΎ, Π° ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΎΠ±ΡΡΠ΅Π½Π½ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΈ ΡΠ°Π±ΠΌΠΈΡΡ ΠΈΠ· ΡΡΠΎΠ³ΠΎ runtime ΡΠΊΠ°ΡΠ°ΡΡ Ρ Π½Π΅ ΡΠΌΠΎΠ³Ρ, ΠΈ Π²ΡΠ΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡ Π·Π°Π½ΠΎΠ²ΠΎ.
ΠΠ°Π½Π½Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ ΠΌΠ΅Π½Ρ ΡΠ°ΡΡΡΡΠΎΠΈΠ»Π° ΠΈ Π·Π°ΡΡΠ°Π²ΠΈΠ»Π° Π·Π°Π΄ΡΠΌΠ°ΡΡΡΡ ΠΎΡ ΡΠΎΠΌ, ΡΡΠΎ Π½Π°Π΄ΠΎ ΠΊΠ°ΠΊ-ΡΠΎ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ΄ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΠ°ΠΉΠ»Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π½Π΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΠ°ΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ°. ΠΠΎΡΠ΅ΠΌΡ-ΡΠΎ Ρ ΡΡΠ°Π·Ρ ΠΏΠΎΠ΄ΡΠΌΠ°Π» ΠΏΡΠΎ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌΠΌ Π±ΠΎΡΠΎΠ² ΠΈ, Π½Π°ΠΏΠΈΡΠ°Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠΌΠΎΠ³ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΠ°ΠΌΠ±ΠΈΡΡ ΠΈ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ°Π΅ΡΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΈ ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΅ΠΉ ΠΎΡΡΠ°Π»ΠΎΡΡ.
ΠΠΎΠΏΠΈΡΠΎΠ²Π°Π» Π΄Π»Ρ ΡΡΠΎΡ ΠΊΠΎΠ΄ ΠΈΠ· Π½ΠΎΡΡΠ±ΡΠΊΠ° (jupyter notebook) Π² Π½ΠΎΡΡΠ±ΡΠΊ, Π° ΠΏΠΎΡΠΎΠΌ ΠΎΡΠΎΠ·Π½Π°Π», ΡΡΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΡΠΎΠΈΡΡ Π² ΠΌΠΎΠ΄ΡΠ»Ρ logging ΠΈ Π·Π°Π²Π΅ΡΠ½ΡΡΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, ΡΡΠΎΠ±Ρ Π½Π΅ ΡΠ°ΡΠΊΠ°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΊΡΡΠΊΠΈ ΠΊΠΎΠ΄Π°, Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅Π³ΠΎ ΠΏΠ°ΡΡ ΡΡΡΠΎΠΊ.
Logging.handlers
ΠΠΎΠ½ΡΡΠ½ΠΎ Π±ΡΠ»ΠΎ, ΡΡΠΎ Π·Π° ΠΎΡΠ½ΠΎΠ²Ρ Π½Π°Π΄ΠΎ Π²Π·ΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π² ΠΏΠΈΡΠΎΠ½. ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ°ΡΡ ΡΠ²ΠΎΠΉ Π²Π΅Π»ΠΎΡΠΈΠΏΠ΅Π΄ ΠΌΠ½Π΅ Π½Π΅ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ, Π° Π΅ΡΠ΅ ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ, Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ ΠΏΡΠΈΡΠ»ΠΎΡΡ Π±Ρ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ Π²Π΅ΡΡ ΠΊΠΎΠ΄ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°Π΄ΠΎ Π±ΡΠ»ΠΎ Π½Π°ΠΉΡΠΈ ΡΠΏΠΎΡΠΎΠ± ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°ΡΡ Π»ΠΎΠ³ΠΈ, ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ»Π°ΡΡ ΠΈΡ Π² ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌΠΌ. Π ΡΡΠ°ΡΡΡΡ, Π² logging Π΅ΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΊΠ»Π°ΡΡ, ΠΊΠ°ΠΊ StreamHandler. ΠΠ΅ Π±ΡΠ΄Ρ Π²Π΄Π°Π²Π°ΡΡΡΡ Π² ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ, Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ²ΠΎΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π² Π»ΠΎΠ³Π°Ρ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π΅Π΅ Π² ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌΠΌ.
Tg-logger
Π Π²ΠΎΡ, Π΄Π΅ΡΠΆΠ° Π² Π³ΠΎΠ»ΠΎΠ²Π΅ Π²ΡΠ΅ Π²ΡΡΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΠΈΠ΄Π΅ΠΈ, Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΠ»ΡΡ ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ. ΠΠΎΡ, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ.
ΠΠ»Ρ ΡΠ΅Ρ , ΠΊΠΎΠΌΡ Π»Π΅Π½Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΠΎΠ΄, Π½ΠΎ Ρ ΠΎΡΠ΅ΡΡΡ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Ρ ΡΠ΄Π΅Π»Π°Π» Π±ΠΎΡΠ° @tg_logger_demo_bot.
Π§ΡΠΎΠ±Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ Π½ΡΠΆΠ½ΠΎ:
ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌΠΌ Π±ΠΎΡΠ° (ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π·Π΄Π΅ΡΡ)
ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ²ΠΎΠΉ user_id (ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ΅ΡΠ΅Π· @tg_logger_demo_bot Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ /id )
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΡΠ΅ΡΠ΅Π· pip.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠΎΠ΄ ΠΏΡΠΈΠΌΠ΅ΡΠ°
ΠΡΠΎΠ±ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π° Π΄Π»Ρ Π½Π°Ρ ΡΡΡΠΎΠΊΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌΠΌ.
Π ΡΡΠ½ΠΊΡΠΈΡ setup() Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠΎΡ logger, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΌΠΎΡΡ. ΠΡΠ»ΠΈ Π·Π°Π³Π»ΡΠ½ΡΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ setup(). Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠΎΡΠΌΠ°Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π»ΠΎΠ³ΠΈ Π±ΡΠ΄ΡΡ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Ρ.
Outro
ΠΠ΅ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π΅ΡΡΡ Π½Π° Π³ΠΈΡΡ Π°Π±Π΅: github.com/otter18/tg_logger.
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ Π΅ΡΡΡ Π½Π° Read the Docs.
TelegramBot ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° Π΄Π»Ρ Π±ΠΎΡΠ°. (Π§Π°ΡΡΡ 1)
ΠΠ΅ ΡΠ°ΠΊ Π΄Π°Π²Π½ΠΎ Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ» Π²Π°ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΌΠΎΠΈΠΌ Π±ΠΎΡΠΎΠΌ Π΄Π»Ρ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌΠΌΠ°.
ΠΠΎΠ»ΡΡΠΈΠ² ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΎΠΏΡΠΎΡΠΎΠ² Π² Π»ΠΈΡΠΊΡ, Ρ ΠΏΠΎΠ½ΡΠ», ΡΡΠΎ Π²ΠΎΠΏΡΠΎΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±ΠΎΡΠΎΠ² Π΄Π»Ρ Π’Π΅Π»Π΅Π³ΡΠ°ΠΌ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ΅Π½.
Π£ ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°ΡΠΈΠ²Π°Π»ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π±ΠΎΡΠ°, ΠΏΡΠΎΡΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅Ρ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π±ΠΎΡΠ°, ΠΏΡΠΎΡΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΡ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π±ΠΎΡΠΎΠΌ ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ.
Π― ΡΠ΅ΡΠΈΠ» Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΈΠΊΠ» ΡΡΠ°ΡΠ΅ΠΉ, Π² ΠΊΠΎΡΠΎΡΡΡ
Ρ
ΠΎΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ Π²Π΅ΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π½ΡΠΆΠ½Ρ Π²Π°ΠΌ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ Π±ΠΎΡΠ°.
ΠΠ°Ρ ΠΆΠ΄Π΅Ρ Java, Maven, TelegramAPI, Lombok ΠΈ Log4j.
ΠΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ β ΠΏΡΠΎΡΡ ΠΏΠΎΠ΄ ΠΊΠ°Ρβ¦
Π ΡΡΠ°Π·Ρ Ρ ΠΊΠΎΠ·ΡΡΠ΅ΠΉ Π·Π°ΠΉΠ΄Ρ π
Π’ΠΎ, ΠΎ ΡΠ΅ΠΌ ΠΏΡΠΎΡΠΈΠ»ΠΈ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅.
Π Π²Π΅ΡΠΊΠ΅ «master» Π±ΡΠ΄Π΅Ρ ΡΠΈΠ½Π°Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ Π±ΠΎΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π²Π°ΠΌΠΈ ΠΈ Π½Π°ΠΏΠΈΡΠ΅ΠΌ, Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΡΠ°ΡΠ΅ΠΉ.
ΠΠΎΠ»Π½ΡΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ ΠΏΠΎ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π±ΡΠ΄Π΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π²Π΅ΡΠΊΠ΅ «Part1-Base».
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Ρ Π²Π°ΠΌΠΈ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ Π±ΡΠ΄Π΅Ρ:
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ maven ΠΏΡΠΎΠ΅ΠΊΡ
(Ρ ΡΠΏΡΡΡ ΠΌΠ°Π½ΡΠ°Π»Ρ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ ΡΠΎ ΡΡΠ΅Π΄ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ Π±Π°Π·ΠΎΠ²ΡΠ΅ Π²Π΅ΡΠΈ ΠΈΠ· Java ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠ΅ ΡΡΠΈ Π²Π΅ΡΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π³ΡΠ³Π»ΡΡΡΡΡ.Π Π΅ΡΠ»ΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡΡΡ β ΠΏΠΈΡΠΈΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ).
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π½Π°ΠΌ Π±ΡΠ΄ΡΡ Π½ΡΠΆΠ½Ρ Π² ΡΡΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅.
Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΡΠΎ Lombok. Π§ΡΠΎ ΡΡΠΎ ΠΈ Π·Π°ΡΠ΅ΠΌ β ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΈΡΠ°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΡ.
Π ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π»ΠΎΠ³Π³Π΅Ρ. Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ log4j ΠΈ ΡΡΡΡ Π΄Π°Π»ΡΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΡ Π²Π°ΠΌ ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ³ΠΎ ΠΎΡΠΌΡΡΠ»Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ TelegramAPI.
Π, Ρ.ΠΊ. ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ Π±ΠΎΡΠ° Π΄Π»Ρ Π’Π΅Π»Π΅Π³ΡΠ°ΠΌ, ΡΠΎ ΠΈ ΡΠ°ΠΌΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΎΡ Telegram:
Π‘ΡΡΡΠΊΡΡΡΡ pom ΡΠ°ΠΉΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΡ
Π‘ΡΡΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ»Π° pom.xml ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΡΡ.
ΠΠ°Π»Π΅Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ Bot.java, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ Π²ΡΠ΅ Π½Π°ΡΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Ρ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ Telegram. Π Π°Π±ΠΎΡΠ°ΡΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ LongPolling, Ρ.ΠΊ. ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Ρ Π»ΡΠ±ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠΌΠ΅Π΅Ρ Java Ρ ΡΠ΅Π±Ρ Π½Π° Π±ΠΎΡΡΡ.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΠΌΡΡ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° TelegramLongPollingBot ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ:
public void onUpdateReceived(Update update)
public String getBotUsername()
public String getBotToken()
Π ΠΎΡ ΡΠ΅Π±Ρ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ Π½Π°Ρ Π±ΠΎΡ ΠΊ TelegramAPI:
public void botConnect()
Π ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅ Π²ΡΠ΅. ΠΠ°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠΌΠ΅Π΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌ Π’Π΅Π»Π΅Π³ΡΠ°ΠΌΠΌ ΠΈ ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ Π°Π΄ΡΠ΅ΡΠΎΠ²Π°Π½Π½ΡΡ Π΅ΠΌΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π±ΡΠ΄Π΅Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π² Π»ΠΎΠ³ ΡΠ°ΠΉΠ» ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΡΠΎ ΠΎΠ½ ΠΏΠΎΠ»ΡΡΠΈΠ» Update.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΊΠ»Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π½Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
ΠΡΠΈΠΌ Π·Π°ΠΉΠΌΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡ App.java. Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΡΠ°ΠΉΠ»: ΡΡΡ
ΠΠ°ΠΊ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅, Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π±ΠΎΡΠ° Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Β«ΠΈΠΌΡ Π±ΠΎΡΠ°Β» ΠΈ Β«ΡΠΎΠΊΠ΅Π½Β», ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΄ΠΈΠΌ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ° Bot.
ΠΠΌΡ ΠΈ ΡΠΎΠΊΠ΅Π½ Π΄Π»Ρ Π±ΠΎΡΠ° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ ΠΎΡΡΠ° Π²ΡΠ΅Ρ
Π±ΠΎΡΠΎΠ² :), Π½Π°ΠΏΠΈΡΠ°Π² Π΅ΠΌΡ Π² ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌΠΌΠ΅.
ΠΠ³ΠΎ Π½ΠΈΠΊ: @BotFather
ΠΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ Π½ΠΈΠΌ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠ΅ ΠΈ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΠΎΠ΅.
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Ρ Π²Π°Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ ΡΠ°ΠΊΠΎΠΉ Π΄ΠΈΠ°Π»ΠΎΠ³:
Π’Π°ΠΊ ΠΆΠ΅ Π·Π΄Π΅ΡΡ ΠΏΠΈΡΡΡ, ΡΡΠΎ Π°ΠΊΠΊΡΡΠ°ΡΠ½Π΅Π΅, Π½ΠΈΠΊΠΎΠΌΡ Π½Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΠΉΡΠ΅ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΈΠ½Π°ΡΠ΅ ΠΊΡΠΎ-ΡΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΌΠΎΠΆΠ΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π²Π°ΡΠΈΠΌ Π±ΠΎΡΠΎΠΌ π
ΠΡ ΡΠΊΠ°ΠΆΠ΅ΡΠ΅, ΡΡΠΎ Ρ Π½Π΅ ΠΎΡΠ΅Π½Ρ Π°ΠΊΠΊΡΡΠ°ΡΠ΅Π½β¦ ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ ΠΎΡΠ΅Ρ Π±ΠΎΡΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΠΌΠ΅Π½ΡΡΡ ΡΠΎΠΊΠ΅Π½Ρ ΠΈ ΠΎΡΠ·ΡΠ²Π°ΡΡ ΡΠ΅, ΡΡΠΎ ΠΏΠΎΠΏΠ°Π»ΠΈ Π² ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ Π΄ΠΎΡΡΡΠΏ. ΠΠΎΡΠΎΠΌΡ Ρ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π² ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ Ρ ΠΌΠΎΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ°ΠΊΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅:
Π’Π°ΠΊ ΡΡΠΎ Ρ ΠΌΠΎΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ Π²Π°ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ. Π Π΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΠ΅ ΡΠ²ΠΎΠΈ. ΠΠΎΠ²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π² ΠΊΠ»Π°ΡΡΠ΅ App.java
Π’Π΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΡΡΡΠΈΠ² ΠΌΠ΅ΡΠΎΠ΄ main Π² ΠΊΠ»Π°ΡΡΠ΅ App ΠΌΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠΌ Π½Π°ΡΠ΅ΠΌΡ Π±ΠΎΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΈ ΠΆΠ΄Π°ΡΡ Π½ΠΎΠ²ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ. Π ΡΠ²ΠΎΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΡ ΠΈ ΠΏΠΎΠΏΡΡΠΊΠ°Ρ ΠΎΠ½ Π½Π°ΠΏΠΈΡΠ΅Ρ Π½Π°ΠΌ Π² ΠΊΠΎΠ½ΡΠΎΠ»Π΅.
Log4j
ΠΠΎΠΌΠ½ΠΈΡΠ΅, Π²ΡΡΠ΅ Ρ Π³ΠΎΠ²ΠΎΡΠΈΠ» ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΡΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ log4j. Π Π²ΠΎΡ ΡΡΡ Π΄Π»Ρ Π»ΡΠ±ΠΎΠΏΡΡΠ½ΡΡ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ»ΠΎΠ½Π΄Π°ΠΉΠΊ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ Π΄Π°Π½Π½ΡΡ .
Π ΡΠ°ΠΉΠ»Π΅ log4j.properties ΡΠΆΠ΅ ΠΏΡΠΎΠΏΠΈΡΠ°Π½Ρ Π±Π°Π·ΠΎΠ²ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π»Ρ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΡΠΎΠ²Π½ΠΈ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Π½Π°ΡΠ΅ΠΌ Π±ΠΎΡΠ΅.
ΠΠ°Π·ΠΎΠ²ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ Π½Π°Ρ ΡΠΊΠ°Π·Π°Π½ ΠΊΠ°ΠΊ Error.
ΠΠ»Ρ ΠΊΠ»Π°ΡΡΠΎΠ² Bot ΠΈ App ΡΠΊΠ°Π·Π°Π½ Π²ΡΠ²ΠΎΠ΄ Π»ΠΎΠ³ΠΎΠ² Π½Π° ΡΡΠΎΠ²Π½Π΅ Debug.
Π§ΡΠΎ ΡΡΠΎ Π·Π° ΡΡΠΎΠ²Π½ΠΈ ΠΈ ΡΠ΅ΠΌ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ β Π²Ρ Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π² Π³ΡΠ³Π»Π΅.
ΠΡΠ»ΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊ ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΎΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π’Π΅Π»Π΅Π³ΡΠ°ΠΌ Π²ΡΠ΅ Π²Π°ΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ β ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΠ΅ ΡΠ΅ΠΆΠΈΠΌ ΠΎΠ±ΡΠ΅Π³ΠΎ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΡΠΎΠ²Π΅Π½Ρ Π½ΠΈΠΆΠ΅: info ΠΈΠ»ΠΈ debug.
Π ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²Ρ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΡΠ°Π±ΠΎΡΡ. Π‘ΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΠΎΠΏΡΠ°ΡΠΈΠ²Π°ΡΡΡΡ Π²Π°ΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ ΡΠΎΠΊΠ΅Π½ΠΎΠΌ Π±ΠΎΡΠ°.
Π£ΡΠΎΠ²Π½ΠΈ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅Π½ΡΡΡΡΡ Π²ΠΎΡ ΡΡΠΎΠΉ ΡΡΡΠΎΡΠΊΠΎΠΉ:
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π»ΠΎΠ³ΠΈ ΠΏΠΎ ΡΡΠΎΠ²Π½Ρ info, ΡΡΠ°Π²ΠΈΡΠ΅ Π²ΠΎΡ ΡΠ°ΠΊ:
ΠΠ»Ρ ΡΡΠΎΠ²Π½Ρ debug, Π²ΠΎΡ ΡΠ°ΠΊ:
Π Π² Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π‘Π΅ΠΉΡΠ°Ρ Ρ Π½Π°Ρ Π±ΠΎΡ: ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π°ΠΌ ΠΊΡΠ°ΡΠΈΠ²ΡΠ΅ Π»ΠΎΠ³ΠΈ ΠΈ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π΅ΠΌΡ ΠΏΡΠΈΡ ΠΎΠ΄ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
ΠΠΎ Π²ΡΡΠ΅ Ρ Π²Π°ΠΌ ΠΎΠ±Π΅ΡΠ°Π», ΡΡΠΎ Π±ΠΎΡ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ·ΡΠ²Π°ΡΡΡΡ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΡΠ°ΡΡ. ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΡ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ.
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΊΠΎΠ΄Π° Π±ΠΎΡ Π΄Π΅Π»Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Ρ ΠΏΠΎΠΊΠ°ΠΆΡ Π²Π°ΠΌ, ΠΊΠ°ΠΊ Π² ΠΌΠΎΠΈΡ Π±ΠΎΡΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ:
Π Π²ΡΠΎΡΠΎΠΉ β ΠΠ΅ΡΠ·ΠΊΠΈΠΉ ΠΊΠΈΠ½ΠΎΠΌΠ°Π½. ΠΠ½ ΠΎΡΠ΅Π½Ρ Π»ΡΠ±ΠΈΡ ΡΠΈΠ»ΡΠΌΡ ΠΈ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎ Π½ΠΈΡ Π·Π½Π°Π΅Ρ. Π Π΅ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ½ Π»ΡΠ±ΠΈΡ Π΄Π΅Π»ΠΈΡΡΡ Ρ Π²Π°ΠΌΠΈ ΡΠ²ΠΎΠΈΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ. ΠΠ½ Π²Π΅Π΄Π΅Ρ ΡΠ²ΠΎΠΉ ΠΊΠ°Π½Π°Π» Π² ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌΠΌΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°ΠΌ ΡΠ΅ΡΠ°Π΅Ρ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠΈΠ»ΡΠΌΡ Π΅ΠΌΡ Π½ΡΠ°Π²ΡΡΡΡ ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΈΡ Π²Π°ΠΌ. ΠΠ½ ΡΠΌΠ΅Π΅Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠΎΠ΄Π±ΠΎΡΠΊΠΈ ΠΏΠΎ ΠΆΠ°Π½ΡΠ°ΠΌ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΡ Π½Π° ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ. ΠΠ½ ΡΠΌΠ΅Π΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠ΅Π΄Π΅Π²ΡΡ, ΠΎ ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ»ΡΡΠ°Π»ΠΈ ΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ Π·Π½Π°Π»ΠΈ ΠΊΠ°ΠΊ ΡΠ°ΠΊΠΈΠ΅ ΡΠΈΠ»ΡΠΌΡ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ Π²Ρ Π΄ΡΠΌΠ°Π΅ΡΠ΅, ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π»ΠΈ ΡΠΈΠ»ΡΠΌΡ Ρ ΡΠ°ΠΊΠΎΠΉ Β«Π΄ΠΈΠΊΠΎΠΉΒ» ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠ΅ΠΉ ΠΆΠ°Π½ΡΠΎΠ², ΠΊΠ°ΠΊ: Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ, ΡΠΆΠ°ΡΡ, ΠΊΠΎΠΌΠ΅Π΄ΠΈΡ.
Π Π²ΠΎΡ Π±ΠΎΡ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅
Π‘ΠΊΠ°ΠΆΠ΅Ρ, ΡΡΠΎ ΡΠ°ΠΊΠΈΡ ΡΠΈΠ»ΡΠΌΠΎΠ² Ρ 2010 ΠΏΠΎ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ½ΡΠ»ΠΈ Π°ΠΆ 6 ΡΡΡΠΊ π
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ, ΠΊΠ°ΠΊ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡ ΡΡΡΠΎΠΊΠΈ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Ρ Π²Π°ΠΌΠΈ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡΡ .
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π²Π°ΠΌ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΉΡΠ΅ Π² ΡΠ΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΈΠ΅ π
ΠΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ, ΠΈΠ»ΠΈ ΠΈΡΡΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Ρ ΡΠ΄Π΅Π»Π°Π» ΠΏΠΈΡΠΎΠ½ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ
Intro
ΠΠ°Π²Π½ΡΠΌ-Π΄Π°Π²Π½ΠΎ, Π° ΡΠΎΡΠ½Π΅Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΡΡΠ΅Π² Π½Π°Π·Π°Π΄, Π½Π°ΠΊΠ°Π½ΡΠ½Π΅ ΠΠΎΠ²ΠΎΠ³ΠΎ Π³ΠΎΠ΄Π°, Ρ ΡΠΈΠ΄Π΅Π» Π΄ΠΎΠΌΠ° ΠΈ ΡΠ΅ΡΠ°Π» Π·Π°Π΄Π°ΡΡ ΠΏΠΎ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ. Π‘Π²ΡΠ·Π°Π½Π° ΠΎΠ½Π° Π±ΡΠ»Π° Ρ Π½Π΅ΠΉΡΠΎΠ½Π½ΡΠΌΠΈ ΡΠ΅ΡΡΠΌΠΈ ΠΈ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ ΡΠ΅ΠΊΡΡΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ Ρ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΌ GPU ΠΎΡ Π³ΡΠ³Π»Π° (colab). ΠΠ° ΠΎΠΊΠ½ΠΎΠΌ ΡΠ΅Π» ΡΠ½Π΅Π³, Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΠ±ΡΡΠ°Π»ΠΈΡΡ Π½Ρ ΡΠΆ ΠΎΡΠ΅Π½Ρ Π΄ΠΎΠ»Π³ΠΎ. ΠΠ±ΡΡΠ°ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΎΡΡΠ°Π²Π°Π»ΠΎΡΡ Π²ΡΠ΅Π³ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ½ΡΡ, ΠΊΠ°ΠΊ Π²Π΄ΡΡΠ³ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ runtime ΠΏΠΎΡΠ΅ΡΡΠ½ΠΎ, Π° ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΎΠ±ΡΡΠ΅Π½Π½ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΈ ΡΠ°Π±ΠΌΠΈΡΡ ΠΈΠ· ΡΡΠΎΠ³ΠΎ runtime ΡΠΊΠ°ΡΠ°ΡΡ Ρ Π½Π΅ ΡΠΌΠΎΠ³Ρ, ΠΈ Π²ΡΠ΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡ Π·Π°Π½ΠΎΠ²ΠΎ.
ΠΠ°Π½Π½Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ ΠΌΠ΅Π½Ρ ΡΠ°ΡΡΡΡΠΎΠΈΠ»Π° ΠΈ Π·Π°ΡΡΠ°Π²ΠΈΠ»Π° Π·Π°Π΄ΡΠΌΠ°ΡΡΡΡ ΠΎΡ ΡΠΎΠΌ, ΡΡΠΎ Π½Π°Π΄ΠΎ ΠΊΠ°ΠΊ-ΡΠΎ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ΄ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΠ°ΠΉΠ»Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π½Π΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΠ°ΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ°. ΠΠΎΡΠ΅ΠΌΡ-ΡΠΎ Ρ ΡΡΠ°Π·Ρ ΠΏΠΎΠ΄ΡΠΌΠ°Π» ΠΏΡΠΎ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ Π±ΠΎΡΠΎΠ² ΠΈ, Π½Π°ΠΏΠΈΡΠ°Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠΌΠΎΠ³ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΠ°ΠΌΠ±ΠΈΡΡ ΠΈ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ°Π΅ΡΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΈ ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΅ΠΉ ΠΎΡΡΠ°Π»ΠΎΡΡ.
ΠΠΎΠΏΠΈΡΠΎΠ²Π°Π» Ρ ΡΡΠΎΡ ΠΊΠΎΠ΄ ΠΈΠ· Π½ΠΎΡΡΠ±ΡΠΊΠ° (jupyter notebook) Π² Π½ΠΎΡΡΠ±ΡΠΊ, Π° ΠΏΠΎΡΠΎΠΌ ΠΎΡΠΎΠ·Π½Π°Π», ΡΡΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΡΠΎΠΈΡΡ Π² ΠΌΠΎΠ΄ΡΠ»Ρ logging ΠΈ Π·Π°Π²Π΅ΡΠ½ΡΡΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, ΡΡΠΎΠ±Ρ Π½Π΅ ΡΠ°ΡΠΊΠ°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΊΡΡΠΊΠΈ ΠΊΠΎΠ΄Π°, Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅Π³ΠΎ ΠΏΠ°ΡΡ ΡΡΡΠΎΠΊ.
Logging.handlers
ΠΠΎΠ½ΡΡΠ½ΠΎ Π±ΡΠ»ΠΎ, ΡΡΠΎ Π·Π° ΠΎΡΠ½ΠΎΠ²Ρ Π½Π°Π΄ΠΎ Π²Π·ΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π² ΠΏΠΈΡΠΎΠ½. ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ°ΡΡ ΡΠ²ΠΎΠΉ Π²Π΅Π»ΠΎΡΠΈΠΏΠ΅Π΄ ΠΌΠ½Π΅ Π½Π΅ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ, Π° Π΅ΡΠ΅ ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ, Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ ΠΏΡΠΈΡΠ»ΠΎΡΡ Π±Ρ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ Π²Π΅ΡΡ ΠΊΠΎΠ΄ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°Π΄ΠΎ Π±ΡΠ»ΠΎ Π½Π°ΠΉΡΠΈ ΡΠΏΠΎΡΠΎΠ± ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°ΡΡ Π»ΠΎΠ³ΠΈ, ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ»Π°ΡΡ ΠΈΡ Π² ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌΠΌ. Π ΡΡΠ°ΡΡΡΡ, Π² logging Π΅ΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΊΠ»Π°ΡΡ, ΠΊΠ°ΠΊ StreamHandler. ΠΠ΅ Π±ΡΠ΄Ρ Π²Π΄Π°Π²Π°ΡΡΡΡ Π² ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ, Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ²ΠΎΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π² Π»ΠΎΠ³Π°Ρ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π΅Π΅ Π² ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌΠΌ.
Tg-logger
Π Π²ΠΎΡ, Π΄Π΅ΡΠΆΠ° Π² Π³ΠΎΠ»ΠΎΠ²Π΅ Π²ΡΠ΅ Π²ΡΡΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΠΈΠ΄Π΅ΠΈ, Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΠ»ΡΡ ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ. ΠΠΎΡ, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ.
ΠΠ»Ρ ΡΠ΅Ρ , ΠΊΠΎΠΌΡ Π»Π΅Π½Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΠΎΠ΄, Π½ΠΎ Ρ ΠΎΡΠ΅ΡΡΡ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Ρ ΡΠ΄Π΅Π»Π°Π» Π±ΠΎΡΠ° @tg_logger_demo_bot.
Π§ΡΠΎΠ±Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ Π½ΡΠΆΠ½ΠΎ:
ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌΠΌ Π±ΠΎΡΠ° (ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π·Π΄Π΅ΡΡ)
ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ²ΠΎΠΉ user_id (ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ΅ΡΠ΅Π· @tg_logger_demo_bot Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ /id )
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΡΠ΅ΡΠ΅Π· pip.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠΎΠ΄ ΠΏΡΠΈΠΌΠ΅ΡΠ°
ΠΡΠΎΠ±ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π° Π΄Π»Ρ Π½Π°Ρ ΡΡΡΠΎΠΊΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌΠΌ.
Π ΡΡΠ½ΠΊΡΠΈΡ setup() Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠΎΡ logger, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΌΠΎΡΡ. ΠΡΠ»ΠΈ Π·Π°Π³Π»ΡΠ½ΡΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ setup(). Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠΎΡΠΌΠ°Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π»ΠΎΠ³ΠΈ Π±ΡΠ΄ΡΡ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Ρ.
TgFileLogger
Π‘ΡΠΎΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠΏΠΎΠΌΡΠ½ΡΡΡ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΡΠΎΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ».
Outro
ΠΠ΅ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π΅ΡΡΡ Π½Π° Π³ΠΈΡΡ Π°Π±Π΅: github.com/otter18/tg_logger.
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ Π΅ΡΡΡ Π½Π° Read the Docs.
ΠΠ΅ ΡΠ΅ΠΊΡΠ΅Ρ, ΡΡΠΎ Telegram ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΠΌΠ΅ΡΡΠ΅Π½Π΄ΠΆΠ΅ΡΠΎΠ². ΠΡΠΎΠ±Π΅Π½Π½ΠΎ Π² ΡΡΠ΅Π΄Π΅ ΠΠ’-ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ². ΠΠ½ ΡΠ΄ΠΎΠ±Π΅Π½, Π² Π½Π΅ΠΌ Π½Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΡΠ΅ΠΊΠ»Π°ΠΌΡ ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π²Π΅ΡΡΠΌΠ° ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎ. ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Ρ ΠΎΠ±ΡΠ°ΡΡΡ ΠΊΠ°ΠΊ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅, ΡΠ°ΠΊ ΠΈ ΠΏΠΎ Π»ΠΈΡΠ½ΡΠΌ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² ΡΡΠΎΠΌ ΠΌΠ΅ΡΡΠ΅Π½Π΄ΠΆΠ΅ΡΠ΅. ΠΠΎΡΡΠΎΠΌΡ Π² ΠΎΠ΄ΠΈΠ½ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΡΠΉ Π΄Π΅Π½Ρ Ρ ΠΏΠΎΠ΄ΡΠΌΠ°Π» ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ, ΡΡΠΎΠ±Ρ Π² ΡΡΠΎΠΌ ΠΆΠ΅ ΠΌΠ΅ΡΡΠ΅Π½Π΄ΠΆΠ΅ΡΠ΅ Ρ ΠΌΠΎΠ³ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΎ ΡΠ°Π±ΠΎΡΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ²ΠΎΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². ΠΠ° ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Ρ ΠΊΠ°ΠΊ ΡΠ°Π· Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π» Π½Π°Π΄ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠ΅ΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ° //devdigest ΠΈ Telegram, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎΡ ΠΆΠ΅ ΡΠΎΠ΄Π½ΠΎΠΉ Telegram Bot SDK Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π±ΡΡΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» Π»ΠΎΠ³Π³Π΅Ρ.
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π½Π΅ΠΉ Π½Π°Π·Π°Π΄ Ρ ΡΠ΅ΡΠΈΠ» Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΡΡΠΎΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΡ, ΡΠ»Π΅Π³ΠΊΠ° ΠΏΠΎΡΠΈΡΡΠΈΡΡ ΠΈ ΠΎΡΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΡΡ ΠΊΠΎΠ΄, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠ»ΠΎΠΆΠΈΡΡ Π΅Π³ΠΎ Π² ΠΎΡΠΊΡΡΡΡΠΉ Π΄ΠΎΡΡΡΠΏ β Π±ΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π»ΠΎΠ³ΠΎΠ² Π² Π’Π΅Π»Π΅Π³ΡΠ°ΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΊΠΎΠΌΡ-ΡΠΎ Π΅ΡΠ΅.
ΠΠΎΡ Π² ΡΠ°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΏΡΠΈΡ ΠΎΠ΄ΡΡ Π»ΠΎΠ³ΠΈ Π² ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌΠΌ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΌΠΈ Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡ
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ°
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΡΠ°ΠΌΠΎΠ³ΠΎ Π»ΠΎΠ³Π³Π΅ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ°Π³ΠΎΠ². Π ΠΈΠΌΠ΅Π½Π½ΠΎ β ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°Π½Π°Π» (ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ, ΠΈΠ»ΠΈ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΉ), Π³Π΄Π΅ Π±ΡΠ΄ΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π»ΠΎΠ³ΠΈ ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π±ΠΎΡΠ° Π² ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌΠΌ, ΡΠ΅ΡΠ΅Π· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π»ΠΎΠ³ΠΎΠ².
Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅ Telegram, Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π±ΠΎΡΠ° Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ Π΄ΡΡΠ³ΠΎΠΉ Π±ΠΎΡ. ΠΠ΅ΡΠ°Π»ΡΠ½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π²Π΅ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±ΠΎΡΠ° Ρ Π·Π΄Π΅ΡΡ Π½Π΅ Π±ΡΠ΄Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ°ΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Telegram ΠΎΠΏΠΈΡΠ°Π»ΠΈ Π΅Π³ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ. ΠΡΠΌΠ΅ΡΡ Π»ΠΈΡΡ ΡΠΎ, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠΊΠ΅Π½ Π½ΠΎΠ²ΠΎΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π±ΠΎΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠΎΠ³ΠΎ Π±ΠΎΡΠ° Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠΌ Π² ΡΠΎΡ ΠΊΠ°Π½Π°Π», Π³Π΄Π΅ ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π²ΠΈΠ΄Π΅ΡΡ Π»ΠΎΠ³ΠΈ.
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΠΏΡΠΈΠ²Π°ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π°.
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΠΈΠ²Π°ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎΠΌΠΎΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±ΠΎΡΠ° β @JsonDumpBot. ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π»ΡΠ±ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° ΠΏΠ΅ΡΠ΅ΡΠ»Π°ΡΡ Π² ΡΡΠΎΡ Π±ΠΎΡ. Π ΠΎΡΠ²Π΅Ρ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°:
Π’Π΅ΠΏΠ΅ΡΡ, ΠΈΠΌΠ΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ°ΡΠ° ΠΈ ΡΠΎΠΊΠ΅Π½ Π±ΠΎΡΠ° ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ Π»ΠΎΠ³Π³Π΅ΡΠ°.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π»ΠΎΠ³Π³Π΅ΡΠ°
ΠΠ»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π»ΠΎΠ³Π³Π΅ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡ TelegramLoggerOptions, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠΎΠ»Ρ:
AccessToken β ΡΠΎΠΊΠ΅Π½ Π±ΠΎΡΠ°;
ChatId β ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ°Π½Π°Π»Π° (ΠΏΡΠΈΠ²Π°ΡΠ½ΠΎΠ³ΠΎ, ΠΈΠ»ΠΈ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠ³ΠΎ), ΠΈΠ»ΠΈ ΡΠ°ΡΠ°, ΠΊΡΠ΄Π° Π±ΠΎΡ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ;
LogLevel β ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Π² ΠΊΠ°Π½Π°Π»Π°. ΠΠ±ΡΡΠ½ΠΎ Ρ Π² ΠΊΠ°Π½Π°Π» ΠΎΡΠΏΡΠ°Π²Π»ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΡΠΎΠ²Π½Ρ Warning, ΠΈΠ»ΠΈ Error;
Source β ΡΠ΄ΠΎΠ±ΠΎΡΠΈΡΠ°Π΅ΠΌΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ°. ΠΠΎΠ»Π΅Π·Π½ΠΎ, Π΅ΡΠ»ΠΈ Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠ°Π½Π°Π» ΠΏΡΠΈΡ ΠΎΠ΄ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ²;
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π»ΠΎΠ³Π³Π΅ΡΠ° β Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ΄, ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅Π· ΡΠ°ΠΉΠ» ΠΊΠΎΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π»ΠΎΠ³Π³Π΅ΡΠ° Π² ΠΊΠΎΠ΄Π΅
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° TelegramLoggerOptions.
ΠΠ°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΡΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π² ΠΌΠ΅ΡΠΎΠ΄-ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ AddTelegram():
ΠΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π·Π΄Π΅ΡΡ.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π»ΠΎΠ³Π³Π΅ΡΠ° ΡΠ΅ΡΠ΅Π· ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ appconfig.json
Π’Π°ΠΊΠΆΠ΅ Π±Π»ΠΎΠ³Π³Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:
ΠΠ°Π»Π΅Π΅, Π² ΠΌΠ΅ΡΠΎΠ΄-ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ AddTelegram() Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ IConfiguration,
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π»ΠΎΠ³Π³Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ· NuGet, ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ ΠΏΡΡΠΌΠΎ ΠΊ ΡΠ΅Π±Π΅ Π² ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ MIT.