αž˜αž‚αŸ’αž‚αž»αž‘αŸ’αž‘αŸαžŸαž€αŸαŸ– αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž bot Telegram αžŸαžΆαž˜αž‰αŸ’αž‰αž€αŸ’αž“αž»αž„ JS αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ†αž”αžΌαž„αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ

αžαŸ’αž‰αž»αŸ†β€‹αž”αžΆαž“β€‹αž…αžΆαž”αŸ‹β€‹αž•αŸ’αžŠαžΎαž˜β€‹αž…αžΌαž›β€‹αžαŸ’αž›αž½αž“β€‹αž―αž„β€‹αž€αŸ’αž“αž»αž„β€‹αž–αž·αž—αž–β€‹αž–αŸαžαŸŒαž˜αžΆαž“β€‹αžœαž·αž‘αŸ’αž™αžΆβ€‹αžαŸ‚β€‹αž”αžΈβ€‹αžŸαž”αŸ’αžαžΆαž αŸβ€‹αž˜αž»αž“β€‹αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αž€αžΆαž›αž–αžΈαž”αžΈαžŸαž”αŸ’αžαžΆαž αŸαž˜αž»αž“ αžαŸ’αž‰αž»αŸ†αž˜αž·αž“αž™αž›αŸ‹αžœαžΆαž€αŸ’αž™αžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ HTML αž‘αŸ αž αžΎαž™αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αž…αŸ†αž–αŸ„αŸ‡αž—αžΆαžŸαžΆαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αžΆαž“αž”αž‰αŸ’αž…αž”αŸ‹αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŸαž·αž€αŸ’αžŸαžΆαž“αŸ…αžŸαžΆαž›αžΆ Pascal αžαžΆαŸ†αž„αž–αžΈ 10 αž†αŸ’αž“αžΆαŸ†αž˜αž»αž“αŸ” αž‘αŸ„αŸ‡αž‡αžΆαž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž‘αŸ…αž‡αŸ†αžšαž»αŸ† IT αž‡αžΆαž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αžœαžΆαž›αŸ’αž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αŸ’αž˜αŸαž„αŸ—αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž bot αŸ” αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαžαžΆαžœαžΆαž–αž·αž”αžΆαž€αžŽαžΆαžŸαŸ‹αŸ”

αž“αŸαŸ‡αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ†αžŽαžΎαžšαžŠαŸαžœαŸ‚αž„αž˜αž½αž™αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αŸ–

  • αž”αžΆαž“αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™ cloud server αž‡αžΆαž˜αž½αž™ Ubuntu,
  • αž”αžΆαž“αž…αž»αŸ‡αžˆαŸ’αž˜αŸ„αŸ‡αž“αŸ…αž›αžΎ GitHub,
  • αžšαŸ€αž“αžœαžΆαž€αŸ’αž™αžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ JavaScript αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“,
  • αž’αžΆαž“αž’αžαŸ’αžαž”αž‘αž‡αžΆαž…αŸ’αžšαžΎαž“αž‡αžΆαž—αžΆαžŸαžΆαž’αž„αŸ‹αž‚αŸ’αž›αŸαžŸ αž“αž·αž„αžšαž»αžŸαŸ’αžŸαŸŠαžΈ
  • αž‘αžΈαž”αŸ†αž•αž»αžαž”αžΆαž“αž”αž„αŸ’αž€αžΎαž bot,
  • αž‘αžΈαž”αŸ†αž•αž»αžαžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŸαžšαžŸαŸαžšαž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡αŸ”

αž›αž‘αŸ’αž’αž•αž›αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž˜αžΎαž›αž‘αŸ…αžŠαžΌαž…αž“αŸαŸ‡αŸ–

αž˜αž‚αŸ’αž‚αž»αž‘αŸ’αž‘αŸαžŸαž€αŸαŸ– αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž bot Telegram αžŸαžΆαž˜αž‰αŸ’αž‰αž€αŸ’αž“αž»αž„ JS αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ†αž”αžΌαž„αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ

αžαŸ’αž‰αž»αŸ†β€‹αž“αžΉαž„β€‹αž“αž·αž™αžΆαž™β€‹αž—αŸ’αž›αžΆαž˜β€‹αžαžΆβ€‹αž“αŸαŸ‡β€‹αž‚αžΊβ€‹αž‡αžΆβ€‹αž’αžαŸ’αžαž”αž‘β€‹αž˜αž½αž™β€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž’αŸ’αž“αž€β€‹αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜β€‹αžŠαŸ†αž”αžΌαž„ - αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚β€‹αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αž™αž›αŸ‹β€‹αž–αžΈβ€‹αžšαž”αŸ€αž”β€‹αž’αŸ’αžœαžΎβ€‹αžšαžΏαž„β€‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“β€‹αž–αžΈβ€‹αžŠαŸ†αž”αžΌαž„αŸ”

αž αžΎαž™αž•αž„αžŠαŸ‚αžš - αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž€αž˜αŸ’αžšαž·αžαžαŸ’αž–αžŸαŸ‹ - αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž’αŸ’αžœαžΎαž±αŸ’αž™αž–αž½αž€αž‚αŸαžŸαžΎαž…αž”αž“αŸ’αžαž·αž…αŸ”

1. αžšαž”αŸ€αž”αžŸαžšαžŸαŸαžšαž€αžΌαžŠαž€αŸ’αž“αž»αž„ JS?

αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž™αž›αŸ‹αžαžΆαžœαžΆαž˜αžΆαž“αžαž˜αŸ’αž›αŸƒαž™αŸ‰αžΆαž„αž αŸ„αž…αžŽαžΆαžŸαŸ‹αžαŸ’αžšαžΌαžœαžŸαŸ’αžœαŸ‚αž„αž™αž›αŸ‹αžœαžΆαž€αŸ’αž™αžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž“αŸƒαž—αžΆαžŸαžΆαž‡αžΆαž˜αž»αž“αžŸαž·αž“αŸ” αž‡αž˜αŸ’αžšαžΎαžŸαž”αžΆαž“αž’αŸ’αž›αžΆαž€αŸ‹αž›αžΎ JavaScript αžŠαŸ„αž™αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž‡αŸ†αž αžΆαž“αž”αž“αŸ’αž‘αžΆαž”αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ’αž‰αž»αŸ†αž‚αžΊαž”αž„αŸ’αž€αžΎαžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸ…αž€αŸ’αž“αž»αž„ ReactNative αŸ” αžαŸ’αž‰αž»αŸ†αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‡αžΆαž˜αž½αž™ αžœαž‚αŸ’αž‚αžŸαž·αž€αŸ’αžŸαžΆ αž“αŸ…αž›αžΎ Codecademy αž αžΎαž™αž–αž·αžαž‡αžΆαžšαžΈαž€αžšαžΆαž™αžŽαžΆαžŸαŸ‹αŸ” 7 αžαŸ’αž„αŸƒαžŠαŸ†αž”αžΌαž„αž‚αžΊαž₯αžαž‚αž·αžαžαŸ’αž›αŸƒαŸ” αž‚αž˜αŸ’αžšαŸ„αž„αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„αŸ” αžαŸ’αž‰αž»αŸ†αžŸαžΌαž˜αžŽαŸ‚αž“αžΆαŸ†αŸ” αž€αžΆαžšαž”αž‰αŸ’αž…αž”αŸ‹αžœαžΆαžαŸ’αžšαžΌαžœαž…αŸ†αžŽαžΆαž™αž–αŸαž›αž”αŸ’αžšαž αŸ‚αž› 25 αž˜αŸ‰αŸ„αž„αŸ” αžαžΆαž˜αž–αž·αžαž‘αŸ… αžœαžΆαž˜αž·αž“αž˜αŸ‚αž“αžŸαž»αž‘αŸ’αž’αžαŸ‚αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž“αŸ„αŸ‡αž‘αŸαŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž’αŸ’αžœαžΈαžŠαŸ‚αž›αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αž“αŸƒαžœαž‚αŸ’αž‚αžŸαž·αž€αŸ’αžŸαžΆαž˜αžΎαž›αž‘αŸ…αžŠαžΌαž…αž“αž·αž„αž”αŸ’αž›αž»αž€αžŠαŸ†αž”αžΌαž„αžŠαŸ„αž™αž›αž˜αŸ’αž’αž·αžαŸ”

αž˜αž‚αŸ’αž‚αž»αž‘αŸ’αž‘αŸαžŸαž€αŸαŸ– αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž bot Telegram αžŸαžΆαž˜αž‰αŸ’αž‰αž€αŸ’αž“αž»αž„ JS αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ†αž”αžΌαž„αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ

2. αžαžΎαž’αŸ’αžœαžΎαžŠαžΌαž…αž˜αŸ’αžαŸαž…αžŠαžΎαž˜αŸ’αž”αžΈαž…αž»αŸ‡αžˆαŸ’αž˜αŸ„αŸ‡ bot?

αž“αŸαŸ‡β€‹αž”αžΆαž“β€‹αž‡αž½αž™β€‹αžαŸ’αž‰αž»αŸ†β€‹αž…αŸ’αžšαžΎαž“β€‹αž“αŸ…β€‹αžŠαžΎαž˜β€‹αžŠαŸ†αž”αžΌαž„ αž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡αŸ” αž–αžΈαž”αŸ’αž›αž»αž€αžšαž”αžŸαŸ‹ Archakov αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αŸ” αž‚αžΆαžαŸ‹αž‘αŸ†αž–αžΆαžšαžŠαŸ†αž”αžΌαž„αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžšαžΏαž„αžŸαŸ†αžαžΆαž“αŸ‹αžŠαŸ‚αž›αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αž‚αžΊαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αž»αŸ‡αžˆαŸ’αž˜αŸ„αŸ‡ bot αŸ” αžαŸ’αž‰αž»αŸ†β€‹αž˜αž·αž“β€‹αž’αžΆαž…β€‹αžŸαžšαžŸαŸαžšβ€‹αžœαžΆβ€‹αž”αžΆαž“β€‹αž›αŸ’αž’β€‹αž‡αžΆαž„β€‹αž“αŸαŸ‡β€‹αž‘αŸ αž αžΎαž™β€‹αžŠαŸ„αž™β€‹αžŸαžΆαžšβ€‹αžαŸ‚β€‹αž“αŸαŸ‡β€‹αž‡αžΆβ€‹αž•αŸ’αž“αŸ‚αž€β€‹αžŠαŸ‚αž›β€‹αž„αžΆαž™β€‹αžŸαŸ’αžšαž½αž›β€‹αž”αŸ†αž•αž»αž αžαŸ’αž‰αž»αŸ†β€‹αž“αžΉαž„β€‹αž‚αŸ’αžšαžΆαž“αŸ‹β€‹αžαŸ‚β€‹αžŸαžšαžŸαŸαžšβ€‹αžŸαž„αŸ’αžαŸαž”β€‹αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž”αž„αŸ’αž€αžΎαž bot αž“αž·αž„αž‘αž‘αž½αž›αž”αžΆαž“ API αžšαž”αžŸαŸ‹αžœαžΆαŸ” αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαžαžΆαž˜αžšαž™αŸˆ bot αž˜αž½αž™αž•αŸ’αžŸαŸαž„αž‘αŸ€αž - @BotFather αŸ” αžŸαŸ’αžœαŸ‚αž„αžšαž€αž‚αžΆαžαŸ‹αžαžΆαž˜αž‘αžΌαžšαž›αŸαž αžŸαžšαžŸαŸαžšαž‘αŸ…αž‚αžΆαžαŸ‹ αžŠαžΎαžšαžαžΆαž˜αž•αŸ’αž›αžΌαžœαžŸαžΆαž˜αž‰αŸ’αž‰ αž αžΎαž™αž‘αž‘αž½αž›αž”αžΆαž“ (αžšαž€αŸ’αžŸαžΆαž‘αž»αž€!) αž‚αž“αŸ’αž›αžΉαŸ‡ API (αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžŸαŸ†αžŽαž»αŸ†αž›αŸαž αž“αž·αž„αž’αž€αŸ’αžŸαžš)αŸ” αžœαžΆαž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž“αŸ…αž–αŸαž›αž€αŸ’αžšαŸ„αž™αŸ”

