Botfather telegram как найти

This guide will walk you through everything you need to know to build your first Telegram Bot.
If you already know your way around some of the basic steps, you can jump directly to the part you’re missing. Equivalent examples are available in C#, Python, Go and TypeScript .

  • Introduction
  • Basic Tutorial
  • Environment
  • First Run
  • Echo Bot
  • Advanced Tutorial
  • Commands
  • Navigation
  • Database
  • Hosting
  • Further Reading

Introduction

At its core, you can think of the Telegram Bot API as software that provides JSON-encoded responses to your queries.

A bot, on the other hand, is essentially a routine, software or script that queries the API by means of an HTTPS request and waits for a response. There are several types of requests you can make, as well as many different objects that you can use and receive as responses.

Since your browser is capable of sending HTTPS requests, you can use it to quickly try out the API. After obtaining your token, try pasting this string into your browser:

https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getMe

In theory, you could interact with the API with basic requests like this, either via your browser or other tailor-made tools like cURL. While this can work for simple requests like the example above, it’s not practical for larger applications and doesn’t scale well.
For that reason, this guide will show you how to use libraries and frameworks, along with some basic programming skills, to build a more robust and scalable project.

If you know how to code, you’ll fly right through each step in no time – and if you’re just starting out, this guide will show you everything you need to learn.

We will use Java throughout this guide as it’s one of the most popular programming languages, however, you can follow along with any language as all the steps are fundamentally the same.
Since Java is fully cross-platform, each code example will work with any operating system.
If you pick another language, equivalent examples are available in C#, Python, Go and TypeScript .

Getting Ready

First, we will briefly cover how to create your first project, obtain your API token and download all necessary dependencies and libraries.

For the purposes of this guide, a copy of the bot you will be creating is also live at @TutorialBot – feel free to check it out along the way to see how your own implementation should look after each step.

Obtain Your Bot Token

In this context, a token is a string that authenticates your bot (not your account) on the bot API. Each bot has a unique token which can also be revoked at any time via @BotFather.

Obtaining a token is as simple as contacting @BotFather, issuing the /newbot command and following the steps until you’re given a new token. You can find a step-by-step guide here.

Your token will look something like this:

4839574812:AAFD39kkdpWt3ywyRZergyOLMaJhac60qc

Make sure to save your token in a secure place, treat it like a password and don’t share it with anyone.

Download an IDE

To program in Java you’ll need an IDE – a special text editor that will let you write, compile and run your code.
In this tutorial, we’ll use IntelliJ – there are several free, open source alternatives like Eclipse or NetBeans which work in the exact same way.

You will also need a JDK, a software kit that allows your Java code to run.
Most IDEs don’t include a JDK, so you should download a version compatible with your operating system separately. You can find a free, open source version here.

If you use another language, the steps are identical. You will just have to download a different IDE and software development kit.

Pick a Framework or Library

You can think of a framework as software that handles all the low-level logic for you, including the API calls, and lets you focus on your bot-specific logic.

In this tutorial, we’ll use TelegramBots, but you can follow along with any equivalent implementation, since all the underlying methods are either similar or exactly the same.

You can find many frameworks, along with code examples, in our dedicated list.

Create Your Project

In IntelliJ, go to File > New > Project.

Fill in the fields accordingly:

  • Name – The name of your project. For example, BotTutorial.
  • Location – Where to store your project. You can use the default value.
  • Language – Java
  • Build System – The framework that will handle your dependencies. Pick Maven.
  • JDK – Pick whichever version you downloaded. We’ll be using version 17.
  • Add Sample Code – Leave this selected, it will generate some needed files for you.
  • Advanced Settings > GroupId – We suggest tutorial.
  • Advanced Settings > ArtifactId – You can use the default value.

After hitting Create, if you did everything correctly, your Project view in the top left should show a project structure along these lines:

BotTutorial
├─ .idea
├─ src
│  └─ main
│     └─ java
│        └─ tutorial
│           └─ Main
└─ pom.xml

Other IDEs will follow a similar pattern. Your dependency management system will have a different name (or no name at all if it’s built-in) depending on the language you chose.

If this looks scary, don’t worry. We will only be using the Main file and the pom.xml file.
In fact, to check that everything is working so far, double click on Main and click on the small green arrow on the left of public class Main, then select the first option.
If you followed the steps correctly, Hello world! should appear in the console below.

Add Framework Dependency

We will now instruct the IDE to download and configure everything needed to work with the API.
This is very easy and happens automatically behind the scenes.

First, locate your pom.xml file on the left side of the screen.
Open it by double-clicking and simply add:

<dependencies>
    <dependency>
        <groupId>org.telegram</groupId>
        <artifactId>telegrambots</artifactId>
        <version>6.0.1</version>
    </dependency>
</dependencies>

right after the </properties> tag.

When you’re done, your pom.xml should look something like this.

Start Coding

We are ready to start coding. If you’re a beginner, consider that being familiar with your language of choice will greatly help. With this tutorial, you’ll be able to teach your bot basic behaviors, though more advanced features will require some coding experience.

Creating a Bot Class

If you’re familiar with object-oriented programming, you’ll know what a class is.
If you’ve never heard of it before, consider a class as a file where you write some logic.

To create the class that will contain the bot logic, right click on tutorial from the project tree on the left and select New > Java Class. Name it Bot and hit enter.

Now we have to connect this class to the bot framework. In other words, we must make sure it extends TelegramLongPollingBot. To do that, just add extends TelegramLongPollingBot right after Bot.
A red line will appear – it simply means we’re missing some important methods.

To fix this, hover over the red line, click on implement methods, then hit OK.
Depending on the IDE, this option may be called implement missing methods or something similar.

You should end up with this – if something went wrong, feel free to copy it from here and paste it in your class:

package tutorial;
import org.telegram.telegrambots.bots.TelegramLongPollingBot;
import org.telegram.telegrambots.meta.api.objects.Update;

public class Bot extends TelegramLongPollingBot {

  @Override
  public String getBotUsername() {
      return null;
  }

  @Override
  public String getBotToken() {
      return null;
  }

  @Override
  public void onUpdateReceived(Update update) {}

}

If you get a red line under TelegramLongPollingBot, it means you didn’t set up your pom.xml correctly. If this is the case, restart from here.

Available Methods

Let’s look into these 3 methods one by one.

  • getBotUsername – This method must be edited to always return your bot’s username. You should replace the null return value with it.
  • getBotToken – This method will be used by the framework to retrieve your bot token. You should replace the null return value with the token.
  • onUpdateReceived – This is the most important method. It will be called automatically whenever a new Update is available. Let’s add a System.out.println(update); call in there to quickly show what we are getting.

After you’ve replaced all the strings, you should end up with this:

@Override
public String getBotUsername() {
    return "TutorialBot";
}

@Override
public String getBotToken() {
    return "4839574812:AAFD39kkdpWt3ywyRZergyOLMaJhac60qc";
}

@Override
public void onUpdateReceived(Update update) {
    System.out.println(update);
}

At this point, the bot is configured and ready to go – time to register it on the API and start processing updates.

In the future, you should consider storing your token in a dedicated settings file or in environment variables. Keeping it in the code is fine for the scope of this tutorial, however, it’s not very versatile and is generally considered bad practice.

Registering the Bot

To register the bot on the API, simply add a couple of lines in the main method that will launch the application. If you named your class Bot, this is what your main method should look like:

public static void main(String[] args) throws TelegramApiException {
  TelegramBotsApi botsApi = new TelegramBotsApi(DefaultBotSession.class);
  botsApi.registerBot(new Bot());
}

You can place this method in any class. Since we have an auto-generated main method in the Main class, we’ll be using that one for this tutorial.

First Run

It’s time to run your bot for the first time.
Hit the green arrow to the left of public static void main and select the first option.

And then there was nothing. Yes, a bit anticlimactic.
This is because your bot has nothing to print – there are no new updates because nobody messaged it yet.

If you try messaging the bot on Telegram, you’ll then see new updates pop up in the console. At this point, you have your very own Telegram Bot – quite the achievement. Now, on to making it a bit more intelligent.

If nothing pops up, make sure you messaged the right bot and that the token you pasted in the code is correct.

Receiving Messages

Every time someone sends a private message to your bot, your onUpdateReceived method will be called automatically and you’ll be able to handle the update parameter, which contains the message, along with a great deal of other info which you can see detailed here.

Let’s focus on two values for now:

  • The user – Who sent the message. Access it via update.getMessage().getFrom().
  • The message – What was sent. Access it via update.getMessage().

Knowing this, we can make it a bit more clear in the console output.

@Override
public void onUpdateReceived(Update update) {
    var msg = update.getMessage();
    var user = msg.getFrom();

    System.out.println(user.getFirstName() + " wrote " + msg.getText());
}

This is just a basic example – you can now play around with all the methods to see everything you can pull out of these objects. You can try getUsername, getLanguageCode, and dozens more.

Knowing how to receive, process and print incoming messages, now it’s time to learn how to answer them.

Remember to stop and re-launch your bot after each change to the code.

Sending Messages

To send a private text message, you generally need three things:

  • The user must have contacted your bot first. (Unless the user sent a join request to a group where your bot is an admin, but that’s a more advanced scenario).
  • You must have previously saved the User ID (user.getId())
  • A String object containing the message text, 1-4096 characters.

With that out of the way, let’s create a new method to send the first message:

public void sendText(Long who, String what){
   SendMessage sm = SendMessage.builder()
                    .chatId(who.toString()) //Who are we sending a message to
                    .text(what).build();    //Message content
   try {
        execute(sm);                        //Actually sending the message
   } catch (TelegramApiException e) {
        throw new RuntimeException(e);      //Any error will be printed here
   }
}

