ืืืื, ืืืืืจื ืืจืืืืืช, ื ืจืืื https://api.telegram.org/
. ืืืื, ืื ืื ื ืื ื ืขืฉื - ืื, ืื. ืืืจื ืืื, ืืชืืง ืฉืื ื ืืฉ ืื ืฉื ืงืจื. webhooks โ ืืขืืจืชื, ืื ืื ื ืื ืคืื ืื ืืืชืืืช ืกืคืฆืืคืืช, ืืื ืคืฉืื ืฉืืืืื ืืช ืืงืฉืชื ื ืืืขื ื ืืื ืืงืฉื ืืืื ื. ืืืืืจ, ืืื ืืืืืกื, ืื ืื ื ืขืื ืื ืขื ืฉืืื ืืฉืืื. ืืืื ืื ืืืฉืง API ืฉื ืืืืจื ืื ืืืคืืข ืืงืื ืฉืื ื.
ืืชื ืืืชืืจืืฉืืืช ืฉื ืื ืืืจืืื ืื ืืืืฉืืชืืื ืืืืืืจืื ืืืืืจ ืื ืื ืืืืืื, ืืืชืืืืช ืืคืฉืจืืืช ืืฉืืืช ืฉื ืืจืืื ืื ืืืืชืืื ืื ืืงืจืืืช.
ืื, ื ืืฆืืจ ืืื ืฉืืกืคืง ืื ื ืืืฉืืืช ืืืืืช. ืืืืืง ืืื ืืชืืื ื:
ืืชื ืืืื ืื ืกืืช ืืช ืื ืืคืขืืื - ืื ื ืืฉื: @SmartThoughtsBot. ืฉืืชื ืื ืืืคืชืืจ "ืืืืืื ืืช ืฉื ืืืืก"? ืืกืืื ืืื ืืื ืฉืืืื ืืื ืกืื ืฉื "ืืืืื" ืืืื ืืืืชื ืฉื. ืืืืืื ืืช ืฉื ืืืืก, ืืืืืจ ืืื ืืืฆืข ืืช ืืืชื ืคืื ืงืฆืืืช ืืื ืืืืืื ืืช ืฉื ืืืืก ืืืืชืื ืฉืื ืืืืื ืืืชืงืืื ืืฉืืื ืขื ืืื ืคืจืกืื ืื ืืื. ืขื ืืื ืืืฆืืจ ืืืืื ืืช ืืืฉืืืช ืืืืืช ืืืชืืืจ ืืืืืจ
ืืฆืืจืช ืืื
ืื ื ืจืืฆื ืฉืืืืจืื ืืื ืืืื ืฉืืืืฉื ืืืืื, ืืืื. ืืืื ื ืืืืื ืืชืืืืื. ืืื, ืืืืง ืื ืืชืืจ ืืคืืจืื ืืกืืื ืืืฆื ืืืฆืืจ ืืืืคื ืืืื ืืืจืงืืืืืื. ืืื ืฉืืื ื ืืงืืง ืืืืืข ืื, ืืืฉื ืืกืขืืคืื ืืืืื.
ืคืชื ืืช ืืืคืืืงืฆืื ืืืืจืื, ืืืื ื ืงืจื ืืืื ืฉื ืื ืืืืืื (ืืฉ ืืื ืืื ืืื ืื ืฉืื) - @BotFather - ืืชืืืื ื ืืชื ืื ืืช ืืคืงืืื /help ืืื ืืจืขื ื ืืช ืืืืืจืื ืฉืื ืืืื ืื ืฉืื ืื ื ืืืืืื ืืขืฉืืช. ืืขืช ื ืชืขื ืืื ืืฆืืืช / newbot.
ืืืืืื ืฉืืืื ืืืชืืืจ ืืื ืืืจ ื ืืฆืจ, ืืืืจืืช ืืืืื ืืฆืืจ ืืื ื ืืกืฃ ืืืื ืงืฆืจ (ืืืืจ ืื ืืืืง ืืืชื). ืื ื ืืชืงืฉืจ ืืืื DemoHabrBot. ืฉืืืช (ืฉื ืืฉืชืืฉ) ืืื ืืืืืื ืฉื ืืืืจื ืืืืืื ืืืกืชืืื ืืืืื ืืืข, ืืืืืื: MyCoolBot ืื ืฉืื_ืืื ืื_ืืื - ืื ืขืืืจ ืืืืื. ืืื ืงืืื ื ืืชื ืื ืืืื ืฉื (ืฉื) - ืืื ืืืืขื ืืื ืฉืื. ืืฉื ืืืื ืืืืืช ืืื ืฉืคื, ืืืืื ืจืืืืื, ืืืื ื ืืืื ืืืกืชืืื ืืืืื ืืืข, ืืืคืืื ืื ืืืื ืืืืืช ืืืืืื. ืืืืืื ืื, ืงืจืืชื ืืืื ืืื ืืืืื ืืืจ.
ืืขืช ืืืจ ืฉื ืืืื (ืฉื ืืฉืชืืฉ, ืื ืืืืืื). ืืืื ื ืชืงืฉืจ ืืืื DemoHabrBot. ืื ืื ืฉืงืฉืืจ ืืฉื ืืืื (ืฉื) ืื ืงืฉืืจ ืืฉืื ืืืื - ืฉื ืืฉืชืืฉ (ืื ืื, ืืื ืืืืืง ืืืคื). ืืืืจ ืืฆืืจื ืืืฆืืืช ืฉื ืฉื ืืื ืืืืืื, ืขืืื ื ืืืขืชืืง ืืืฉืืืจ (ืืกืืืืืช ืืืืืืช!) ืืช ืืืกืืืื ืืืืฆื ืืฆืืืื ืืืกื ืขื ืืฅ ืืืื. ืืขืืจืชื ื ืืกืก ืืืืืจ ืืืชืจ ืืช ืืืงืืจ ืืืจืง'ืืืง ืืจืฉืช ืฉืื ื ืคืื ืงืฆืืืช Yandex.
ืขืืฉืื ืืืื ื ืืชื ืืช ืืคืงืืื ืืืื ืื ืืืืืื: /mybots, ืืืื ืืจืื ืื ื ืจืฉืืื ืฉื ืื ืืืืืื ืฉืืฆืจื ื. ืืื ื ืขืืื ืืช ืืืื ืืืคืื ืืืจื ืืฉืงื ืืขืช ืขืชื ืืืืื ืืืจ (ืืื ื ืืฆืจ ืืื ืืืจืืืช ืืื ืืืฆืจืื ืืืืื, ืืื ื ืฉืชืืฉ ืื ืื ืืืื ืืืืจืืช ืืืืื ืืืจืืช), ืืืืื ื ืกืชืื ืขื ืืืื ืืืฉืืืช ืืืืืช (@SmartThoughtsBot). ืืืฅ ืขื ืืืคืชืืจ ืขื ืฉืื ืืจืฉืืืช ืืืืืื.
ืืื ื ืืื ืืืืืืจ ืืช ืืืื ืฉืื ื. ืขื ืืื ืืืืฆื ืขื ืืืคืชืืจ ืขืจืื ... ื ืขืืืจ ืืขืจืืืช ืืคืฉืจืืช ืืื ืื ืืืจืช. ืืืืืื, ืขื ืืื ืืืืฆื ืขื ืืืคืชืืจ ืขืจืื ืฉื ืื ืื ื ืืืืืื ืืฉื ืืช ืืช ืฉื ืืืื, ื ื ืื ืืืงืื ืืืช ืืืฉืืืช ืืืืืช, ืืืชืื ืจืขืืื ืืช ืืืืจืคืื. Botpic - ืื ืืืืืช ืฉื ืืืื, ืืืื ืืืืืช ืืคืืืช 150 x 150 px. ืชืืืืจ - ืืื ืชืืืืจ ืงืฆืจ ืฉืืืฉืชืืฉ ืจืืื ืืขืช ืืคืขืืช ืืืื ืืคืขื ืืจืืฉืื ื, ืืชืฉืืื ืืฉืืื: ืื ืืืื ืืื ืืืื ืืขืฉืืช? ืืืืืช - ืชืืืืจ ืงืฆืจ ืขืื ืืืชืจ, ืืฉืจ ืืืขืืจ ืขื ืงืืฉืืจ ืืืื (https://t.me/SmartThoughtsBot
) ืื ืืขืช ืืฆืืช ืืืืข ืืืืืชืื.
ืื ืฉืขืืื ื ืืขืฉืืช ืืื ืืืืืืจ ืืช ืืคืงืืืืช. ืืฉื ืื, ืืืฅ ืขื ืืืคืชืืจ ืขืจืื ืคืงืืืืช. ืืกืื ืืจืืืืฆืื ืฉื ืคืจืงืืืงืช ืืืฉืชืืฉ ืืืจืง ืืืืืฅ ืืืฉืชืืฉ ืชืืื ืืฉืชื ืคืงืืืืช: /ืึทืชืึธืึธื ะธ /ืขึถืืจึธื, ืืื ืืืื ืืงืืง ืืืืืจืืช, ืืฉืชืืฉ ืืคืงืืื ืื ืืกืคืช /settings. ืืืื ืฉืื ื ืคืฉืื ืืื ืืืืจ, ืื ืฉืืื ืขืืืื ืื ืฆืจืื ืฉืื ืืืืจืืช. ืื ื ืืืชืืื ืืช ืฉืชื ืืคืงืืืืช ืืจืืฉืื ืืช, ืืืชื ื ืขืื ืืงืื. ืืขืช, ืื ืืืฉืชืืฉ ืืืื ืืืืกื (ืกืืื ืืืืกื: /) ืืฉืื ืืงืื, ืชืืคืืข ืจืฉืืื ืฉื ืคืงืืืืช ืืืืืจื ืืืืจื. ืืื ืืื ืืชืืื ื: ืืฉืืื - ืื ื ืืชืงืื ืื ืคืงืืืืช ืืจื ืืืื ืืื; ืืฆื ืืืื, ืืคืงืืืืช ืืืื ืืืจ ืืืื ืืช ืืืฉืชืืฉืื ืืืื ืฉืื ื.
ืคืื ืงืฆืืืช Yandex
ืขืืฉืื ืืฉืืืื ืฉืื ื ื ืืฆืจ, ืืื ื ืื ืื Yandex.Cloudืืื ืืืฆืืจ ืคืื ืงืฆืื ืฉืชืคืขืื ืืช ืืงืื ืฉื ืืืื ืฉืื ื. ืื ืื ืขืืืช ืขื Yandex.Cloud ืืงืจืื ืืช ืืืืืจ
ืื ืืงืื ืกืืื Yandex.Cloud ืืชืคืจืื ืื ืืืื ืืฉืืืื ืืืจ ืืช ืืคืจืื ืคืื ืงืฆืืืช ืขื ื, ืืืืืจ ืืื ืืืฅ ืขื ืืืืฆื ืฆืืจ ืคืื ืงืฆืื. ืื ืื ื ื ืืชื ืื ืืื ืฉื ืืชืืืืจ ืงืฆืจ ืืขืฆืื ื.
ืืืืจ ืืืืฆื ืขื ืืืคืชืืจ ืืืฆืืจ ืืืืืจ ืืกืคืจ ืฉื ืืืช, ืืคืื ืงืฆืื ืืืืฉื ืชืืคืืข ืืจืฉืืืช ืื ืืคืื ืงืฆืืืช. ืืืฅ ืขื ืืฉื ืฉืื - ืื ืืืืื ืืืชื ื ืืขืืื ืกืงืืจื ืืคืื ืงืฆืื ืฉืื ื. ืืื ืืชื ืฆืจืื ืืืคืขืื (On) ืืืืฃ ืชืคืงืื ืฆืืืืจืืื ืฉืืื ืืืื ื ืืืฉ ืืืืืฅ (ืขืืืจ Yandex.Cloud) ืฉื ืืขืืื, ืืืฉืืขืืช ืืฉืืืช ืงืืฉืืจ ืฉืืื ะธ ืืืื - ืฉืืืจ ืืช ืื ืืกืื ืขืืืง ืืืืื ืืืื ืขืฆืื ืืืืืืจื, ืื ืฉืืคืื ืงืฆืื ืฉืื ืื ืืืืื ืืืืงืจื ืขื ืืื ืจืืืื ืฉืื ืื.
ืืขืช, ืืืืฆืขืืช ืืชืคืจืื ืืฉืืืื, ืขืืืจ ืื ะ ะตะดะฐะบัะพั ืคืื ืงืฆืืืช. ืืืื ื ื ืื ืืจืืข ืืฆื ืฉืื ื ืืืฉืืืช ืืืืืช, ืืืืฆืืจ ืคืื ืงืฆืืืช ืชืื ืืช ืืื ืืืืืช ืืื ืืืืืง ืืช ืืคืื ืงืฆืืื ืืืืช ืฉื ืืืื ืฉืื ื... ืขื ืืืช, ืืืงืฉืจ ืืื, ืืคืื ืงืฆืื ืืื ืืื ืืืื ืฉืื ื... ืืงืืฆืืจ, ืขืืฉืื ืืืื ื ืืฆืืจ ืืื ืคืฉืื ืฉ"ืืฉืงืฃ" ( ืืืืืจ ืฉืื ืืืืจื) ืืงืฉืืช ืืฉืชืืฉืื. ืชืืื ื ืืชื ืืืฉืชืืฉ ืืชืื ืืช ืื ืืขืช ืืฆืืจืช ืืืืื ืืืฉืื ืฉื ืืืืจื ืืื ืืืืื ืฉืืชืงืฉืืจืช ืืืชื ืึดืืจึธืง'ืืืื ืขืืื ืืกืืจ. ื ึฐืงึดืืฉืึธื ืฆืืจ ืงืืืฅ, ืืืื ื ืงืจื ืืื index.js, ืืืืื ืืจื ื ืขืืจื ืงืื ืืืืง ืืช ืืงืื ืืื ืืงืืืฅ ืืื:
module.exports.bot = async (event) => {
const body = JSON.parse(event.body);
const msg = {
'method': 'sendMessage',
'chat_id': body.message.chat.id,
'text': body.message.text
};
return {
'statusCode': 200,
'headers': {
'Content-Type': 'application/json'
},
'body': JSON.stringify(msg),
'isBase64Encoded': false
};
};
ืืืกืืฃ Yandex.Cloud ืื ืืืืจ ืืืืจืืืช ืืขืจื ืื:
ืืืืฉื ื ืฆืืื ื ืงืืืช ืื ืืกื - index.botืืืคื ืืื ืื ืฉื ืืงืืืฅ (index.js), ื ืืืข - ืฉื ืคืื ืงืฆืื (module.exports.bot). ืืฉืืจ ืืช ืื ืฉืืจ ืืฉืืืช ืืคื ืฉืื, ืืืืฅ ืขื ืืืคืชืืจ ืืคืื ื ืืฉืืืืืช ืืขืืืื ื ืฆืืจ ืืจืกื. ืชืื ืืกืคืจ ืฉื ืืืช ืชืืืืฆืจ ืืจืกื ืื ืฉื ืืคืื ืงืฆืื. ืืื ืงืฆืจ ืืืืจ ืืืืืงื webhook, ื ืืฆืืจ ืืจืกื ืืืฉื - ืืืฉืืืช ืืืืืช.
ืืืกืื ืืคืฆืื
ืขืืฉืื ืืฉืืฆืจื ื ืคืื ืงืฆืืืช Yandex, ืงืืืื, ืืืื ืฉืื ืื ื ืืงืื ืกืืื Yandex.Cloud, ืืืื ื ืืฆืืจ ืืช ืื ืฉื ืงืจื ืืื (ืืื, ืืืืืจ ืืื ืืจืืกืืช, ืื ืืจ ืืืื) ืืืืกืื ืงืืฆื ืชืืื ื ืฉืืฉืืฉื ืืช ืืืื ืฉืื ื ืืืฉืืืช ืืืืืช. ืืชืคืจืื ืื ืืืื ืืฉืืืื ืืืจ ืืช ืืคืจืื ืืืกืื ืืืืืืงืืื, ืืืฅ ืขื ืืืคืชืืจ ืฆืืจ ืืื, ืชืืฆืื ืืื ืฉื, ืืืฉื, img-bucket, ืืืื ืืฉืื, ืืืฉืช ืงืจืืื ืืืืืืืงืืื ืื ืื ื ืืคืจืกืืื ืืช ืื ืืฆืืืืจ - ืืืจืช ืืืืจื ืื ืชืจืื ืืช ืืชืืื ืืช ืฉืื ื. ืื ื ืืฉืืืจืื ืืช ืื ืฉืืจ ืืฉืืืช ืืื ืฉืื ืื. ืืืฅ ืขื ืืืคืชืืจ ืฆืืจ ืืื.
ืืืืจ ืืื, ืืจืฉืืื ืฉื ืื ืืืืืื ืขืฉืืื ืืืืจืืืช ืืขืจื ืื (ืื ืื ืืืื ืืืืื ืฉืื):
ืืขืช ืื ื ืืฆืืข ืืืืืฅ ืขื ืฉื ืืืื ืืืืฆืืจ ืืชืืื ืชืืงืื ืืื ืืืจืื ืืช ืืืกืื ืืชืืื ืืช ืขืืืจ ืืืืฉืืืื ืืฉืื ืื ืฉืื. ืืืืืื, ืขืืืจ ืืื ืืืืจื ืืืฉืืืช ืืืืืช ืืฆืจืชื ืชืืงืืื ืืฉื tg-bot-smart-thoughts (ืืืื, ืื ื ืืืื ืืช ืืงืื ืืื). ืฆืืจ ืื ืืื.
ืืขืช ืชืืืื ืืืืืฅ ืขื ืฉื ืืชืืงืื, ืืืืื ืก ืืืื ืืืืขืืืช ืงืืฆืื:
ืืืืืืฆื ืขื ืฉื ืืงืืืฅ - ืงืื ืืืชื ืืชืืืช ืืืชืจ ืืฉืืืืฉ ืืืื ืฉืื ื, ืืืืื - ืืื ืืงืื (ืื ืื ืชืคืจืกื ืืืช ืืชืืืช ืืืชืจ ืืืืชืจ, ืฉืื ืืชื ืืขื ื ืืืกืื ืืคืฆืื ืืขืื).
ืื ืืขืฆื ืื ืื ืฉืืฉ ืืื ืืืกืื ืืคืฆืื. ืืขืช ืชืืข ืื ืืขืฉืืช ืืฉืชืจืื ืื ืืื ืืืขืืืช ืืฉื ืงืืฆืื.
Webhook
ืขืืฉืื ื ืชืงืื webhook - ืืืืืจ. ืืืฉืจ ืืืื ืืงืื ืขืืืื (ืืืืืื, ืืืืขื ืืืฉืชืืฉ) ืืืฉืจืช ืืืจืง ืืชืื ืฉืื ื ืคืื ืงืฆืืืช Yandex ืชืืฉืื ืืงืฉื (ืืืงืฉ) ืขื ื ืชืื ืื. ืื ื ืฉืืจื ืฉืืชื ืืืื ืคืฉืื ืืืืืืง ืืฉืื ืืืชืืืช ืฉื ืืืคืืคื ืฉืื ืืื ืืจืขื ื ืืช ืืืฃ (ืขืืื ืืขืฉืืช ืืืช ืจืง ืคืขื ืืืช): https://api.telegram.org/bot{bot_token}/setWebHook?url={webhook_url}
ืคืฉืื ื ืืืืฃ ืืืชื {bot_token} ืืืกืืืื ืฉืงืืืื ื ืืืืื ืืื ืืขืช ืืฆืืจืช ืืืื ืฉืื ื, ื {webhook_url} - ืืืืง ืืชืืืช ืืืชืจ ืฉืื ื ืคืื ืงืฆืืืช Yandex. ืืื ืืงื! ืืื RossKomTsenzur ืืืกืจ ืขื ืกืคืงืื ืืคืืจืฆืื ืืจืืกืืช ืืชืช ืฉืืจืืช ืืืชืืืช https://api.telegram.org
. ืื ืื ื ืืื. ืืื ืชืืฆืื ืืฉืื. ืืืจื ืืื, ืืชื ืืืื, ืืืฉื, ืืฉืืื ืืช ืกืืชื ืฉืื ืขื ืื ืืืืงืจืืื ื, ืืืฉืจืื ืื ืืงื ืื - ืืื ืฉื "ืจืืกืงืืืฆื ืืืจื", ืืจืง ืืืืืื ืืืืข ืืื ืื ืฉืื ืืืื ืืืขืืื. ืืชืืฆืื ืืื, ืืชืืืื ืืืงืฉื ืืขืช ืืชืงื ืช webhook ืฆืจืืื ืืืืจืืืช ืื:
ืื ืื ื ืืืื ืื. ืื ืฆืจืื "ืืฉืงืฃ".
ืื ื ืืื. ืืจืืืชืื ื - ืขืืฉืื ืคืื ืงืฆืืืช Yandex ืืคื ืืืจืง-ืืื!
ืืืฉืืืช ืืืืืช
ืขืืฉืื ืืืื ื ืขืฉื ืืืฉืืืช ืืืืืช. ืืงืื ืคืชืื ืืฉืืื
ืฉืืคืื ืืคืจืืืงื ืืืชืงื ืชืืืช:
git clone https://github.com/stmike/tg-bot-smart-thoughts.git
cd tg-bot-smart-thoughts
npm i
ืืฆืข ืืช ืืฉืื ืืืื ืืืจืืฉืื ืื ืืงืืืฅ index.js (ืืืคืฆืืื ืื; ืื ืฆืจืื ืืฉื ืืช ืืืื). ืึดืืฆืึนืจ zip-ืืจืืืื, ืขื ืงืืืฅ index.js ืืชืืงืื ืฆืืืช_ืืืืืืื ืืคื ืื, ืืืฉื, ืชืืช ืืฉื smart.zip.
ืืขืช ืขืืืจ ืื ืืืกืืฃ ืื ืฉืื ื ืคืื ืงืฆืืืช Yandex, ืืืจ ืืืจืืืกืืื ืืจืืืื ZIP, ืืืฅ ืขื ืืืคืชืืจ ืืืจ ืงืืืฅ, ืืืืจื ืืช ืืืจืืืื ืฉืื ื smart.zip. ืืืกืืฃ, ืืคืื ื ืืฉืืืืืช ืืขืืืื ื, ืืืฅ ืขื ืืืคืชืืจ ืฆืืจ ืืจืกื.
ืืขืื ืืกืคืจ ืฉื ืืืช, ืืฉืืคืื ืงืฆืื ืชืชืขืืื, ื ืืืืง ืฉืื ืืช ืืืื ืฉืื ื. ืขืืฉืื ืืื ืืืจ ืื "ืืฉืงืฃ", ืืื ืืืื ืืืฉืืืช ืืืืืช!
ืื ืืื ืืืืื. ืืืืจืื ื ืืกืคืื ืืืืฉื. ืื ืืชื ืืขืื ืืื ืืงืจืื ืืช ืื, ืืืจืฉื ืืงืืืช ืืชืจืืืช ืขื ืืืืจืื ืืืฉืื. ืืชื ืืืื ืืืืจืฉื ืืื, ืื ืืืชืืืช ืืืจืง-ืขึธืจืึผืฅ
ืชืืืืจ
ืชืจืืืืช
ืืงืืจ: www.habr.com