αž˜αž‚αŸ’αž‚αž»αž‘αŸ’αž‘αŸαžŸαž€αŸαŸ– αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž bot Telegram αžŸαžΆαž˜αž‰αŸ’αž‰αž€αŸ’αž“αž»αž„ JS αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ†αž”αžΌαž„αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ

3. αžαžΎαž€αžΌαžŠ bot αž˜αžΎαž›αž‘αŸ…αžŠαžΌαž…αž’αŸ’αžœαžΈ?

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαžŸαž·αž€αŸ’αžŸαžΆαž’αžαŸ’αžαž”αž‘αž’αžŸαŸ‹αžšαž™αŸˆαž–αŸαž›αž‡αžΆαž™αžΌαžš αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŠαžΉαž„αžαžΆαžœαžΆαž˜αžΆαž“αžαž˜αŸ’αž›αŸƒαž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ’αžšαžΎαž”αžŽαŸ’αžŽαžΆαž›αŸαž™αž”αŸ’αžšαž—αŸαž‘αž˜αž½αž™αž…αŸ†αž“αž½αž“ (αž€αžΌαžŠαž—αžΆαž‚αžΈαž‘αžΈαž”αžΈαž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž˜αŸ‰αžΌαžŒαž»αž›) αžŠαžΎαž˜αŸ’αž”αžΈαž€αž»αŸ†αž±αŸ’αž™αž˜αžΆαž“αž€αžΆαžšαž”αžΆαžšαž˜αŸ’αž—αž’αŸ†αž–αžΈαž€αžΆαžšαžŸαž·αž€αŸ’αžŸαžΆ Telegram API αž“αž·αž„αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž€αžΌαžŠαž’αŸ†αž–αžΈαžŠαŸ†αž”αžΌαž„αŸ” αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžšαž€αžƒαžΎαž‰αž€αŸ’αžšαž”αžαŸαžŽαŸ’αžŒ αž‘αžΌαžšαž›αŸαžαžŠαŸ‚αž›αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžαŸ’αžšαžΌαžœαž—αŸ’αž‡αžΆαž”αŸ‹αž‡αžΆαž˜αž½αž™αž’αŸ’αžœαžΈαž˜αž½αž™αžŠαŸ„αž™αž”αŸ’αžšαžΎ npm ឬ yarn αŸ” αž“αŸαŸ‡αž‡αžΆαžšαž”αŸ€αž”αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž™αž›αŸ‹αž“αŸ…αž–αŸαž›αž“αŸ„αŸ‡ αžαžΆαžαžΎαž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™ bot αž˜αžΆαž“αž’αŸ’αžœαžΈαžαŸ’αž›αŸ‡αŸ” αžŸαžΎαž…αž“αŸ…αž‘αžΈαž“αŸαŸ‡αŸ” αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž˜αž·αž“αž’αžΆαž€αŸ‹αž’αž“αŸ‹αž…αž·αžαŸ’αžαž‘αŸαŸ” αž§αž‘αžΆαž αžšαžŽαŸαž“αŸ…αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž“αŸƒαž‘αŸ†αž–αŸαžšαž”αžΆαž“αž‡αž½αž™αžαŸ’αž‰αž»αŸ†αž…αŸ’αžšαžΎαž“αž”αŸ†αž•αž»αžαž€αŸ’αž“αž»αž„αž’αŸ†αž‘αž»αž„αž–αŸαž›αž”αž„αŸ’αž€αžΎαž bot αž‡αžΆαž”αž“αŸ’αžαž”αž“αŸ’αž‘αžΆαž”αŸ‹αŸ–

αž˜αž‚αŸ’αž‚αž»αž‘αŸ’αž‘αŸαžŸαž€αŸαŸ– αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž bot Telegram αžŸαžΆαž˜αž‰αŸ’αž‰αž€αŸ’αž“αž»αž„ JS αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ†αž”αžΌαž„αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ

3. αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž cloud server αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž€αŸ’αž“αž»αž„αžαž˜αŸ’αž›αŸƒ 100 rubles

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαžŸαŸ’αžœαŸ‚αž„αžšαž€αž‡αžΆαž…αŸ’αžšαžΎαž“αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŠαžΉαž„αžαžΆαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ 'npm' αž“αŸ…αž€αŸ’αž“αž»αž„αžšαžΌαž”αž—αžΆαž–αžαžΆαž„αž›αžΎαžŸαŸ†αžŠαŸ…αž‘αŸ…αž›αžΎαž”αž“αŸ’αž‘αžΆαžαŸ‹αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαŸ” αž”αž“αŸ’αž‘αžΆαžαŸ‹αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž‚αžΊαž“αŸ…αž‚αŸ’αžšαž”αŸ‹αž‘αžΈαž€αž“αŸ’αž›αŸ‚αž„ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŠαžΎαž˜αŸ’αž”αžΈαž’αžΆαž…αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αžœαžΆαž”αžΆαž“ αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžŠαŸ†αž‘αžΎαž„ NodePackageManager αŸ” αž”αž‰αŸ’αž αžΆαž‚αžΊαžαžΆαžαŸ’αž‰αž»αŸ†αž€αŸ†αž–αž»αž„αžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸ…αž›αžΎ PixelBook αž‡αžΆαž˜αž½αž™ ChromeOS αŸ” αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αžšαŸ†αž›αž„αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž“αžΌαžœαž”αŸ’αž›αž»αž€αžŠαŸαž’αŸ†αž˜αž½αž™αž’αŸ†αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžšαŸ€αž“αž›αžΈαž“αž»αž… - αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αžΆαž‚αž…αŸ’αžšαžΎαž“αžœαžΆαž‘αž‘αŸ αž“αž·αž„αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αžΆαž“ Windows ឬ MacBook αž’αŸ’αž“αž€αž˜αžΆαž“αž€αž»αž„αžŸαžΌαž›αžšαž½αž…αž αžΎαž™αŸ”