And proceed to run this in the main method, right after registering the bot.
For this example, we’ll assume your User ID is 1234.

public static void main(String[] args) throws TelegramApiException {
   TelegramBotsApi botsApi = new TelegramBotsApi(DefaultBotSession.class);
   Bot bot = new Bot();                  //We moved this line out of the register method, to access it later
   botsApi.registerBot(bot);            
   bot.sendText(1234L, "Hello World!");  //The L just turns the Integer into a Long
}

If you did everything correctly, your bot should text you Hello World! every time you launch your code. Sending messages to groups or channels – assuming you have the relevant permissions – is as simple as replacing 1234 with the ID of the respective chat.

Try experimenting with other types of messages, like SendPhoto, SendSticker, SendDice…
A full list is available starting here.

Echo Bot

Let’s practice everything we tried so far by coding an Echo Bot.
Its functionality will be rather simple: every text message it receives will be sent right back to the user.

Copying Text

The most intuitive way of coding this is saving the User ID and calling sendText right after each update.

In other words:

@Override
public void onUpdateReceived(Update update) {
    var msg = update.getMessage();
    var user = msg.getFrom();
    var id = user.getId();

    sendText(id, msg.getText());
}

This works for text but can be extended to stickers, media and files.

Copying Everything

There are more specific functions that can be used to copy messages and send them back.
Let’s build a method to do just that:

public void copyMessage(Long who, Integer msgId){
   CopyMessage cm = CopyMessage.builder()
              .fromChatId(who.toString())  //We copy from the user
           .chatId(who.toString())      //And send it back to him
           .messageId(msgId)            //Specifying what message
           .build();
    try {
        execute(cm);
    } catch (TelegramApiException e) {
        throw new RuntimeException(e);
    }
}

After replacing the method call inonUpdateReceived, running the code will result in a fully functional Echo Bot.

This tutorial assumes that updates always contain messages for the sake of simplicity. This may not always be true – be sure to implement all the proper checks in your code to handle every type of update with the appropriate methods.

Executing Commands

To learn what a command is and how it works, we recommend reading this dedicated summary.
In this guide, we’ll focus on the technical side of things.

Creating Your Command

Begin by opening @BotFather.
Type /mybots > Your_Bot_Name > Edit Bot > Edit Commands.

Now send a new command, followed by a brief description.
For the purpose of this tutorial, we’ll implement two simple commands:

scream - Speak, I'll scream right back 
whisper - Shhhhhhh

Command Logic

We want the Echo Bot to reply in uppercase when it’s in scream mode and normally otherwise.

First, let’s create a variable to store the current mode.

public class Bot extends TelegramLongPollingBot {

   private boolean screaming = false;

   [...]
}

Then, let’s change some logic to account for this mode.

public void onUpdateReceived(Update update) {
    [...]                                   //Same variables as the previous versions
   if(screaming)                            //If we are screaming
       scream(id, update.getMessage());     //Call a custom method
   else
       copyMessage(id, msg.getMessageId()); //Else proceed normally
}

private void scream(Long id, Message msg) {
   if(msg.hasText())
       sendText(id, msg.getText().toUpperCase());
   else
       copyMessage(id, msg.getMessageId());  //We can't really scream a sticker
}

Finally, let’s add a couple more lines to the onUpdateReceived method to process each command before replying.

if(msg.isCommand()){ 
   if(msg.getText().equals("/scream"))         //If the command was /scream, we switch gears
      screaming = true;
   else if (msg.getText().equals("/whisper"))  //Otherwise, we return to normal
      screaming = false;

   return;                                     //We don't want to echo commands, so we exit
}

As you can see, it checks if the message is a command. If it is, the bot enters scream mode.
In the update method, we check which mode we are in and either copy the message or convert it to upper case before sending it back.

And that’s it. Now the bot can execute commands and change its behavior accordingly.

Naturally, this simplified logic will change the bot’s behavior for everyone – not just the person who sent the command. This can be fun for this tutorial but won’t work in a production environment – consider using a Map, dictionary or equivalent data structure to assign settings for individual users.

Remember to always implement a few basic global commands.
You can practice by implementing a simple feedback to the /start command, which we intentionally left out.

Buttons and Keyboards

To streamline and simplify user interaction with your bot, you can replace many text-based exchanges with handy buttons. These buttons can perform a wide variety of actions and can be customized for each user.

Button Types

There are two main types of buttons:

  • Reply Buttons – used to provide a list of predefined text reply options.
  • Inline Buttons – used to offer quick navigation, shortcuts, URLs, games and so much more.

Using these buttons is as easy as attaching a ReplyKeyboardMarkup or an InlineKeyboardMarkup to your SendMessage object.

This guide will focus on inline buttons since they only require a few extra lines of code.

Creating Buttons

First of all, let’s create some buttons.

 var next = InlineKeyboardButton.builder()
            .text("Next").callbackData("next")           
            .build();

 var back = InlineKeyboardButton.builder()
            .text("Back").callbackData("back")
            .build();

 var url = InlineKeyboardButton.builder()
            .text("Tutorial")
            .url("https://core.telegram.org/bots/api")
            .build();

Let’s go back through the fields we specified:

  • Text – This is what the user will see, the text that appears on the button
  • Callback Data – This will be sent back to the code instance as part of a new Update, so we can quickly identify what button was clicked.
  • Url – A button that specifies a URL doesn’t specify callbackdata since its behavior is predefined – it will open the given link when tapped.

Creating Keyboards

The buttons we created can be assembled into two keyboards, which will then be used to navigate back and forth between two sample menus.

First, add two fields to store the necessary keyboards.

private boolean screaming = false;

private InlineKeyboardMarkup keyboardM1;
private InlineKeyboardMarkup keyboardM2;

Then, build and assign them.

keyboardM1 = InlineKeyboardMarkup.builder()
          .keyboardRow(List.of(next)).build();  

//Buttons are wrapped in lists since each keyboard is a set of button rows
keyboardM2 = InlineKeyboardMarkup.builder()
          .keyboardRow(List.of(back))
          .keyboardRow(List.of(url))
          .build();

You can place this code wherever you prefer, the important thing is making sure that keyboard variables are accessible from the method call that will send the new menu. If you’re confused by this concept and don’t know where to put them, just paste them above the command processing flow.

Sending Keyboards

Sending a keyboard only requires specifying a reply markup for the message.

public void sendMenu(Long who, String txt, InlineKeyboardMarkup kb){
    SendMessage sm = SendMessage.builder().chatId(who.toString())
            .parseMode("HTML").text(txt)
            .replyMarkup(kb).build();

    try {
        execute(sm);
    } catch (TelegramApiException e) {
        throw new RuntimeException(e);
    }
}

You may have noticed that we also added a new parameter, HTML.
This is called a formatting option and will allow us to use HTML tags and add formatting to the text later on.

Menu Trigger

We could send a new menu for each new user, but for simplicity let’s add a new command that will spawn a menu. We can achieve this by adding a new else clause to the previous command flow.

 var txt = msg.getText();
 if(msg.isCommand()) {
        if (txt.equals("/scream"))
            screaming = true;
        else if (txt.equals("/whisper"))
            screaming = false;
        else if (txt.equals("/menu"))
            sendMenu(id, "<b>Menu 1</b>", keyboard1);
        return;
 }

Try sending /menu to your bot now. If you did everything correctly, you should see a brand new menu pop up.

In a production environment, commands should be handled with an appropriate design pattern that isolates them into different executor classes – modular and separated from the main logic.

Navigation

When building complex bots, navigation is essential. Your users must be able to move seamlessly from one menu to the next.

In this example, we want the Next button to lead the user to the second menu.
The Back button will send us back.
To do that, we will start processing incoming CallbackQueries, which are the results we get after the user taps on a button.

A CallbackQuery is essentially composed of three main parameters:

  • queryId – Needed to close the query. You must always close new queries after processing them – if you don’t, a loading symbol will keep showing on the user’s side on top of each button.
  • data – This identifies which button was pressed.
  • from – The user who pressed the button.

Processing in this context just means executing the action uniquely identified by the button, then closing the query.

A very basic button handler could look something like:

private void buttonTap(Long id, String queryId, String data, int msgId) {

    EditMessageText newTxt = EditMessageText.builder()
            .chatId(id.toString())
            .messageId(msgId).text("").build();

    EditMessageReplyMarkup newKb = EditMessageReplyMarkup.builder()
            .chatId(id.toString()).messageId(msgId).build();                           

    if(data.equals("next")) {
        newTxt.setText("MENU 2");
        newKb.setReplyMarkup(keyboardM2);
    } else if(data.equals("back")) {
        newTxt.setText("MENU 1");
        newKb.setReplyMarkup(keyboardM1);
    }

    AnswerCallbackQuery close = AnswerCallbackQuery.builder()
            .callbackQueryId(queryId).build();

    execute(close);
    execute(newTxt);
    execute(newKb);
}

With this handler, whenever a button is tapped, your bot will automatically navigate between inline menus.
Expanding on this concept allows for endless combinations of navigable submenus, settings and dynamic pages.

Database

Telegram does not host an update database for you – once you process and consume an update, it will no longer be available. This means that features like user lists, message lists, current user inline menu, settings, etc. have to be implemented and maintained by bot developers.

If your bot needs one of these features and you want to get started on data persistence, we recommend that you look into serialization practices and libraries for your language of choice, as well as available databases.

