# Introduction

[![Book Status](https://img.shields.io/badge/book-passing-brightgreen.svg?style=for-the-badge\&logo=appveyor?logoWidth=40)](https://alexey-burak.gitbook.io/telegram-bot-tutorial/)

Hello to everyone who has been looking for a long time how to do basic actions for your telegram bot! This tutorial will cover the implementation of the _basic functions_ that you need to perform a _simple_ bot.

I assume you already _know Java_ programming language.

If you got here and don't have any idea how to develop a bot, then I recommend _starting_ [_**with Lesson 0**_](lessonsmd/creatingbot) description creating a bot in telegram, namely working with _BotFather_

In this tutorial I will use next _characteristics_:

* My home _macOS_ laptop with IntelliJ Idea pre-installed
* Java JDK 18

**If you have any suggestions, what lessons you would like to see here, write issue or contact me!**

### Table of contents

* [**Lesson 0. Creating a bot**](lessonsmd/creatingbot) description creating a bot in telegram, namely working with _BotFather_
* [**Lesson 1. Send messages**](lessonsmd-3/sendmessages) description of _sending the message_ to the user
* [**Lesson 2. Reply Keyboard Markups**](lessonsmd-1/markups) _creating buttons_ in the keyboard field
* [**Lesson 3. Send Photo**](lessonsmd-5/sendphoto) _sending a photo_ from a local directory
* [**Lesson 4. Send Music**](lessonsmd-4/sendmusic) _sending a track_ from a local directory
* [**Lesson 5. Save photo/file**](lessonsmd-2/savephotofile) _saving_ the sent photo or file to a local directory

### Useful sources

* [Telegram Bot _API_](https://core.telegram.org/bots/api) from the telegram itself
* [Java _Library_](https://github.com/rubenlagus/TelegramBots) to download it to your IDE
* [_Tutorial_ from rubenlagus](https://github.com/rubenlagus/TelegramBotsExample)
* [_Emoji_ Manager](https://github.com/vdurmont/emoji-java) to use all the emojis that are in telegram