αžŸαžšαž»αž”αž˜αž€ αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŠαŸ†αž‘αžΎαž„ Linux αžαžΆαž˜αžšαž™αŸˆ CristiniαŸ”

αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž“αŸ…αž€αŸ’αž“αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸαŸ‡ αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŠαžΉαž„αžαžΆαžŠαžΎαž˜αŸ’αž”αžΈαž±αŸ’αž™ bot αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‡αžΆαž“αž·αž…αŸ’αž… (αž αžΎαž™αž˜αž·αž“αžαŸ’αžšαžΉαž˜αžαŸ‚αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αž”αžΎαž€αž‘αŸ) αžαŸ’αž‰αž»αŸ†αžαŸ’αžšαžΌαžœαž€αžΆαžšαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž–αž–αž€αŸ” αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸ vscale.io αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž…αŸ†αžŽαžΆαž™ 100 rubles αž αžΎαž™αž”αžΆαž“αž‘αž·αž‰αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ Ubuntu αžαŸ„αž€αž”αŸ†αž•αž»αž (αž˜αžΎαž›αžšαžΌαž”αž—αžΆαž–)αŸ”

αž˜αž‚αŸ’αž‚αž»αž‘αŸ’αž‘αŸαžŸαž€αŸαŸ– αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž bot Telegram αžŸαžΆαž˜αž‰αŸ’αž‰αž€αŸ’αž“αž»αž„ JS αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ†αž”αžΌαž„αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ

4. αžšαž”αŸ€αž”αžšαŸ€αž”αž…αŸ† server αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš bot

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž“αŸ„αŸ‡αž˜αž€ αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŠαžΉαž„αžαžΆ αžαŸ’αž‰αž»αŸ†αžαŸ’αžšαžΌαžœαž€αžΆαžšαž”αž„αŸ’αž€αžΎαž folder αž˜αž½αž™αž…αŸ†αž“αž½αž“αž“αŸ…αž›αžΎ server αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αžŠαžΆαž€αŸ‹ file αž‡αžΆαž˜αž½αž™αž’αžαŸ’αžαž”αž‘αž€αžΌαžŠαŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαžŠαžΌαž…αž“αŸαŸ‡αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž»αž„αžŸαžΌαž› (αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αž“αŸ…αž›αžΎαž‚αŸαž αž‘αŸ†αž–αŸαžšαžαžΆαž˜αžšαž™αŸˆαž”αŸŠαžΌαžαž»αž„ "αž”αžΎαž€αž€αž»αž„αžŸαžΌαž›") αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž”αž‰αŸ’αž…αžΌαž›

mkdir bot

bot - αžœαžΆαž”αžΆαž“αž€αŸ’αž›αžΆαž™αž‡αžΆαžˆαŸ’αž˜αŸ„αŸ‡αž“αŸƒαžαžαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž“αŸ„αŸ‡ αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŠαŸ†αž‘αžΎαž„ npm αž“αž·αž„ Node.js αžŠαŸ‚αž›αž“αžΉαž„αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αžαŸ’αž‰αž»αŸ†αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αžΌαžŠαž–αžΈαž―αž€αžŸαžΆαžšαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž‚αž»αžŽαž—αžΆαž–αž”αž„αŸ’αž αžΆαž‰ *.js

sudo apt update
sudo apt install nodejs
sudo apt install npm

αžαŸ’αž‰αž»αŸ†αžŸαžΌαž˜αž•αŸ’αžαž›αŸ‹αž’αž“αž»αžŸαžΆαžŸαž“αŸαž™αŸ‰αžΆαž„αžαŸ’αž›αžΆαŸ†αž„αž±αŸ’αž™αžŠαŸ†αž‘αžΎαž„αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžαžΆαž˜αžšαž™αŸˆαž€αž»αž„αžŸαžΌαž›αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž“αŸ…αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž“αŸαŸ‡αŸ” αž“αŸ…αž‘αžΈαž“αŸαŸ‡ αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ† αžœαžΆαž“αžΉαž„αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αžαžΆαž˜αžšαž™αŸˆαž€αž»αž„αžŸαžΌαž›αž“αŸƒαž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”

5. αžšαž”αŸ€αž”αžŸαžšαžŸαŸαžšαž€αžΌαžŠαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ bot αžŠαŸ†αž”αžΌαž„αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”

αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž₯αž‘αžΌαžœαž“αŸαŸ‡ αžœαžΆαž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž‡αžΆαž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ’αž‰αž»αŸ†αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŽαžΆαž˜αž½αž™αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž‡αžΆαž”αž“αŸ’αž‘αžΆαžαŸ‹αž“αŸƒαž’αžαŸ’αžαž”αž‘αŸ” αž–αž½αž€αžœαžΆαž’αžΆαž…αž”αž‰αŸ’αž…αžΌαž›αž”αžΆαž“αž‚αŸ’αžšαž”αŸ‹αž‘αžΈαž€αž“αŸ’αž›αŸ‚αž„ αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‡αžΆαž˜αž½αž™αž•αŸ’αž“αŸ‚αž€αž”αž“αŸ’αžαŸ‚αž˜αžŠαŸ‚αž›αž…αž„αŸ‹αž”αžΆαž“ αž αžΎαž™αž“αŸ„αŸ‡αž‡αžΆαžœαžΆαŸ” αž’αŸ’αž“αž€β€‹αž–αž·αžαž‡αžΆβ€‹αžŸαŸ’αžšαžŸαŸ‹β€‹αžŸαŸ’αž’αžΆαžαŸ” αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž”αŸ’αžšαžΎ αž’αžΆαžαžΌαž˜αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαžΆαž˜αž–αž·αž αž’αŸ’αž“αž€αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž’αžΆαž…αžŸαžšαžŸαŸαžšαž€αŸ’αž“αž»αž„ notepad αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αžšαžΏαž„αž…αŸ†αž”αž„αž‚αžΊαžαŸ’αžšαžΌαžœαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž―αž€αžŸαžΆαžšαž“αŸ…αž–αŸαž›αž€αŸ’αžšαŸ„αž™αž€αŸ’αž“αž»αž„αž•αŸ’αž“αŸ‚αž€αž”αž“αŸ’αžαŸ‚αž˜αžŠαŸ‚αž›αž…αž„αŸ‹αž”αžΆαž“αŸ” αžœαžΆαžŠαžΌαž…αž‡αžΆαž€αžΆαžšαžŸαžšαžŸαŸαžšαž’αžαŸ’αžαž”αž‘αž“αŸ…αž€αŸ’αž“αž»αž„ Word αž αžΎαž™αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžœαžΆαŸ”

αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž―αž€αžŸαžΆαžšαžαŸ’αž˜αžΈαž˜αž½αž™ αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž”αž‰αŸ’αž…αžΌαž›αž€αžΌαžŠαž–αžΈαž§αž‘αžΆαž αžšαžŽαŸαž“αŸ…αž›αžΎαž‘αŸ†αž–αŸαžš telegraf αž αžΎαž™αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžœαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžš index.js (αž‡αžΆαž‘αžΌαž‘αŸ…αžœαžΆαž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŠαžΆαž€αŸ‹αžˆαŸ’αž˜αŸ„αŸ‡αž―αž€αžŸαžΆαžšαžαžΆαž˜αžšαž”αŸ€αž”αž“αŸ„αŸ‡αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸαŸ‡αž‡αžΆαž‘αž˜αŸ’αž›αžΆαž”αŸ‹)αŸ” αžŸαŸ†αžαžΆαž“αŸ‹ - αž‡αŸ†αž“αž½αžŸαž±αŸ’αž™ BOT_TOKEN αž”αž‰αŸ’αž…αžΌαž›αžŸαŸ„ API αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž–αžΈαž€αžαžΆαžαžŽαŸ’αžŒαž‘αžΈαž–αžΈαžšαŸ”

const Telegraf = require('telegraf')

const bot = new Telegraf(process.env.BOT_TOKEN)
bot.start((ctx) => ctx.reply('Welcome!'))
bot.help((ctx) => ctx.reply('Send me a sticker'))
bot.on('sticker', (ctx) => ctx.reply(''))
bot.hears('hi', (ctx) => ctx.reply('Hey there'))
bot.launch()

6. αžšαž”αŸ€αž”αž”αž‰αŸ’αž…αžΌαž›αž€αžΌαžŠαž‘αŸ…αž€αžΆαž“αŸ‹ server αžαžΆαž˜αžšαž™αŸˆ github

αž₯αž‘αžΌαžœβ€‹αž“αŸαŸ‡β€‹αžαŸ’αž‰αž»αŸ†β€‹αžαŸ’αžšαžΌαžœβ€‹αž€αžΆαžšβ€‹αžŠαžΌαž…αž˜αŸ’αžŠαŸαž…β€‹αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αž•αŸ’αž‘αž»αž€β€‹αž‘αžΎαž„β€‹αž€αžΌαžŠβ€‹αž“αŸαŸ‡β€‹αž‘αŸ…β€‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“β€‹αž”αž˜αŸ’αžšαžΎβ€‹αž αžΎαž™β€‹αžšαžαŸ‹β€‹αžœαžΆβ€‹αŸ” αž“αŸαŸ‡αž”αžΆαž“αž€αŸ’αž›αžΆαž™αž‡αžΆαž”αž‰αŸ’αž αžΆαž”αŸ’αžšαžˆαž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ’αž‰αž»αŸ†αŸ” αž‡αžΆαž›αž‘αŸ’αž’αž•αž› αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“ αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŠαžΉαž„αžαžΆαžœαžΆαž“αžΉαž„αž€αžΆαž“αŸ‹αžαŸ‚αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž―αž€αžŸαžΆαžšαž“αŸ…αž›αžΎ github αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž€αžΌαžŠαžŠαŸ„αž™αž”αŸ’αžšαžΎαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž€αž»αž„αžŸαžΌαž›αŸ” αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž…αž»αŸ‡αžˆαŸ’αž˜αŸ„αŸ‡αž‚αžŽαž“αžΈαž“αŸ…αž›αžΎ GitHub αž αžΎαž™αž”αžΆαž“αž’αŸ’αžœαžΎ αž‚αž˜αŸ’αžšαŸ„αž„β€‹αžαŸ’αž˜αžΈαžŠαŸ‚αž›αž‡αžΆαž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž”αž„αŸ’αž αŸ„αŸ‡αž―αž€αžŸαžΆαžšαŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž“αŸ„αŸ‡αž˜αž€ αžαŸ’αž‰αž»αŸ†αžαŸ’αžšαžΌαžœαžŸαŸ’αžœαŸ‚αž„αž™αž›αŸ‹αž–αžΈαžšαž”αŸ€αž”αžšαŸ€αž”αž…αŸ†αž€αžΆαžšαž’αžΆαž”αŸ‹αž‘αžΌαžαž―αž€αžŸαžΆαžšαž–αžΈαž‚αžŽαž“αžΈαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ† (αž”αžΎαž€!) αž‘αŸ…αž€αžΆαž“αŸ‹ server αž“αŸ…αž€αŸ’αž“αž»αž„ bot folder (αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž‘αž»αž€αžœαžΆαž…αŸ„αž›αž—αŸ’αž›αžΆαž˜αŸ— αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αžŸαžšαžŸαŸαžš cd bot)αŸ”

7. αžšαž”αŸ€αž”αž•αŸ’αž‘αž»αž€αž―αž€αžŸαžΆαžšαž‘αŸ…αž€αžΆαž“αŸ‹ server αžαžΆαž˜αžšαž™αŸˆ github part 2

αžαŸ’αž‰αž»αŸ†αžαŸ’αžšαžΌαžœαžŠαŸ†αž‘αžΎαž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸ…αž›αžΎ server αžŠαŸ‚αž›αž“αžΉαž„αž‘αžΆαž‰αž™αž€αž―αž€αžŸαžΆαžšαž–αžΈ git αŸ” αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŠαŸ†αž‘αžΎαž„ git αž“αŸ…αž›αžΎ server αžŠαŸ„αž™αžœαžΆαž™αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž€αž»αž„αžŸαžΌαž›αŸ”

apt-get install git

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž“αŸ„αŸ‡αžαŸ’αž‰αž»αŸ†αžαŸ’αžšαžΌαžœαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž€αžΆαžšαž”αž„αŸ’αž αŸ„αŸ‡αž―αž€αžŸαžΆαžšαŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαžŠαžΌαž…αŸ’αž“αŸαŸ‡αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžœαžΆαž™αž”αž‰αŸ’αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž”αž“αŸ’αž‘αžΆαžαŸ‹αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ

git clone git://github.com/b0tank/bot.git bot

αž‡αžΆαž›αž‘αŸ’αž’αž•αž› αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž–αžΈαž‚αž˜αŸ’αžšαŸ„αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž‘αž»αž€αž‘αžΎαž„αž‘αŸ…αž€αžΆαž“αŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαŸ” αž€αŸ†αž αž»αžŸαž“αŸ…αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž“αŸαŸ‡αž‚αžΊαžαžΆαžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαžαžαž‘αžΈαž–αžΈαžšαž“αŸ…αž€αŸ’αž“αž»αž„αžαžαž―αž€αžŸαžΆαžšαžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹αžšαž½αž…αž αžΎαž™αŸ” αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“αž‘αŸ…αž―αž€αžŸαžΆαžšαž˜αžΎαž›αž‘αŸ…αžŠαžΌαž…αž‡αžΆ */bot/bot/index.js

αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž˜αž·αž“αž’αžΎαž–αžΎαž“αžΉαž„αž”αž‰αŸ’αž αžΆαž“αŸαŸ‡αŸ”

αž αžΎαž™αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž‘αž»αž€αž”αžŽαŸ’αžŽαžΆαž›αŸαž™ telegraf αžŠαŸ‚αž›αž™αžΎαž„αžŸαŸ’αž“αžΎαžŸαž»αŸ†αž€αŸ’αž“αž»αž„αž‡αž½αžšαž‘αžΈαž˜αž½αž™αž“αŸƒαž€αžΌαžŠ αžŸαžΌαž˜αžœαžΆαž™αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž‘αŸ…αž€αŸ’αž“αž»αž„αž€αž»αž„αžŸαžΌαž›αŸ”

npm install telegraf

8. αžšαž”αŸ€αž”αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš bot

αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαžŠαžΌαž…αž“αŸαŸ‡αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž›αž“αŸ…αž€αŸ’αž“αž»αž„αžαžαž‡αžΆαž˜αž½αž™αž―αž€αžŸαžΆαžš (αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž–αžΈαžαžαž˜αž½αž™αž‘αŸ…αžαžαžαžΆαž˜αžšαž™αŸˆαž€αž»αž„αžŸαžΌαž›αžŸαžΌαž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž‘αŸ’αžšαž„αŸ‹αž‘αŸ’αžšαžΆαž™ cd bot αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ’αžšαžΆαž€αžŠαžαžΆαž’αŸ’αž“αž€αž‡αžΆαž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž‘αŸ… αž’αŸ’αž“αž€αž’αžΆαž…αž”αž‰αŸ’αž…αžΌαž›αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžŠαŸ‚αž›αž“αžΉαž„αž”αž„αŸ’αž αžΆαž‰αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž»αž„αžŸαžΌαž›αž“αžΌαžœαž―αž€αžŸαžΆαžš αž“αž·αž„αžαžαž―αž€αžŸαžΆαžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αŸ” ls -a

αžŠαžΎαž˜αŸ’αž”αžΈαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž€αž»αž„αžŸαžΌαž›αŸ”

node index.js

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αž·αž“αž˜αžΆαž“αž€αŸ†αž αž»αžŸαž’αŸ’αžœαžΈαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž‚αžΊαž›αŸ’αž’ bot αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ” αžšαž€αž˜αžΎαž›αž‚αžΆαžαŸ‹αžαžΆαž˜αžαŸαž‘αŸαž€αŸ’αžšαžΆαž˜αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αžΆαž“αž€αŸ†αž αž»αžŸαžŸαžΌαž˜αž’αž“αž»αžœαžαŸ’αžαž…αŸ†αžŽαŸαŸ‡αžŠαžΉαž„αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž–αžΈαž…αŸ†αžŽαž»αž… 1 αŸ”

9. αžšαž”αŸ€αž”αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš bot αž€αŸ’αž“αž»αž„αž•αŸ’αž‘αŸƒαžαžΆαž„αž€αŸ’αžšαŸ„αž™

αž™αŸ‰αžΆαž„β€‹αž†αžΆαž”αŸ‹β€‹αžšαž αŸαžŸ αž’αŸ’αž“αž€β€‹αž“αžΉαž„β€‹αžŠαžΉαž„β€‹αžαžΆ bot αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšβ€‹αžαŸ‚β€‹αž“αŸ…β€‹αž–αŸαž›β€‹αž’αŸ’αž“αž€β€‹αžαŸ’αž›αž½αž“β€‹αž―αž„β€‹αž€αŸ†αž–αž»αž„β€‹αž’αž„αŸ’αž‚αž»αž™β€‹αž€αŸ’αž“αž»αž„β€‹αž€αž»αž„αžŸαžΌαž›β€‹αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαž“αŸαŸ‡αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž”αŸ’αžšαžΎαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ

screen

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž“αŸαŸ‡ αž’αŸαž€αŸ’αžšαž„αŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αž’αžαŸ’αžαž”αž‘αž˜αž½αž™αž…αŸ†αž“αž½αž“αž“αžΉαž„αž”αž„αŸ’αž αžΆαž‰αž‘αžΎαž„αŸ” αž“αŸαŸ‡αž˜αžΆαž“αž“αŸαž™αžαžΆαž’αŸ’αžœαžΈαŸ—αž‚αžΊαž›αŸ’αž’αŸ” αž’αŸ’αž“αž€αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž“αž·αž˜αŸ’αž˜αž·αžαž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž–αž–αž€αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž™αž›αŸ‹αž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αž”αžΆαžŸαŸ‹αž’αŸ†αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αžœαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹ - αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž’αžαŸ’αžαž”αž‘. αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹αžαžαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž αžΎαž™αž”αž‰αŸ’αž…αžΌαž›αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžŠαžΎαž˜αŸ’αž”αžΈαž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš bot

node index.js

10. αžšαž”αŸ€αž”αžŠαŸ‚αž› bot αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž“αž·αž„αžšαž”αŸ€αž”αž–αž„αŸ’αžšαžΈαž€αž˜αž»αžαž„αžΆαžšαžšαž”αžŸαŸ‹αžœαžΆαŸ”

តើ bot αž‚αŸ†αžšαžΌαžšαž”αžŸαŸ‹αž™αžΎαž„αž’αžΆαž…αž’αŸ’αžœαžΎαž’αŸ’αžœαžΈαž”αžΆαž“? αž‚αžΆαžαŸ‹β€‹αž’αžΆαž…

bot.start((ctx) => ctx.reply('Welcome!'))

αž“αž·αž™αžΆαž™αžαžΆ "αžŸαžΌαž˜αžŸαŸ’αžœαžΆαž‚αž˜αž“αŸ!" αž“αŸ…αž–αŸαž›αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ (αž–αŸ’αž™αžΆαž™αžΆαž˜αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž’αžαŸ’αžαž”αž‘)

bot.help((ctx) => ctx.reply('Send me a sticker'))

αž‡αžΆαž€αžΆαžšαž†αŸ’αž›αžΎαž™αžαž”αž‘αŸ…αž“αžΉαž„αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžŸαŸ’αžαž„αŸ‹αžŠαžΆαžš / αž‡αŸ†αž“αž½αž™ αžŸαžΌαž˜αž•αŸ’αž‰αžΎαžŸαžΆαžš "αž•αŸ’αž‰αžΎαžŸαŸ’αž‘αžΈαž‚αŸαžšαž˜αž€αžαŸ’αž‰αž»αŸ†"

bot.on('sticker', (ctx) => ctx.reply(''))

αž•αŸ’αž‰αžΎαž€αžΆαžšαž™αž›αŸ‹αž–αŸ’αžšαž˜αž‡αžΆαž€αžΆαžšαž†αŸ’αž›αžΎαž™αžαž”αž‘αŸ…αž“αžΉαž„αžŸαŸ’αž‘αžΈαž‚αŸαžš

bot.hears('hi', (ctx) => ctx.reply('Hey there'))

αž†αŸ’αž›αžΎαž™αžαžΆ "αžŸαž½αžŸαŸ’αžαžΈ" αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž–αž½αž€αž‚αŸαžŸαžšαžŸαŸαžš "αžŸαž½αžŸαŸ’αžαžΈ" αž‘αŸ…αž‚αžΆαžαŸ‹
bot.launch()

αž˜αž‚αŸ’αž‚αž»αž‘αŸ’αž‘αŸαžŸαž€αŸαŸ– αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž bot Telegram αžŸαžΆαž˜αž‰αŸ’αž‰αž€αŸ’αž“αž»αž„ JS αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ†αž”αžΌαž„αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αž›αŸαžαž€αžΌαžŠ GitHubαž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€ αž’αŸ’αž“αž€β€‹αž“αžΉαž„β€‹αž™αž›αŸ‹β€‹αž™αŸ‰αžΆαž„β€‹αž†αžΆαž”αŸ‹β€‹αžšαž αŸαžŸβ€‹αžαžΆ αžαŸ’αž‰αž»αŸ†β€‹αž˜αž·αž“β€‹αž”αžΆαž“β€‹αž‘αŸ…β€‹αž†αŸ’αž„αžΆαž™β€‹αž–αžΈβ€‹αž˜αž»αžαž„αžΆαžšβ€‹αž“αŸαŸ‡β€‹αž‘αŸαŸ” αž’αŸ’αžœαžΈαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž™αŸ‰αžΆαž„αžŸαž€αž˜αŸ’αž˜αž‚αžΊαž˜αž»αžαž„αžΆαžš ctx.replyWithPhoto αžœαžΆαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž•αŸ’αž‰αžΎαžšαžΌαž”αžαžαž¬ gif αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαž†αŸ’αž›αžΎαž™αžαž”αž‘αŸ…αž“αžΉαž„αž’αžαŸ’αžαž”αž‘αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αŸ”

αž•αŸ’αž“αŸ‚αž€αžŸαŸ†αžαžΆαž“αŸ‹αž“αŸƒαž€αžΌαžŠαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαžŠαŸ„αž™αž€αž»αž˜αžΆαžšαžŠαŸ‚αž›αž˜αžΆαž“αž’αžΆαž™αž»αž–αžΈ 11-13 αž†αŸ’αž“αžΆαŸ† αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž…αžΌαž›αž”αŸ’αžšαžΎ bot αŸ” αž–αž½αž€αž‚αŸαž”αžΆαž“αž”αž‰αŸ’αž…αžΌαž›αž€αžšαžŽαžΈαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαŸ” αžαŸ’αž‰αž»αŸ†β€‹αž‚αž·αžβ€‹αžαžΆβ€‹αžœαžΆβ€‹αž„αžΆαž™β€‹αžŸαŸ’αžšαž½αž›β€‹αž€αŸ’αž“αž»αž„β€‹αž€αžΆαžšβ€‹αž”αŸ’αžšαžΆαž”αŸ‹β€‹αžαžΆβ€‹αž•αŸ’αž“αŸ‚αž€β€‹αžŽαžΆβ€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αž„αŸ’αž€αžΎαžβ€‹αž‘αžΎαž„β€‹αžŠαŸ„αž™β€‹αž–αž½αž€β€‹αž‚αŸαŸ”

αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸ សអរ "Jake" αž“αžΉαž„αž‘αž‘αž½αž›αž”αžΆαž“ GIF αžŠαŸ‚αž›αž˜αžΆαž“αžαž½αž’αž€αŸ’αžŸαžšαžŠαŸαž›αŸ’αž”αžΈαž›αŸ’αž”αžΆαž‰αž–αžΈαžαž»αž€αŸ’αž€αžαžΆ Adventure Time αŸ”

αž˜αž‚αŸ’αž‚αž»αž‘αŸ’αž‘αŸαžŸαž€αŸαŸ– αžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαž bot Telegram αžŸαžΆαž˜αž‰αŸ’αž‰αž€αŸ’αž“αž»αž„ JS αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ†αž”αžΌαž„αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ

αžŠαžΎαž˜αŸ’αž”αžΈαž’αž—αž·αžœαžŒαŸ’αž bot αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αž αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž—αŸ’αž‡αžΆαž”αŸ‹αž€αŸ’αžαžΆαžšαž…αž»αž… αž˜αžΎαž›αž§αž‘αžΆαž αžšαžŽαŸ αž§αž‘αžΆαž αžšαžŽαŸ αž–αžΈαž‘αžΈαž“αŸαŸ‡

11. αžšαž”αŸ€αž”αž’αžΆαž”αŸ‹αžŠαŸαžαž€αžΌαžŠ αž“αž·αž„αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ bot αž‘αžΎαž„αžœαž·αž‰

αž€αž»αŸ†αž—αŸ’αž›αŸαž…αžαžΆαž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž’αžΆαž”αŸ‹αžŠαŸαžαž€αžΌαžŠαž˜αž·αž“αžαŸ’αžšαžΉαž˜αžαŸ‚αž“αŸ…αž›αžΎ github αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αž‘αŸ αžαŸ‚αž˜αž‘αžΆαŸ†αž„αž“αŸ…αž›αžΎ server αž•αž„αžŠαŸ‚αžšαŸ” αžœαžΆαž„αžΆαž™αžŸαŸ’αžšαž½αž›αž’αŸ’αžœαžΎ - αž”αž‰αŸ’αžˆαž”αŸ‹ bot (αž…αž»αž… ctrl + c),

- αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž€αž»αž„αžŸαžΌαž›αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž›αž“αŸ…αž€αŸ’αž“αž»αž„αžαžαž‚αŸ„αž›αžŠαŸ…, git pull
- αž™αžΎαž„αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αžΌαžαž˜αŸ’αžαž„αž‘αŸ€αžαžŠαŸ„αž™αž”αŸ’αžšαžΎαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ node index.js

END

αž’αŸ’αžœαžΈαŸ—αž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαŸ‚αž›αž”αžΆαž“αž–αž·αž–αžŽαŸŒαž“αžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžšαž“αŸαŸ‡αž“αžΉαž„αž˜αžΆαž“αž—αžΆαž–αž…αŸ’αž”αžΆαžŸαŸ‹αž›αžΆαžŸαŸ‹αž…αŸ†αž–αŸ„αŸ‡αž’αŸ’αž“αž€αžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž€αž˜αŸ’αžšαž·αžαžαŸ’αž–αžŸαŸ‹αŸ” αž‘αŸ„αŸ‡αž‡αžΆαž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αžαŸ’αž›αž½αž“αžαŸ’αž‰αž»αŸ†αž•αŸ’αž‘αžΆαž›αŸ‹αž”αžΆαž“αž–αŸ’αž™αžΆαž™αžΆαž˜αž›αŸ„αžαž–αžΈαž›αžΎαž‡αŸ’αžšαŸ„αŸ‡αž‘αŸ…αž€αžΆαž“αŸ‹αž–αž·αž—αž–αž“αŸƒ bots αž˜αž½αž™αžšαŸ†αž–αŸαž…αž“αŸ„αŸ‡ αžαŸ’αž‰αž»αŸ†αž–αž·αžαž‡αžΆαžαž€αžαžΆαž“αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž”αŸ‚αž”αž“αŸαŸ‡αŸ” αž˜αž‚αŸ’αž‚αž»αž‘αŸ’αž‘αŸαžŸαž€αŸαžŠαŸ‚αž›αž˜αž·αž“αž“αžΉαž€αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž‡αžΆαž€αŸ‹αžŸαŸ’αžαŸ‚αž„ αž“αž·αž„αžŸαžΆαž˜αž‰αŸ’αž‰αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž‡αŸ†αž“αžΆαž‰ IT αžŽαžΆαž˜αž½αž™αŸ”

αž“αŸ…αž–αŸαž›αž’αž“αžΆαž‚αž αžαŸ’αž‰αž»αŸ†αž‚αŸ’αžšαŸ„αž„αž“αžΉαž„αž”αŸ’αžšαž€αžΆαžŸαž’αŸ†αž–αžΈαžšαž”αŸ€αž”αž”αž„αŸ’αž€αžΎαžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ†αž”αžΌαž„αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž“αŸ…αž›αžΎ ReactNative αž€αŸ’αž“αž»αž„αžšαž…αž“αžΆαž”αŸαž‘αŸ’αž˜αžŠαžΌαž…αž‚αŸ’αž“αžΆ αžŸαžΌαž˜αž‡αžΆαžœ!

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