Implementing a database is out of scope for this guide, however, several guides are available online for simple embedded open source software solutions like SQLite, HyperSQL, Derby and many more.

Your language of choice will also influence which databases are available and supported – the list above assumes you followed this Java tutorial.

Hosting

So far, your bot has been running on your local machine – your PC. While this may be good for developing, testing and debugging, it is not ideal for a production environment.
You’ll want your bot to be available and responsive at all times, but your computer might not always be online.

This can be done in four steps:

  • Package your code
    Making your bot easy to move and runnable outside of an IDE is essential to host it elsewhere.
    If you followed this tutorial, this standard guide will work for you. If you didn’t, look into export or packaging guides for your IDE and language of choice – procedures may vary but the end result is the same.

  • Purchase a VPS or equivalent service
    A server is essentially a machine that is always online and running, without you having to worry about anything. To host your bot, you can opt for a VPS which serves this purpose and can be rented from several different providers.
    Another option would be to purchase a network-capable microcontroller, which come in all different specs and sizes depending on your needs.

You should ensure that all user data remains heavily encrypted at all times in your database to guarantee the privacy of your users. The same concept applies to your local instance, however, this becomes especially important once you transfer your database to a remote server.

  • Upload your executable/package

Once you have a working ssh connection between your machine and your new server, you should upload your executable and all associated files.
We will assume the runnable jar TutorialBot.jar and its database dbase.db are currently in the /TBot folder.

$ scp -r /TBot/ username@server_ip:/bots/TBotRemote/
  • Run your application

Depending on which language you chose, you might have to configure your server environment differently. If you chose Java, you just need to install a compatible JDK.

$ apt install openjdk-17-jre
$ java -version

If you did everything correctly, you should see a Java version as the output, along with a few other values. This means you’re ready to run your application.

Now, to run the executable:

$ cd /bots/TBotRemote/
$ java -jar TutorialBot.jar

Your bot is now online and users can interact with it at any time.

To streamline and modularize this process, you could employ a specialized docker container or equivalent service.
If you followed along in one of the equivalent examples (C#, Python, Go and TypeScript) you can find a detailed set of instructions to export and run your code here.

Further Reading

If you got this far, you might be interested in these additional guides and docs:

  • General Bot Platform Overview
  • Detailed List of Bot Features
  • Full API Reference

If you encounter any issues while following this guide, you can contact us on Telegram at @BotSupport.

Время чтения: 3 минуты Прочту позже

BotFather – самый простой способ для регистрации, настройки и управления другими telegram-ботами. Работа с ним проста и не требует специфических навыков. С помощью BotFather можно зарегистрировать неограниченное количество новых ботов. Единственным условием для регистрации нового бота – является его уникальный username.

Команды BotFather бота

BotFather станет отличным решением
для тех, кто не разбирается в программировании и не хочет доверять создание и
управление своим ботом посторонним людям или сторонним организациям.

Как зарегистрировать нового
бота с помощью BotFather?

Взаимодействие
с BotFather осуществляется при помощи простых команд. Например, для того, чтобы
зарегистрировать нового бота, достаточно отправить в чат команду /newbot и следовать простым инструкциям:

  1. Придумать
    имя бота
    , которое будет отображаться в чатах и
    контактах. В дальнейшем его можно будет сменить. Тут все зависит только от
    вашей фантазии и требований;
  2. Придумать
    username
    – это уже сложнее: имя должно быть
    уникальным и оканчиваться на «bot». Допускаются буквы латинского алфавита,
    цифры и символ подчеркивания (пример – «MySuper_wow_bot»). Общее количество символов не менее 5 и не
    более 32;
  3. Если все в порядке, то в ответ мы получим сообщение с токеном. Токен
    необходим для работы с Bot API посредством http-протокола. Нельзя
    передавать его другим и желательно не терять. Хорошим решением будет
    скопировать его: сохранить в текстовый файл и положить в надежное, всегда
    доступное место – например, облачное хранилище.

После регистрации можно приступать к облагораживанию бота: установить аватар, добавить описание и прочее.

Получение сообщения с токеном

Что умеет BotFather?

Помимо
регистрации бота, с помощью BotFather можно осуществлять его настройку и
управление.

Внешний вид

К примеру, если вдруг вам разонравилось имя бота, то его можно сменить командой /setname.

Смена имени бота

Установить
аватарку можно командой /setuserpic, а изменить или добавить краткое
описание – командой /setdescription. Изменение информации в профиле
выполняется командой /setabouttext. На этом кастомизацию внешнего вида бота
можно считать законченной, и можно заняться его функциональными возможностями.

Функционал

Это
то, ради чего все и затевалось. Картинка и описание – это, конечно тоже важно,
но все же, главное в боте – это его возможности. Возможности зависят от набора
команд, которые способен обработать бот.

Для установки списка команд введите /setcommands в окне чата.

Установка команд

Команды
вводятся без слеша, в формате «command1 — описание команды»

Вот примеры
написания основных команд и их расшифровка:

  • /newbot – зарегистрировать нового бота
  • /mybots – редактировать своих ботов [бета]

Редактирование

  • /setname – изменить имя бота;
  • /setdescription – изменить описание бота;
  • /setabouttext – изменить информацию о боте;
  • /setuserpic – изменить фотографию профиля бота;
  • /setcommands – изменить список команд;
  • /deletebot – удалить бота.

Настройки
бота

  • /token – генерировать токен авторизации;
  • /revoke – отозвать токен доступа к боту;
  • /setinline – включить встроенный режим (позволяет обращаться напрямую к боту из любого канала, группы или чата, написав его имя в поле отправки сообщений) (https://core.telegram.org/bots/inline);
  • /setinlinegeo – переключать запросы местоположения при использовании бота во встроенном режиме. (https://core.telegram.org/bots/inline#location-based-results);
  • /setinlinefeedback – изменить настройки обратной связи (сбор статистики наиболее часто отправляемых боту команд) (https://core.telegram.org/bots/inline#collecting-feedback);
  • /setjoingroups – определяет возможность добавления вашего бота в группы;
  • /setprivacy – переключить режим конфиденциальности в группах (https://core.telegram.org/bots#privacy-mode).

Игры

  • /mygames – редактируйте свои игры (https://core.telegram.org/bots/games) [бета];
  • /newgame – создать новую игру (https://core.telegram.org/bots/games);
  • /listgames – получить список ваших игр;
  • /editgame – редактировать игру;
  • /deletegame – удалить существующую игру.

Созданная первая команда бота

Таким образом
можно добавить любые необходимые команды и завершить настройку.

Итоги

Вот так просто, не обладая навыками программирования, можно за несколько минут зарегистрировать полноценного бота в Telegram. А если потратить немного времени на оформление и создание специализированных команд, ты вы получите полностью индивидуального собственного бота, функционал и возможности которого будут зависеть только от вас.

23 915

BotFather – «бот над всеми ботами» в Телеграмме. БотФазер представляет собой интерфейс доступа к API (Application Programming Interface) мессенджера Telegram. С помощью BotFather вы можете создавать ботов и управлять существующими.

Что такое бот в Телеграмме и чем отличается от обычного пользователя?

Основные характеристики:

  1. Для создания бота не нужен номер телефона (с декабря 2022 Телеграмм убрал это требование и для обычных юзеров).
  2. Нет статуса «онлайн» или «последний визит». Вместо этого прописывается «бот».
  3. Bot не может сам начать общение с пользователем. Но юзеры могут вызвать его в чате.
  4. Имя пользователя должно заканчиваться на «bot».
  5. У ботов в Телеграмме ограниченное облачное хранилище (cloud storage), поэтому старые сообщения удаляются после их обработки.

В официальной документации Телеграмма указано, что пользователи и разработчики создали более 10 млн ботов.

Варианты использования разные: интеграция с другими сервисами (1С, умный дом, сайт), перевод текстов, напоминания, опросы, отображение погоды, расчет курсов валют и многое другое.

Как создать бота для Телеграма через BotFather: инструкция и пошаговые действия

Чтобы сделать бота в Telegram без кода и навыков программирования, необходимо:

Зайти в аккаунт и указать в поиске BotFather. Нас интересует именно официальный @BotFather с синей галочкой верификации.

Находим аккаунт BotFather

Находим аккаунт BotFather

В диалоговом окне указываем команду /start, чтобы запустить сервис. Система показывает доступные команды (редактирование бота, настройки, игры). Вписываем /newbot, чтобы запустить процесс создания.

Система просит указать название (к примеру, в нашем случае ChatLabs_bot). После этого необходимо вписать username – BotFather сразу предупреждает, что юзернейм бота должен заканчиваться на слово bot. Вписываем ChatLabs_bot.

В случае успеха видим сообщение о том, что наш бот для Телеграмма создан и готов к работе.

Регистрируем юзернейм бота

Регистрируем юзернейм бота

На этом этапе вы получаете токен для доступа к HTTP API Telegram. Не передавайте token третьим лицам.

Все! Вы создали бота для Телеграма при помощи БотФазера. В информационном сообщении найдете ссылку на него (в нашем примере это t.me/ChatLabs_bot).

Если перейти по урлу, увидите бота.

Получаем ссылку на нашего бота

Получаем ссылку на нашего бота

Чтобы начать работу с ним, нажмите «Старт».

Создать бота в Телеграме самостоятельно и без навыков программирования можно. Но если вы хотите добавить кастомные функции (вывод погоды, показ курса валют, близлежащих заведений и так далее), то необходимо написать код. К примеру, мы в ChatLabs используем Python и реализуем для заказчиков проекты любой сложности.

Создавали бота доставки еды (интеграция с iiko, прием оплат, уведомление пользователя о статусе заказа), бота для дилера напольных покрытий (добавление партнеров через 1С, просмотр остатков на складе, поиск аналогов, работа с корзиной), чат-бота для службы такси (заказ авто на определенное время, заявки на работу для водителей и другие). Предлагаем посмотреть примеры решений для интернет-магазина, образовательной компании, магазина бьюти-товаров.

Чтобы посмотреть список ваших ботов, просто задайте команду /mybots. В диалоговом окне увидите названия.

Выбираем бота из списка

Выбираем бота из списка

Команды BotFather: редактирование и удаление ботов в 2023 году в 1 клик

Выше мы уже разобрали 2 основные команды БотФазера:

  • /newbot – создание нового бота;
  • /mybots [beta] – получение списка существующих.

Редактирование ботов осуществляется командами:

  1. /setname – выбрать имя (или изменить его). Это то, что будет отображаться в диалоговом окне.
  2. /setabouttext – добавить приветствие. Это тот текст, который будет видеть пользователь до того, как нажмет на «START» для запуска.
  3. /setdescription – указать описание (если нужно). Дескрипшен будет виден в профиле. Как правило, в описании перечисляют, как работает бот, для чего создан, какие правила.
  4. /setuserpic – установить фото / аватар. Обратите внимание, что есть 2 вида: ботпикча и дескрипшен-пикча. Первый используется как аватар. Второй появляется в блоке What can this bot do. В качестве дескрипшен-фото принимаются и GIF (требования к разрешению фото – 640×360, ограничения по гифкам – 320×180, 640×360 or 960×540).
  5. /setcommands – установить список команд, которые будут доступны для использования. Система просит прописать их в формате «command1 — Description» (т.е. «команда – описание»). На практике это выглядит как Buy – купить, Order – заказать.
  6. /deletebot – удалить бота. Сделать это в 1 клик не получится. Система получает команду, затем просит вас еще раз подтвердить действие. Только после этого удаляет.

Управление настройками осуществляется при помощи команд BotFather. Интерфейс интуитивно понятный.

Команды BotFather

Команды BotFather

Настройки BotFather: токен, платежи, управление группами, передача прав и другие

Во вкладке Bot Settings представлены основные настройки, которые предоставляет @BotFather.

Основные настройки BotFather

Основные настройки BotFather

Вы можете задать команду /mybots, выбрать нужного и использовать кнопки управления.

Кнопки управления ботом

Кнопки управления ботом

API token в Телеграм от BotFather: как получить и сгенерировать новый

Чтобы увидеть токен для доступа к API Telegram, кликаем на «API token». Система автоматически покажет уникальную комбинацию из букв, цифр, знаков препинания.

Если старый токен попал в руки мошенников или был утерян, используйте команду «Revoke current token».

Bot Settings в Telegram от BotFather: добавление в группы, права админа, privacy mode и другие

Дополнительные настройки чат-бота

Дополнительные настройки чат-бота

В каждой из вкладок находятся дополнительные настройки.

  1. «Allow Groups?» – можно или нельзя добавлять бота в группы.
  2. «Group Privacy» – активирует или деактивирует режим конфиденциальности «Privacy mode».
  3. «Group Admin Rights» – какие права у администратора (добавлять новых администраторов, приглашать новых пользователей, удалять сообщения, банить / разбанить юзеров, управлять голосовыми, а также другие).
  4. «Channel Admin Rights» – аналогично предыдущему, но касается прав администратора канала.
  5. «Domain» – привязать веб-сайт, чтобы использовать виджет входа в Telegram.
  6. «Payment» – список доступных платежных систем для вашего бота (Юкасса, Сбербанк, PayMega, CasCad, iPay88, Робокасса и другие). Доступно более 15 методов проведения платежей для 200+ стран мира.

Чтобы передать Телеграмм-бота другому лицу, используйте «Transfer ownership». В новом окне необходимо будет указать логин рецепиента – того, кому передаете бота.

Подключение платежных систем в Телеграмм бота

Подключение платежных систем в Телеграмм бота

Что такое Inline mode (инлайн мод) в ботах Телеграмм?

Режим встроенных запросов для взаимодействия с ботом.

Классический вариант – команды через кнопки или ввод /mybots и тому подобных.

Чтобы активировать опцию, задаем команду БотФазеру /setinline. Дальше указываем текст-заполнитель, который будет показываться в поле ввода после указания имени бота.

Inline mode в чат боте

Inline mode в чат боте

Инлайн-режим в Телеграмме позволяет вводить запрос через @, не отправляя никаких сообщений.

Inline mode в Telegram поддерживает 20+ типов контента, среди которых:

  • @gif – поиск по GIF;
  • @vid – поиск по видео;
  • @pic – картинки из Yandex;
  • @bing – изображения из Bing;
  • @wiki – поиск по Wikipedia;
  • @imdb – IMDB;
  • @bold – изменение стиля текста;
  • @youtube – работа с Ютюб (предлагает войти, а затем показывает персонализированные результаты);
  • @music – музыка;
  • @foursquare – найти и отправить адреса мест;
  • @sticker – стикеры, а также многие другие.

Вот как это выглядит в Телеграмме:

Добавление контента в Inline mode

Добавление контента в Inline mode

Как сделать игру в Телеграмм: кнопки BotFather и настройки развлечений

Настройки БотФазера позволяют создавать HTML5-игры, а затем предлагать их в группе или приватных чатах. Типичные примеры – викторины, шашки и шахматы, а также другие. Список команд BotFather, которые используются для создания, редактирования, просмотра и удаления игр.

Создание игр в Телеграмм

Создание игр в Телеграмм

Созданную игру можно отправлять как обычное сообщение или при помощи  инлайн-режима (с кнопкой для старта). Когда пользователь нажимает на запуск игры, бот получает callback с информацией о выбранном развлечении. Дальше система отвечает юзеру ссылкой. Игра открывается во встроенном браузере.

Теперь вы знаете основные кнопки BotFather и настройки для управления ботами. Чтобы наш ChatLabs_bot заработал полноценно, необходимо взаимодействовать с Telegram Bot API и писать код.

Количество Телеграм ботов в 2022 году стремительно растет. Некоторые из них помогают бизнесам автоматизировать процесс продаж, другие умеют находить сайты в интернете по ключевым запросам, а третьи модерируют групповые чаты.

Это статья расскажет: как создать бота в телеграмме BotFather, расскажет о BotFather инструкциях на русском, командах и их применении.

Содержание статьи:

  • 1 Что такое БотФазер
  • 2 Как зарегистрировать нового бота с помощью BotFather
    • 2.1 Удаление
  • 3 Все функции БотФазер (список команд с пояснением)
    • 3.1 Основное
    • 3.2 Редактирование
    • 3.3 Настройки
    • 3.4 Игры
  • 4 Заключение

Что такое БотФазер

BotFather — это главный сервис в Телеграме, через который происходит регистрация всех пользовательских ботов. На любой аккаунт можно зарегистрировать неограниченное количество ботов, единственное условие — это уникальный юзернейм с приставкой «bot», например, «@MyFirstbot» или «@MyFirst_bot».

сервис botfather в телеграм

Механика очень проста — все можно сделать напрямую в BotFather. Использовать можно как смартфон, например, на базе Андроид, так и десктопную версию мессенджера, даже браузерная подойдет.

Как зарегистрировать нового бота с помощью BotFather

Как уже говорилось, регистрация происходит через главный сервис, который можно найти в обычной строке поиска Телеграма — «BotFather». Стоит обратить внимание на галочку, у официального сервиса она должна быть. Попробуем через BotFather создать бота — это абсолютно бесплатно.

Пошаговая инструкция:

  1. открыть приложение Telegram на любом устройстве;
  2. в строку поиска ввести @BotFather;
  3. нажать на первый результат;
  4. запустить сервис при помощи кнопки «START»;
  5. в появившемся списке выбрать команду «/newbot»;
  6. ввести название — это имя, которое будет отображаться сверху;
  7. указать юзернейм — он должен состоять исключительно из английских букв и цифр, а также включать в название приставку «bot» в самом конце.

создание бота в botfather

На этом процесс регистрации завершен, осталось сохранить полученный token для взаимодействия с HTTP API по вебхук-ссылке. При помощи него будет осуществляться отправка и получение сообщений.

Для регистрации бота не потребуются навыки программирования, но полноценно функционировать он не будет. Чтобы добавить кастомные функции, например, вывод прогноза погоды, потребуется написать код на языке программирования. Наиболее популярным для разработки является Python — у него множество библиотек и несложный синтаксис.

Еще можно пользоваться специальными конструкторами, но они серьезно ограничены в возможностях.

Удаление

Иногда может возникнуть необходимость удалять ботов. Сделать это можно через тот же сервис, где происходит создание. Пошаговая «BotFather» инструкция для удаления:

  1. открыть «@BotFather»;
  2. ввести команду «/deletebot»;
  3. выбрать из появившегося списка необходимый объект;
  4. подтвердить удаление путем ввода подтверждающей фразы.

удаление бота в botfather

Все функции БотФазер (список команд с пояснением)

Помимо обычного создания бота, при помощи сервиса можно проводить его настройку, например, устанавливать аватар и описание. Разберем основной функционал «BotFather» на русском языке.

Основное

Эти команды запускают стадии создания нового и редактирование существующих ботов.

  • «/newbot» — создает нового.
  • «/mybots» — позволяет увидеть список существующих и управлять настройками.

Последняя команда вызовет список всех доступных ботов, которых можно редактировать. Там можно найти следующие возможности.

  • API Token — покажет действующий токен.
  • Редактирование — изменение всех основных настроек, например, названия или аватарки.
  • Настройки — дополнительные настройки, например, возможность работы в группах.
  • Оплата — здесь можно настроить способы оплаты, если бот работает на платной основе. Например, можно подключить ЮKassa, Сбербанк или платежную систему PayMaster.
  • Передать права — с помощью этой функции можно передать бота другому Телеграмм пользователю.

редактирование бота в телеграм

Большинство функций можно вызвать из глобального меню, поэтому они могут повторяться в блоках ниже.

Редактирование

В этом блоке происходит основная настройка бота в Телеграме через BotFather. Команды срабатывают, если предварительно выбрать объект при помощи команды «/mybots».

  • «/setname» — устанавливает имя. Оно будет отображаться сверху.
  • «/setdescription» — устанавливает описание. Его можно найти в профиле.
  • «/setabouttext» — устанавливает текст, который пользователь видит до нажатия на кнопку «START».
  • «/setuserpic» — устанавливает аватар. Отправлять файл необходимо в качестве обычной сжатой картинки любого формата.
  • «/setcommands» — устанавливает доступные для использования команды. Добавлять их необходимо в следующем формате:
  1. buy — Купить
  2. shop — Открыть магазин
  3. pay — Способы оплаты

То есть сначала идет команда, а потом название, которое будет отображаться в меню бота. Однако, если их не указать в «BotFather» Telegram, они все равно будут работать, но пользователь не сможет узнать об их существовании.

  • «/deletebot» — позволяет удалить бота. Для удаления потребуется подтвердить серьезность намерений вводом ключевой фразы. Она будет отправлена в ответ после ввода команды.

команда удаления бота в botfather

Эти команды будут вызывать список ботов, если его предварительно не выбрать в соответствующем меню.

Настройки

Этот блок позволяет настраивать основные параметры бота. Например, можно сгенерировать новый токен, если он был утрачен или попал в руки злоумышленников.

  • «/token» — отображает актуальный токен.
  • «/revoke» — генерирует новый токен. Следует аккуратно относиться к этой команде, поскольку она мгновенно генерируется новый. То есть не требует дополнительных подтверждений.
  • «/setinline» — этот параметр позволит работать боту в групповых чатах, если он включен. Например, это можно использовать, если необходимо создать робота, который будет отслеживать нецензурные выражения и автоматически блокировать пользователей на некоторое время.
  • «/setonlinegeo» — если активировать этот параметр, то робот будет запрашивать разрешение на использование геолокации в групповых чатах.
  • «/setinlinefeedback» — устанавливает возможность отслеживания статистики наиболее используемых команд из списка «Menu».
  • «/setjoingroups» — включает или отключает возможность добавлять бота в групповые чаты и каналы;
  • «/setprivacy» — определяет приватность сообщений для бота. Если параметр выключен, то он будет видеть все отправляемые сообщения.

Все inline настройки не будут работать, если параметр «/setinline» выключен.

Игры

В ТГ можно создавать полноценные игры, поэтому рассмотрим соответствующий блок. BotFather инструкция на русском для игр:

  • «/mygames» — здесь можно найти и редактировать существующие игры;
  • «/newgame» — создание новой игры;
  • «/listgames» — выводит список существующих игр;
  • «/editgame» — отвечает за редактирование конкретной игры;
  • «/deletegame» — здесь можно удалить игру.

создание игры в боте телеграм

Этот блок находится на бета-тестировании, поэтому некоторые функции могут работать нестабильно.

Заключение

Создать полноценный Телеграм бот только на БотФазер не получится, поскольку данный сервис выступает лишь в качестве регистратора и настройщика.

Получить необходимые знания программирования для полноценной разработки можно из курсов на русском языке, которые можно скачать в свободном доступе в интернете.

Комментарии (0)

Заполните форму и мы Вам напишем

Спасибо! Скоро мы с Вами свяжемся.

Ошибка. Попробуйте позже.

Администрация сайта https://lessondelivery.com постоянно заботится об обеспечении стандартов охраны, использования и обработки Ваших персональных данных, о защите их конфиденциальности.

С целью максимального обеспечения Ваших прав и сохранения персональных данных была разработана нижеприведённая Политика конфиденциальности, которой мы уведомляем Вас о том, каким образом будут использоваться любые Персональные данные, предоставленные Вами, или собранные от Вас.

Мы будем собирать, хранить, использовать и раскрывать персональные данные в соответствии с действующим национальным законодательством Украины, международно-правовыми актами, которые регулируют защиту персональных данных.

Пожалуйста, внимательно прочтите нашу Политику конфиденциальности (обработки персональных данных). В случае, если Вы не согласны с её положениями, пользование сайтом https://lessondelivery.com (далее по тексту – Сайт) должно быть прекращено. Если Вы продолжаете использовать Сайт, то Вы приняли все условия и положения нижеизложенной Политики конфиденциальности (обработки персональных данных).

Политика конфиденциальности (обработки персональных данных)

1. Ответственное лицо за сбор, обработку и хранение персональных данных.

1.1. Администрация сайта гарантирует сбор, обработку и хранение Ваших персональных данных в соответствии с требованиями действующего законодательства Украины и международно-правовых актов.

1.2. Обеспечение безопасности персональных данных является обязательной и неотъемлемой частью деятельности LessonDelivery.

1.3. Если у Вас возникли вопросы, предложения и/или замечания касательно защиты персональных данных, обратитесь с соответствующим письмом по адресу электронной почты lessondelivery.com@gmail.com. или отправьте письмо почтой по адресу: 51600, Украина, г. Верхнеднепровск, ул. Гагарина, 29/90.

2. Персональные данные, которые LessonDelivery собирает, обрабатывает и хранит.

2.1. «Персональные данные» – любая информация, касающаяся идентифицированного физического лица. Такое лицо может быть идентифицировано прямо или косвенно, в частности, путем ссылки на идентификатор, такой как имя, фамилия, IP-адрес, а также один или более других факторов, характерных для физической, физиологической, генетической, психической, экономической, культурной или социальной идентичности этого физического лица.

2.2. LessonDelivery может получать и использовать следующие данные:

2.2.1. Информация об устройстве (компьютер, планшет, смартфон) и деятельности пользователя, к которой относятся: 

− Параметры и настройки: часовой пояс, язык и размер символа. 

− Техническая информация: тип устройства, название и версия операционной системы, производитель устройства, информация о браузере (тип, версия), разрешение экрана. 

− Грубая географическая информация: географическое положение (данные о местонахождении), полученное с IP-адреса.

2.2.2. Данные трафика, включающие следующие компоненты: 

− Информация об использовании Сайта: временная метка, URL посещаемой страницы, URL последней посещенной страницы перед посещением Сайта и его страниц, Файлы Сookies. 

− История взаимодействия с Сайтом и его страницами: просмотренные страницы; время, проведенное на странице; переход по клику; данные по потоковому каналу; осуществленные запросы; история поиска; выбранные результаты поиска; сделанные замечания, тип запрашиваемой услуги.

2.2.3. Персональные данные, которые собираются на основании заполнения пользователем форм/анкет Сайта, либо путем подачи запроса, ведения переписки, заключения договоров и вследствие другого индивидуализированного взаимодействия пользователя с LessonDelivery и физическим лицом-предпринимателем Лапенко Е. В. 

В зависимости от обстоятельств информация может включать: 

− Любую переписку, которая создается на основании Вашего обращения в LessonDelivery и к физическому лицу-предпринимателю Лапенко Е. В.

− Фамилию имя отчество. 

− Контактный номер телефона. 

− Адрес электронной почты (e-mail). 

− Информацию об используемом браузере. 

− IP-адрес.

− Другие данные, необходимые для выполнения LessonDelivery и физическим лицом-предпринимателем Лапенко Е. В. обязательств, предусмотренных договорными правоотношениями и требованиями действующего законодательства.

2.3. Передача данных и сообщений по электронной почте через Интернет, как правило, не зашифрована, и поэтому она не защищена от доступа третьих лиц. Когда вы обращаетесь к LessonDelivery и физическому лицу-предпринимателю Лапенко Е. В. по электронной почте, конфиденциальность предоставленной информации не может быть гарантирована во время её передачи. Поэтому, мы рекомендуем направлять конфиденциальную информацию исключительно каналами почтовой связи.

2.4. LessonDelivery и физическое лицо-предпринимателю Лапенко Е. В. имеет право использовать адрес электронной почты и контактный номер телефона для направления рекламной информации об услугах LessonDelivery. Пользователь может в любой момент отказаться от такой рассылки в порядке, предусмотренном п. 4.1.6. данной Политики конфиденциальности.

2.5. Сайте применяется анонимность IP-адресов Google Analytics. Данная функция была разработана Google с целью соответствия сайта правилам и требованиям конфиденциальности, в частности с целью обеспечения хранения исключительно фрагмента IP-адреса.

Такая анонимизация или маскировка IP-адреса происходит с момента поступления IP-адреса в сеть сбора данных Google Analytics и осуществляется до тех пор, пока данные не будут сохранены или обработаны.

С более подробной информацией об анонимности IP-адреса Вы можете ознакомиться по ссылке: https://support.google.com/analytics/answer/2763052?hl=ru.

3. Цели обработки Персональных данных.

3.1. Персональную информацию пользователей LessonDelivery обрабатывает со следующей целью:

3.1.1. Идентификации пользователя на Сайте.

3.1.2. Установления и поддержания связи между пользователем и LessonDelivery, консультирования по вопросам предоставления услуг.

3.1.3. Выполнения LessonDelivery и физическим лицом-предпринимателем Лапенко Е. В. обязательств, предусмотренных соглашениями, заключенными между пользователем и ФЛП Лапенко Е. В.

3.1.4. Направления пользователю сообщений рекламного характера; таргетирования рекламных материалов.

3.1.5. Проведения статистических и иных исследований на основе обезличенных данных. 

3.1.6. Оптимизации маркетинговых решений LessonDelivery.

3.1.7. Анализа качества Сайта и его отдельных текстовых, графических и функциональных элементов.

4. Права пользователей Сайта. 

4.1. К правам пользователей Сайта принадлежат следующие:

4.1.1. Запрашивать информацию о том, какие данные хранятся о Вас в порядке, предусмотренном действующим законодательством Украины.

4.1.2. Требовать исправления, удаления и ограничения обработки (блокировки) Ваших персональных данных, если это является юридически допустимым и возможным в рамках существующих договорных правоотношений и технических возможностей LessonDelivery и физического лица-предпринимателя Лапенко Е. В.

4.1.3. Обратиться в порядке, предусмотренном п. 1.3 данной Политики конфиденциальности и действующим законодательством, к назначенному лицу по защите персональных данных – Лапенко Е. В.

4.1.4. Передавать персональные данные на основании выраженного согласия или договорных правоотношений с физическим лицом-предпринимателем Лапенко Е. В. в порядке, предусмотренном разделом 6 настоящей Политики конфиденциальности.

4.1.5. Отменить и отозвать согласие на обработку персональных данных в любое время. Отзыв согласия не влияет на законность обработки путем предоставления согласия до его отмены.

4.1.6. Отказаться от рекламной рассылки путем направления письма в произвольной форме на адрес, указанный в п. 4.2. данной Политики конфиденциальности, или путем использования процедуры отказа от рассылки, указанной в конце рекламного письма.

4.2. Для того, чтобы воспользоваться своими правами, отправьте письмо по адресу электронной почты lessondelivery.com@gmail.com или отправьте письмо почтой по адресу: 51600, Украина, г. Верхнеднепровск, ул. Гагарина, 29/90.

5. Гарантии и ответственность пользователей Сайта. 

5.1. Вы заявляете и гарантируете, что имеете право передавать персональные данные LessonDelivery и физическому лицу-предпринимателю Лапенко Е. В. с целью получения услуг; и что Вы несете полную ответственность за получение всех необходимых разрешений от третьих лиц до передачи их персональных данных

5.2. Вы не можете предоставлять LessonDelivery и физическому лицу-предпринимателю Лапенко Е. В. любые персональные данные или иную информацию, содержащую личные данные третьих лиц, пока Вы не получите от них необходимого согласия или разрешения на такие действия.

5.3. Вы несете персональную ответственность за то, чтобы все третьи лица, до предоставления согласия или разрешения на использование Вами их персональных данных, были ознакомлены и приняли условия данной политики.

5.4. Вы соглашаетесь возместить LessonDelivery и физическому лицу-предпринимателю Лапенко Е. В. разумные расходы, связанные с урегулированием любых претензий, которые будут предъявлены третьими лицами в связи с несанкционированным доступом, случайной утратой, повреждением или раскрытием персональных данных этих лиц, в случае если такие претензии будут связаны с совершением Вами действий, нарушающих положения данной Политики конфиденциальности и норм действующего законодательства Украины.

6. Порядок раскрытия персональных данных третьим лицам.

6.1. Ваши данные могут быть переданы третьим лицам исключительно при наличии предоставленного Вами согласия, либо при наличии правовых оснований, предусмотренных действующим законодательством Украины.

6.2. LessonDelivery и физическое лицо-предприниматель Лапенко Е. В. могут передавать третьим лицам обезличенные статистические данные для проведения исследований, выполнения работ или оказания услуг по поручению LessonDelivery и физического лица-предпринимателя Лапенко Е. В.

6.3. Внешние поставщики услуг, которые обрабатывают данные для LessonDelivery и физического лица-предпринимателя Лапенко Е. В., тщательно подбираются нами и действуют в соответствии с нормами действующего законодательства и наших инструкций, которые обеспечиваются строгими контрактными правилами, техническими и организационными мерами и дополнительным контролем.

6.4. Трансграничная передача персональных данных не производится при отсутствии надлежащих гарантий их сохранности.

7. Использование Cookies.

7.1. На Сайте используются Cookies. «Cookies» – это небольшие текстовые файлы в которых можно хранить персональные данные.

7.2. Оповещение о защите персональных данных размещено на Сайте с целью обеспечить полную информацию об их сборе и обработке, предоставить Вам возможность принять обоснованное решение о целесообразности отключения файлов Cookies, если только они или их использование не являются абсолютно необходимыми для технического функционирования Сайта.

7.3. Мы информируем Вас о типе и объеме использования Cookies на Сайте, функционирование которого обычно является возможным без использования таких файлов, за исключением, когда они не используются для функциональных технических целей.

7.4. Вы можете запретить отслеживание файлов Cookies, изменив настройки браузера или предотвращая сохранение файлов Cookies третьими сторонами. 

Ниже приведены ссылки на процедуру отключения файлов Cookies в наиболее распространенных и используемых браузерах:

7.5. Сайтом используются файлы Cookies, которые собираются с момента Вашего посещения Сайта и хранятся до завершения предусмотренного срока их хранения.

Такие файлы Сookies можно условно разделить на следующие категории:

Необходимые (обязательные) файлы Сookies – обеспечивают удобство пользования Сайтом, позволяя реализовать основные функции, такие как: хранение сессии, предпочтительный язык, настройки пользователя. Сайт не может нормально функционировать без данных файлов Сookies, поэтому их отключение невозможно.

Статистические Сookies – предоставляют возможность определить порядок взаимодействия пользователей с Сайтом путем сбора и обработки обезличенных данных. К статистическим относятся также Сookies Google Analytics, Metrika Yandex.

Маркетинговые Сookies – используются для отслеживания перемещения пользователей по сайтам. Целью таких действий является показ рекламных объявлений, которые актуализированы под конкретных пользователей (целевую аудиторию), что, в свою очередь, увеличивает ценность собранной информации для издателей и сторонних рекламодателей. К маркетинговым относятся также Сookies Facebook Pixel.

7.6. Для сбора, обработки и хранения персональных данных используются сервисы Google Analytics, Facebook Pixel, Metrika Yandex.

7.7. Для формирования целостного представления о сборе, использовании и обработке Ваших персональных данных указанными в п. 7.7. сервисами рекомендуем посетить следующие ссылки:

8. Сроки и порядок хранения персональных данных. 

8.1. Мы принимаем все необходимые, доступные, возможные и достаточные меры для защиты персональных данных от неправомерного либо случайного доступа, уничтожения, искажения, блокирования, копирования, распространения, а также от иных неправомерных действий, осуществленных с ними третьими лицами. Хранение персональных данных обеспечивается максимальной защитой.

8.1.1. Мы храним персональные данные на серверах Beget и в базе данных физического лица-предпринимателя Лапенко Е. В. С целью ознакомления с порядком хранения персональных данных на серверах Beget рекомендуем посетить следующую ссылку: https://beget.com/ru/documents.

8.2. Собранные персональные данные хранятся до тех пор, пока это необходимо для выполнения цели, для которой они были собраны, либо если определенный срок хранения предусмотрен действующим законодательством.

8.2.1. Мы храним Ваши персональные данные в рамках договорных отношений до полного прекращения действия договора и истечения трехлетнего срока, предусмотренного действующим законодательством для хранения данного вида документов.

8.2.2. Все иные предоставленные Вами персональные данные будут удалены в сроки, предусмотренные действующим законодательством, как только они больше не будут использоваться в целях, для которых они были собраны.

8.2.3. Ваши персональные данные будут удалены сразу же после того как будет установлено, что их не разрешается хранить (в частности, если данные неточны, а исправление их невозможно). В случае наличия юридических либо практических препятствий данные будут заблокированы (например, специальные обязательства по архивированию).

8.2.4. Уничтожение персональных данных осуществляется также при наличии оснований, закрепленных в статье 15 Закона Украины «О защите персональных данных».

9. Иные положения.

9.1. Все возможные споры между пользователями и физическим лицом-предпринимателем Лапенко Е. В. подлежат разрешению в соответствии с требованиями действующего законодательства Украины.

9.2. В случае возникновения каких-либо разногласий или споров между пользователями и физическим лицом-предпринимателем Лапенко Е. В., они должны быть решены с применением обязательного досудебного претензионного порядка, предусмотренного действующим законодательством Украины.

9.3. В случае признания одного или нескольких положений Политики конфиденциальности недействительными, или не имеющими юридической силы, другие положения Политики конфиденциальности не теряют своей действительности и применимости.

9.4. Мы постоянно адаптируем Политику конфиденциальности к измененным функциональным возможностям Сайта, обновлениям действующего законодательства Украины и международно-правовых актов. 

Изменения в Политику конфиденциальности вносятся нами без предварительного согласования с пользователями Сайта и вступают в силу с момента опубликования на Сайте.

9.5. Соглашаясь с положениями вышеизложенной Политики конфиденциальности, Вы обязуетесь самостоятельно следить за её обновлениями.

Договір публічної оферти

про надання платних послуг

Цей документ, розміщений в мережі Інтернет за адресою https://lessondelivery.com/, є пропозицією фізичної особи-підприємця Лапенко О. В. (далі за текстом – Виконавець), зареєстрованого та діючого на підставі законодавства України, укласти Договір на надання платних послуг (далі за текстом – Договір) з будь-якою зацікавленою в отриманні таких послуг фізичною або юридичною особою, фізичною особою-підприємцем (далі за текстом – Клієнт).

Цей документ є публічною офертою відповідно до статей 633, 641 Цивільного кодексу України.

Належним акцептом цієї Оферти відповідно до норм чинного законодавства України вважається здійснення Клієнтом:

1. Заповнення форми на надання послуги.

2. Ознайомлення з умовами Договору публічної оферти про надання платних послуг.

3. Ознайомлення із Політикою конфіденційності (обробки персональних даних) Сайту.

4. Вираження згоди на отримання послуг на умовах Договору та інших документів, розміщених на Сайті, наданої Клієнтом, шляхом проставлення галочки в чек-боксі «Приймаю Договір публічної оферти й надаю згоду на обробку моїх персональних даних» та подальшого натискання кнопки «Надіслати».

5. Датою укладення Договору про надання платних послуг є дата проставлення Клієнтом галочки в чек-боксі «Приймаю Договір публічної оферти й надаю згоду на обробку моїх персональних даних» та подальшого натискання кнопки «Надіслати».

6. Оплати обраної послуги.

1. Терміни та визначення

1.1. Для цілей цієї Оферти на надання платних послуг (далі по тексту – Оферта) нижченаведені терміни мають таке значення:

«Сайт» – Інтернет-ресурс, розташований в мережі Інтернет за адресою: https://lessondelivery.com/, який є офіційним джерелом інформування Клієнтів про Виконавця та послуги, які їм надаються.

«Оферта» – пропозиція Виконавця, адресована будь-якій фізичній особі або суб’єкту господарювання, укласти з ним договір на тих же істотних умовах, що містяться в цій Оферті, включаючи всі її додатки і доповнення;

«Послуги» – перелік спеціалізованих послуг у сфері адміністрування навчальних курсів у рамках дистанційної освіти, консультування з питань інформатизації та користування програмним забезпеченням, що надаються Виконавцем в порядку і на умовах, визначених цим Договором.

«Виконавець» – фізична особа-підприємець Лапенко О. В., яка зареєстрована та діє відповідно до норм чинного законодавства України й надає платні Послуги.

«Клієнт» – фізична особа, яка досягла 18-ти річного віку, або суб’єкт господарювання, яка/який здійснила/в Акцепт Оферти Виконавця, викладеної в цьому Договорі, й сплатила/в вартість Послуг.

«Договір» – договір про надання Виконавцем Клієнту платних Послуг, укладений між Виконавцем і Клієнтом на умовах цієї Оферти в момент акцепту Клієнтом умов Оферти.

«Акцепт» – повне і беззастережне прийняття Клієнтом умов цієї Оферти, Політики конфіденційності (обробки персональних даних) Сайту, вчинене шляхом, заповнення форм і оплати Послуг.

2. Предмет Договору

2.1. Виконавець зобов’язується надати Клієнту Послуги в сфері адміністрування навчальних курсів у рамках дистанційної освіти, а саме організацію отримання Клієнтом Послуг, представлених на Сайті Виконавця на платній основі, відповідно до умов цього Договору, а Клієнт, у свою чергу, зобов’язується прийняти та здійснити оплату таких Послуг.

2.2. Клієнт зобов’язується оплатити Виконавцю вартість Послуги, вказану на Сайті на момент укладення Договору.

2.3. Клієнт отримує Послуги після внесення повної оплати за Послуги.

2.4. Сторони погоджуються, що Виконавець не надає жодних фінансових або інших гарантій щодо результатів використання Клієнтом наданих Виконавцем Послуг у своїй діяльності.

2.5. Жодні претензії, пов’язані із результативністю господарської діяльності Клієнта, після отримання останнім Послуг не можуть бути пред’явлені Виконавцеві.

Відповідальність за подальше використання результатів надання Послуг цілком і повністю покладається на Клієнта.

2.6. Послуга надається Виконавцем самостійно або за допомогою залучення третіх осіб відповідно до умов договірних правовідносин.

2.7. Надання Послуг проводиться з використанням дистанційних технологій на базі Messenger Telegram.

Для доступу до Послуг Виконавець створює для кожного Клієнта у рамках обраного ним окремого переліку Послуг умови для адміністрування навчальних курсів у рамках дистанційної освіти та для користування програмним забезпеченням.

2.8. Клієнт підтверджує та гарантує, що не буде намагатися отримати Послуги способами, що не відповідають умовам цього Договору, Політиці конфіденційності Сайту та такими, що суперечать чинному законодавству, а також не використовуватиме Послуги Виконавця для завдання будь-якого збитку Виконавцю й/або третім особам.

2.9. Виконавець має право відмовитися від подальшого надання Послуг, якщо Клієнт порушує положення цього Договору, норми чинного законодавства України та/або міжнародних нормативно-правових актів.

2.10. Клієнт може відмовитися від отримання Послуг Виконавця у будь-який час, шляхом відправки повідомлення на адресу електронної пошти lessondelivery.com@gmail.com.

Якщо Клієнт виражає намір відмовитися від Послуг Виконавця він є повідомленим про те, що у разі відмови Клієнта від Послуг, якщо це сталося не з вини Виконавця, кошти, сплачені за надання Послуг, Виконавцем не повертаються.

2.11. Використовуючи Послуги, Клієнт визнає і погоджується з тим, що весь вміст Сайту, структура його вмісту, програмне забезпечення й всі Послуги захищені авторським правом та правами на об’єкти інтелектуальної власності.

Клієнт погоджується з тим, що зазначені права є дійсними і охороняються у всіх формах, на всіх носіях і по відношенню до всіх технологій, як тих що існують зараз, так і розроблених або створених згодом.

2.12. За результатами отримання Послуг Виконавця до Клієнта не переходять жодні права на будь-який вміст Послуги, включаючи програмне забезпечення та інші об’єкти інтелектуальної власності.

Клієнту Послуги надаються виключно для цільового використання – адміністрування навчальних курсів у рамках дистанційної освіти та користування програмним забезпеченням. Передача у власність жодних об’єктів за цим Договором не передбачена.

2.13. Клієнту забороняється копіювати, модифікувати, змінювати, видаляти, доповнювати, публікувати, передавати об’єкти виняткових і особистих немайнових прав, створювати похідні роботи, виготовляти або продавати продукти на їх основі, відтворювати, відображати або будь-яким іншим чином експлуатувати або використовувати такі права, які містяться у Послугах без прямого дозволу їх власників і Виконавця.

3. Права та обов’язки Виконавця

3.1. Виконавець зобов’язується:

3.1.1. Надавати Клієнту Послуги в обсязі й на умовах укладеного Договору, відповідно до інформації, розміщеної на Сайті, а також норм чинного законодавства України.

3.1.2. Інформувати Клієнта про порядок надання Послуг, їх зміст, про права та обов’язки Клієнта під час отримання Послуг.

3.1.3. За необхідності надати Клієнті інформаційно-методичну підтримку щодо процесу отримання Послуг.

3.1.4. Створити Клієнту необхідні умови для використання наданої Послуги.

3.1.5. Виконувати вимоги чинного законодавства України та цього Договору.

3.2. Виконавець має право:

3.2.1. Запитувати та отримувати від Клієнта інформацію, необхідну та достатню для належного надання Послуг за цим Договором.

3.2.2. Отримувати оплату за надані Послуги у розмірах та протягом строків, передбачених цим Договором та відповідною інформацією про вартість Послуги, розміщеної на Сайті.

3.2.3. Вносити зміни в Послугу, обумовлені об’єктивною необхідністю (зокрема, появою нових підходів і технологій до надання Послуг і т.п.) із обов’язковим повідомленням про це Клієнта.

3.2.4. Залучати для надання Послуг третіх осіб на свій розсуд без погодження із Клієнтом.

3.2.5. Виконавець має також інші права, передбачені чинним законодавством України.

4. Права та обов’язки Клієнта

4.1. Клієнт зобов’язується:

4.1.1. Надавати Виконавцю інформацію, необхідну та достатню для належного й своєчасного надання Послуг за цим Договором.

4.1.2. Оплатити Послуги Виконавця у розмірі й строки, які закріплені у цьому Договорі та вказані у інформації, що розміщена на Сайті.

4.1.3. Самостійно забезпечити стабільний доступ до мережі Інтернет під час отримання та використання Послуг Виконавця.

4.1.4. З моменту укладення цього Договору дотримуватися прав на об’єкти інтелектуальної власності третіх осіб та Виконавця.

4.1.5. Не надавати свої дані третім особам для їх доступу до Послуг Виконавця.

4.1.6. Під час надання йому Послуги утримуватися від дій, які можуть створити будь-які перешкодити для інших Клієнтів щодо отримання Послуг Виконавця.

4.1.7. Виконувати інші вимоги чинного законодавства України та цього Договору.

4.2. Клієнт має право:

4.2.1. Отримати придбану Послугу відповідно до положень та умов цього Договору та чинного законодавства України.

4.2.2. Вимагати належного виконання Виконавцем своїх зобов’язань з надання Послуг відповідно до цього Договору та норм чинного законодавства України.

4.2.3. Звертатися до Виконавця за консультацією з питань, що стосуються надання Послуг за цим Договором.

4.2.4. Клієнт має також інші права, передбачені чинним законодавством України.

5. Вартість й оплата Послуг

5.1. Оплата послуг може бути здійснена одним із наступних осіб:

– Повністю дієздатним Клієнтом;

– Недієздатним або частково дієздатним Клієнтом за згодою законного представника;

– Третьою особою, яка не є Клієнтом, однак на яку покладено виконання грошового зобов’язання;

– Суб’єктом господарювання.

5.2. Вартість наданих Послуг визначається Виконавцем в односторонньому порядку в гривнях і розміщується на Сайті.

Виконавець має право публікації вартості Послуг в інших валютах, однак, розрахунки за Договором проводитимуться у гривнях відповідно до чинного законодавства України.

5.3. Виконавець має право в односторонньому порядку змінювати ціни на надані Послуги, інформація про які оприлюднюється на Сайті, водночас, повною мірою надавши раніше оплачений обсяг Послуг за попередньо погодженими тарифами.

У разі зміни вартості Послуг у сторону зменшення (у тому числі в рамках акцій, бонусних програм та знижок), Виконавець залишає за собою право відмовити Клієнту, який вже оплатив Послугу або подав заявку на її надання за попередньою ціною, у зміні умов надання Послуги.

5.4. Для проведення грошових розрахунків між сторонами Договору Виконавець може залучати сторонні організації, за дії яких він несе обмежену відповідальність у рамках своїх повноважень.

Всі взаєморозрахунки з такими організаціями в рамках цього Договору Виконавець здійснює самостійно.

5.5. Оплата проводиться у вигляді перерахування Клієнтом встановленої Виконавцем суми грошових коштів за надання Послуг за допомогою електронних платіжних систем, розміщених на Сайті.

Послуга вважається оплаченою Клієнтом, коли виконані зобов’язання по оплаті доступу до такої Послуги, а також дотримані всі необхідні процедури, передбачені для надання даної Послуги.

5.6. Виконавець має право відмовити Клієнту в наданні Послуг у разі несплати або неповної оплати вартості Послуги.

5.7. Обов’язок по оплаті вважається виконаним Клієнтом після надходження коштів у розмірі, що відповідає вартості обраної Клієнтом Послуги, на особовий рахунок Виконавця на Інтернет-сервісі прийому електронних платежів, оплата через який організована на Сайті.

5.8. Після отримання Клієнтом доступу до Послуги грошові кошти поверненню не підлягають.

6. Відповідальність сторін

6.1. За невиконання або неналежне виконання зобов’язань за цим Договором Сторони несуть відповідальність, передбачену нормами чинного законодавства України.

6.2. Послуги Виконавцем надаються «як є», без гарантування комерційної вигоди.

Виконавець не надає жодних гарантій, у тому числі комерційної придатності, а також гарантій, що випливають з ділових відносин або звичаїв ділового обороту.

6.3. Клієнт визнає, що здійснює доступ до Послуг на власний ризик.

6.4. У максимально дозволеній законодавством України мірі Виконавець не несе відповідальності за непрямі, побічні, фактичні, непрямі або прямі збитки, прямо або опосередковано упущену вигоду або неотримання доходів, втрату даних, експлуатаційних якостей, гудвілу або інших нематеріальних цінностей, пов’язані

а) із доступом Клієнта до Послуг, а також їх використанням або неможливістю такого доступу або використання;

б) з несанкціонованим доступом, використанням або зміною Послуг Клієнта або інформації.

Ні в якому разі сума сукупної відповідальності за всіма претензіями щодо Послуг не може перевищувати розмір загальної суми, отриманої від Клієнта за використання платних Послуг.

6.5. Клієнт погоджується, що відмова від гарантій і обмеження відповідальності, викладені в даному Договорі, відображають розумний і справедливий розподіл ризиків, а також є необхідною умовою для надання Послуг Виконавцем за доступну плату.

6.6. Клієнт погоджується, що будь-який позов, пов’язаний з наданням Послуг, повинен бути переданий до суду протягом строку позовної давності в розмірі одного (1) року після виникнення підстав для нього, в іншому випадку така підстава вважається недійсною.

7. Строк та порядок розірвання Договору

7.1. Договір діє з моменту його укладення, яким вважається дата акцепту оферти Клієнтом, і до дати закінчення періоду надання Послуг відповідно до положень цієї Оферти.

7.2. Строк Договору може бути змінено з урахуванням пролонгації надання Послуг відповідно до положень цієї Оферти, інформації, розміщеної на Сайті та норм чинного законодавства України.

7.3. Договір може бути змінений або розірваний у порядку, встановленому чинним законодавством України.

7.4. Договір може бути розірваний Виконавцем, а доступ до Послуги Клієнта обмежений в односторонньому порядку в разі недотримання Клієнтом умов Договору, норм чинного законодавства України, відмови або відкликання згоди на обробку персональних даних, а також недотримання умов прийнятих ним Договорів й правил, опублікованих на Сайті.

7.5. У разі одностороннього розірвання Договору Виконавець направляє повідомлення Клієнту на будь-який із повідомлених Клієнтом канал зв’язку.

7.6. Договір може бути розірваний Клієнтом в односторонньому порядку з обов’язковим письмовим повідомленням Виконавця.

Датою розірвання Договору є дата отримання повідомлення Виконавцем.

7.7. У разі одностороннього розірвання Договору Клієнтом внесені ним кошти не повертаються, за винятком випадків, коли причиною розірвання Договору є порушення Виконавцем зобов’язань.

8. Форс-мажор

8.1. Жодна із Сторін не несе відповідальності за повне або часткове невиконання своїх зобов’язань згідно з цим Договором, якщо невиконання буде наслідком обставин непереборної сили, таких, як повінь, пожежа, землетрус та інші стихійні лиха, війна або військові дії, дії державних органів, що виникли для Сторін після укладення Договору та не залежать від волі Сторін.

8.2. Сторона, яка в зв’язку з виникненням форс-мажорних обставин не може виконати свої зобов’язання, зобов’язана не пізніше 5 (п’яти) днів з моменту їх настання в письмовій формі повідомити про це іншу Сторону, а також про передбачуваний термін дії і припинення обставин непереборної сили.

8.3. Неповідомлення або несвоєчасне повідомлення позбавляє відповідну Сторону права посилатися на обставини непереборної сили як на підставу, що звільняє від відповідальності за невиконання зобов’язань за цим договором. Належним доказом будуть служити свідоцтва уповноважених державних органів.

8.4. Якщо зазначені обставини триватимуть понад два місяці, будь-яка із Сторін має право розірвати повністю або частково цей Договір з поверненням переданого і фактично належить за цим Договором.

Збитки, що виникли внаслідок таких обставин, не відшкодовуються.

9. Інші положення

9.1. У разі виникнення будь-яких розбіжностей між Клієнтом та Виконавцем щодо виконання кожної зі сторін умов Договору, а також будь-яких інших розбіжностей, такі розбіжності повинні бути врегульовані із застосуванням обов’язкового досудового претензійного порядку.

Виконавець зобов’язується направити Клієнту претензію в електронному вигляді на адресу електронної пошти, вказану Клієнтом при заповненні форми на Сайті.

Клієнт зобов’язується направити Виконавцю претензію в електронному вигляді на адресу електронної пошти lessondelivery.com@gmail.com.

Термін відповіді на претензію – 30 (тридцять) робочих днів з моменту отримання відповідної претензії.

При недотриманні будь-якої з сторін всіх перерахованих вище умов, обов’язковий претензійний порядок не вважається дотриманою.

9.2. При недосягненні згоди з приводу врегулювання спору, такий спір підлягає розгляду та вирішенню в суді відповідно до вимог чинного законодавства України.

9.3. Акцептуючи дану Оферту Клієнт погоджується, що всі суперечки, пов’язані з даним Договором, будуть розглядатися відповідно до законодавства України без урахування норм колізійного права.

Клієнт також погоджується, що всі такі суперечки знаходяться у виключній компетенції судів України.

9.4. Сторони дійшли згоди, що якщо інше прямо не передбачено законодавством України або Договором, будь-які повідомлення, повідомлення і документи у вигляді скан- або фотокопій, придатному для сприйняття людиною, спрямовані Сторонами виключно з електронних адрес Виконавця з домену lessondelivery.com/ і Клієнта – з адреси електронної пошти, вказаної ним при заповненні форми на Сайті https://lessondelivery.com/, мають юридичну силу відповідних документів на паперовому носії, і створюють для Сторін всі права і обов’язки, передбачені Договором.

9.5. Акцептуючи цю Оферту, Клієнт дає свою згоду на обробку наданих ним під час заповнення форм на Сайті Виконавця й у процесі надання Послуг персональних даних на умовах, передбачених Політикою конфіденційності (обробки персональних даних) Виконавця.

9.6. Акцептуючи цю Оферту, Клієнт також висловлює згоду на отримання інформаційних розсилок і рекламних матеріалів від Виконавця на адресу електронної пошти, контактний телефон, зазначені Клієнтом під час заповнення форми на Сайті або у процесі надання Послуг

9.7. Текст цієї Оферти може бути в будь-який час змінений Виконавцем в односторонньому порядку, актуальною вважатиметься версія, розміщена на Сайті Виконавця за адресою https://lessondelivery.com/.

Умови Договору залишаються незмінними для Клієнта, який акцептував Оферту до внесення до неї змін з боку Виконавця.

10. Реквізити Виконавця

10.1. Фізична особа-підприємець: Лапенко О. В.

10.4. Електронна пошта: lessondelivery.com@gmail.com.

10.5. Адреса для листування: 51600, Україна, м. Верхньодніпровськ, вул. Гагаріна, буд. 29/90.

Добавить комментарий