
рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд рдЪреИрдЯ рдмреЙрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП 100,500 рддрд░реАрдХреЗ рдФрд░ рдЙрдкрдХрд░рдг рд╣реИрдВред рдФрд░ рд╣рдорд╛рд░рд╛ рддрд░реАрдХрд╛ рд╡реИрд╕реЗ рднреА рдЖрд╕рд╛рди рд╣реЛрдЧрд╛, рдХрдо рд╕реЗ рдХрдо рдЗрдВрдЯрд░рдлреЗрд╕ рдореЗрдВ рдХреНрд▓рд┐рдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗред рдмреЙрдЯ рдЦреБрдж рдкрд╛рдЗрдерди рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд рд╕реНрд╡рд┐рдлреНрдЯреА рдЗрдВрдЬрди рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╣рдореЗрд╢рд╛ рд╣рдорд╛рд░реЗ рдЧрд╛рдЗрдб рдореЗрдВ, рдЖрдкрдХреЛ рдЕрдЬрдЧрд░ рдпрд╛ рдЕрдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдЬреНрдЮрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред рдЖрдк рд╕рднреА рдХреА рдЬрд░реВрд░рдд рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдХреБрдЫ рдЪрд▓рд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рд░реВрд╕ рдореЗрдВ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдПрдХ рд╡реАрдкреАрдПрди рднреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рд╕рд░реНрд╡рд░ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рдЬрдмрдХрд┐ рд╕рдм рдХреБрдЫ рдорд╛рдирдХ рд╣реИ - рдПрдХ рдмреЙрдЯ рд░рдЬрд┐рд╕реНрдЯрд░
рдПрдХ рдирдпрд╛ рдмреЙрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреВрд╕рд░реЗ рдмреЙрдЯ рд╕реЗ рдкреВрдЫрдирд╛ рд╣реЛрдЧрд╛ред рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдЦреЛрд▓реЗрдВ рдФрд░ @BotFather bot рдХреЛ рдвреВрдВрдвреЗрдВ рдпрд╛
рд▓рд┐рдВрдХ рдЦреЛрд▓реЗрдВред рдЕрдЧрд▓рд╛, рдЯрд╛рдЗрдк / рдиреНрдпреВрдмреЙрдЯ рдФрд░ рдмреЛрдЯрд╛рдкрд╛ рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВред рдиреНрдпреВрдирддрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдмреЙрдЯ рдХреЛ рдПрдХ рдкреНрд░рджрд░реНрд╢рди рдирд╛рдо рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рджреЗрдирд╛ рд╣реЛрдЧрд╛ред рдмреЙрдЯ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЯреЛрдХрди рдФрд░ URL рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЙрдиреНрд╣реЗрдВ рдХрд╣реАрдВ рдмрдЪрд╛рдУред
рдирд╛рд╡
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдо рд╕реНрд╡рд┐рдлреНрдЯреА рдХреЗ рд╕рд╛рде рдкрдВрдЬреАрдХрд░рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЖрдк рдЗрд╕реЗ
рдпрд╣рд╛рдБ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдлрд┐рд░ рдХрдВрдЯреНрд░реЛрд▓ рдкреИрдирд▓ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдХрд░реЗрдВ:
- рдлрд╝рдВрдХреНрд╢рдВрд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ -> рдирдпрд╛ рдлрд╝рдВрдХреНрд╢рдиред рд░реЗрдкреЛ (рдЯреЗрдореНрдкреНрд▓реЗрдЯ) рдЯреИрдм рд╕реЗ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЪрдпрдирд┐рдд рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ github.com/swiftycloud/swifty.demo рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рдпрд╣ рд╣рдорд╛рд░реА рдЕрдкрдиреА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдлрдВрдХреНрд╢рди рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВред
- рд╕рд┐рдВрдкрд▓ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдЪреИрдЯрдмреЙрдЯ (рдЕрдЬрдЧрд░) рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдиреЗрдХреНрд╕реНрдЯ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
- рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреЗ рдмреЙрдЯ рдХрд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВ, swifty_bot (рдЗрд╕рдХреЗ рдмрд╛рдж рдореИрдВ рдЗрд╕реЗ рдирд╛рдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛) рдФрд░ Create рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рддрд╛рдХрд┐ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХреЗрдВ, рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдкреАрдЖрдИ рд▓рд┐рдВрдХ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЯреНрд░рд┐рдЧрд░ рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ, рдЯреНрд░рд┐рдЧрд░ рдЬреЛрдбрд╝реЗрдВ -> рд░реАрд╕реНрдЯ рдПрдкреАрдЖрдИ (URL) рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдкрд░рд┐рдгрд╛рдореА рд▓рд┐рдВрдХ рдХреЛ рд╕рд╣реЗрдЬреЗрдВред
рдлрд┐рд░, рдЖрдкрдХреЛ рдЯреЗрд▓реАрдлрд╝реЛрди рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдмреЙрдЯ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдЯреЛрдХрди рддрдХ рдкрд╣реБрдВрдЪрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕реНрд╡рд┐рдлреНрдЯреА рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЗрдХрд╛рдИ рд╣реИ - рдЦрд╛рддрд╛, рдЬреЛ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓реЙрдЧрд┐рди-рдкрд╛рд╕рд╡рд░реНрдб рдмрдВрдбрд▓ рдпрд╛ рдЯреЛрдХрдиред
- рдЦрд╛рддреЗ рдЪреБрдиреЗрдВ -> рдЦрд╛рддрд╛ рдмрдирд╛рдПрдБред рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдПрдкреАрдЖрдИ рдкреНрд░рдХрд╛рд░, SWIFTYBOT рдирд╛рдо (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдкрд░рдХреЗрд╕) рдФрд░ рдЙрд╕ рдЯреЛрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬреЛ рдЖрдкрдХреЛ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ рдерд╛ред
- рдХрд╛рд░реНрдп рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ -> swifty_bot -> рдкреНрд░рд╡реЗрд╢ -> рдЬреЛрдбрд╝реЗрдВред рдЦрд╛рддреЛрдВ рдФрд░ рдПрдХ рд╕реНрд╡рд┐рдлреНрдЯрдмреЙрдЯ рдЦрд╛рддреЗ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рдЖрдкрдХреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкрд╛рд╕ рдЕрдм рдЖрдкрдХреЗ рдПрдХреНрд╕реЗрд╕ рдЯреЛрдХрди рддрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдкрд╣реБрдВрдЪ рд╣реИред
рдЕрджреНрдпрддрдиред рдзреНрдпрд╛рди рджреЛ! рдЦрд╛рддрд╛ рдХреЗ рд▓рд┐рдП SWIFTYBOT рдирд╛рдо рдпрд╣рд╛рдБ рдлрд╝рдВрдХреНрд╢рди рдХреЛрдб рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ:
BASE_URL = "https://api.telegram.org/bot{}".format(os.getenv('ACC_TELEGRAMSWIFTYBOT_TOKEN'))
рдпрджрд┐ рдЖрдк рдПрдХ рдЕрд▓рдЧ рдЦрд╛рддрд╛ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛрдб рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХрд╛ рдЦрд╛рддрд╛ рдирд╛рдо MYOWNBOT рд╣реИ, рддреЛ рдЖрдкрдХрд╛ рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:
BASE_URL = "https://api.telegram.org/bot{}".format(os.getenv('ACC_TELEGRAMMYOWNBOT_TOKEN'))
рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХрд╛ рдирд╛рдо ACC_TELEGRAMMYOWNBOT_TOKEN рдХреИрд╕реЗ рдмрдирддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдЦрд╛рддрд╛ рд╕рдВрдкрддреНрддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рд╕реНрд╡рд┐рдлреНрдЯреА рдореЗрдВ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рд╕рдВрд╕рд╛рдзрди? рдпрд╣рд╛рдВ:
- рдПрд╕реАрд╕реА - рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЬрд┐рд╕реЗ рдЖрдк рдкреНрд░рдХрд╛рд░ рдЦрд╛рддреЗ рдХреЗ рд╕рдВрд╕рд╛рдзрди рддрдХ рдкрд╣реБрдВрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ;
- TELEGRAM - рдЦрд╛рддреЗ рдХрд╛ рдкреНрд░рдХрд╛рд░;
- рдбрд╛рдЙрдирд▓реЛрдб - рдЦрд╛рддрд╛ рдирд╛рдо;
- рдЯреЛрдХрди - рдЦрд╛рддрд╛ рд╕рдВрдкрддреНрддрд┐;
рдкрд░рд┐рдгрд╛рдореА рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдХреЛрдб:
import json import os import sys import requests BASE_URL = "https://api.telegram.org/bot{}".format(os.getenv('ACC_TELEGRAMSWIFTYBOT_TOKEN')) def Main(req): try: data = json.loads(req.body.encode()) message = str(data["message"]["text"]) chat_id = data["message"]["chat"]["id"] first_name = data["message"]["chat"]["first_name"] response = "Please /start, {}".format(first_name) if "start" in message: response = "Hello {}! Type /help to get list of actions.".format(first_name) if "help" in message: response = "/about - get information about Swifty" if "about" in message: response = ("Swifty is the serverless platform that allows startups, developers and enterprises to develop and run application backend with minimal time-to-market, costs and without infrastructure management.\n" "Start creating your backend at\n" "https://swifty.cloud") data = {"text": response.encode("utf8"), "chat_id": chat_id} url = BASE_URL + "/sendMessage" requests.post(url, data) except Exception as e: print(e) return {"statusCode": 200}, None
рдпрд╣ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдмреЙрдЯ рд╣реИ рдЬреЛ рдХрдорд╛рдВрдб / рд╕реНрдЯрд╛рд░реНрдЯ, / рд╣реЗрд▓реНрдк рдФрд░ / рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗ рд╕рдХрддрд╛ рд╣реИред рдЖрдк рдЕрдкрдиреА рдХрд┐рд╕реА рднреА рдЯреАрдо рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЗрдЪреНрдЫрд╛рдиреБрд╕рд╛рд░ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдо рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмреЙрдЯ рд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ
рдЕрдм рдЖрдкрдХреЛ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдмреЙрдЯ рдХрд┐рд╕ рд▓рд┐рдВрдХ рдкрд░ рд╣реИред рдЖрдкрдХреЛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЦреЛрд▓рдиреЗ рдФрд░ рдЙрд╕рдореЗрдВ рдирд┐рдореНрди рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рдЖрдкрдХреЗ_API_URL рдХреЛ рдПрдкреАрдЖрдИ рд▓рд┐рдВрдХ рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рдХреЙрдкреА рдХрд┐рдпрд╛ рдерд╛, рдФрд░ рдПрдХ рдЯреЛрдХрди рдХреЗ рд╕рд╛рде рдЖрдкрдХрд╛_рдХреЗрд╕реА_рдПрд╕рдЯреАрдХреЗрдПрдиред
curl -XPOST https://api.telegram.org/botYOUR_ACCESS_TOKEN/setWebhook?url=YOUR_API_URL
рдпрджрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд░рд╣рд╛, рддреЛ рдЖрдкрдХреЛ рдирд┐рдореНрди рдЬреИрд╕рд╛ рдХреБрдЫ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:
{ "ok": true, "result": true, "description": "Webhook was set" }
рдпрджрд┐ рдЖрдк рд░реВрд╕ рдореЗрдВ рд╣реИрдВ, рддреЛ рд╕рдмрдХреБрдЫ рдареАрдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡реАрдкреАрдПрди рд╕рдХреНрд╖рдо рд╣реИред
рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдореЗрдВ рдЕрдкрдиреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдмреЙрдЯ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, / рд╢реБрд░реВ рдпрд╛ / рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрджреЗрд╢реЛрдВ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдЕрдЧрд░ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдмрдзрд╛рдИред рдпрджрд┐ рдирд╣реАрдВ,
рддреЛ рдХреГрдкрдпрд╛ рдпрд╣рд╛рдБ рдпрд╛ рд╣рдорд╛рд░реЗ
рд╕реБрд╕реНрдд рдЪреИрдирд▓ рдкрд░ рдЯрд┐рдкреНрдкрдгреА
рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ ред
рдЖрдк рдпрд╣ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрджрд┐ рдЖрдк рддреИрдпрд╛рд░ рд╣реИрдВ рддреЛ рдпрд╣ рдХреИрд╕реЗ рддреИрдпрд╛рд░ рд╣реЛрддрд╛ рд╣реИ, рдЕрдЧрд░ рдпрд╣ рд╣рдорд╛рд░реЗ рдмреЙрдЯ рдХреЗ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдореЗрдВ swifty_test_bot рдирд╛рдо рд╕реЗ рдорд┐рд▓рддрд╛ рд╣реИред рдЖрдкрдХрд╛ рдзрдиреНрдпрд╡рд╛рдж
рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдРрдк рдмрдирд╛рдПрдВ, рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ
swifty.cloud рдореЗрдВ рдХрд╣рддреЗ рд╣реИрдВред