ΠΡΠΌΠ΅Π½Π° ΠΏΠΎΠ΄ΠΏΠΈΡΠΎΠΊ Π½Π° ΠΏΠΎΠΏΡΡΠΊΠΈ Π² Telegram-Π±ΠΎΡΠ΅ ΠΈ ΠΠΈΡΠ½ΠΎΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅, ΠΈΠ½Π»Π°ΠΉΠ½-ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ Π²ΠΎΠ·Π²ΡΠ°Ρ ΠΏΡΠΈ Π²Ρ ΠΎΠ΄Π΅ (v1.0.170)
ΠΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠ°ΠΌΠΈ Π½Π° ΠΏΠΎΠΏΡΡΠΊΠΈ (ΡΠ°Π΄Π°Ρ), Telegram-Π±ΠΎΡΠ° ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ (Π·Π°Π΄Π°ΡΠΈ GBD-27, GBD-16, GBD-8):
β’ ΠΠ½Π»Π°ΠΉΠ½-ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠ°ΠΌΠΈ Π² Telegram: Π² ΡΡΠ°ΡΡΠΎΠ²ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π±ΠΎΡΠ° ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΈΠ½Π»Π°ΠΉΠ½-ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«β ΠΡΠΌΠ΅Π½ΠΈΡΡ ΡΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΡΒ» (unsub_shuttle_{id}) ΠΈ Β«π ΠΠΎΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈΒ» (my_shuttle_subs) Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΌ callback-ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΡΠΌΠΎ Π² ΡΠ°ΡΠ΅.
β’ ΠΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Telegram-Π±ΠΎΡΠ°: Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ /subs (ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π°ΠΊΡΠΈΠ²Π½ΡΡ
ΠΏΠΎΠ΄ΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ ΡΠΎΡΠ΅ΡΠ½ΠΎΠΉ ΠΎΡΠΌΠ΅Π½Ρ) ΠΈ /cancel_all (ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½Π°Ρ ΠΎΡΠΌΠ΅Π½Π° Π²ΡΠ΅Ρ
ΠΏΠΎΠ΄ΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² 1 ΠΊΠ»ΠΈΠΊ).
β’ ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° reply_markup Π² ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡΡ
: ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΡΠ»ΡΠ· sendTelegram.php Π΄ΠΎΡΠ°Π±ΠΎΡΠ°Π½ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΈΠ½Π»Π°ΠΉΠ½-ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡ Π² Telegram Bot API. Π ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ Π΄Π΅ΠΌΠΎΠ½Π° cron_shuttle_matching.php Π²ΡΡΡΠΎΠ΅Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ° Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° ΠΊ ΡΠΏΠΈΡΠΊΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΎΠΊ.
β’ Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π΄Π°ΡΠΎΠΌ Π² ΠΠΈΡΠ½ΠΎΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅: Π² ΠΏΡΠΎΡΠΈΠ»Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (ΡΠ°Π·Π΄Π΅Π» Β«ΠΠΎΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈΒ») Π²Π½Π΅Π΄ΡΠ΅Π½ Π±Π»ΠΎΠΊ Β«π Π Π°Π΄Π°Ρ ΠΏΠΎΠΏΡΡΠΎΠΊΒ» ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ Π°ΠΊΡΠΈΠ²Π½ΡΡ
ΠΏΠΎΠ΄ΠΏΠΈΡΠΎΠΊ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΡΠΌΠ΅Π½Ρ Π±Π΅Π· ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΡ (AJAX).
β’ ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ ΡΠ½Π΄ΠΏΠΎΠΈΠ½Ρ delete_shuttle_request.php: Π·Π°ΡΠΈΡΡΠ½Π½ΡΠΉ AJAX-ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΎΡΠΌΠ΅Π½Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ Π½Π° ΡΠ°ΠΉΡΠ΅ Ρ CSRF-Π·Π°ΡΠΈΡΠΎΠΉ, ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΡΡΠΎΠ³ΠΎΠΉ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠ΅ΠΉ Π²Π»Π°Π΄Π΅Π»ΡΡΠ° ΡΠ΅ΡΡΠΈΠΈ.
β’ Π£Π»ΡΡΡΠ΅Π½ΠΈΡ UX ΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ: ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΡΠΏΠΈΡΠΊΠ° ΠΏΠΎΠ΅Π·Π΄ΠΎΠΊ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΏΠΎΠΏΡΡΡΠΈΠΊΠΎΠ² (GBD-16), ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄ΡΠ±Π»ΠΈΡΡΡΡΠ΅ΠΉ ΠΏΠ»Π°ΡΠΊΠΈ ΡΠΌΠ½ΡΡ
ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ, Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ΅Π»Π΅Π²ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΡΡΡΠ° ΠΏΡΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΠ΅Π· Google/Yandex OAuth (GBD-8).
β’ ΠΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΠ΄ΡΠ° Π΄ΠΎ v1.0.170 ΡΠΎ ΡΠ±ΡΠΎΡΠΎΠΌ ΠΊΡΡΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ
ΡΡΠΈΠ»Π΅ΠΉ ΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ².