как узнать свой api telegram
Создание своего клиента Telegram
Все разработчики могут использовать API и исходный код Telegram, чтобы бесплатно создавать похожие приложения на этой платформе.
В целях обеспечения совместимости и безопасности в экосистеме, все сторонние клиенты должны соответствовать Условиям использования API.
Получение api_id
Для получения API id и возможности разработать собственный клиент на основе Telegram API нужно сделать следующее:
Важные оповещения для разработчиков будут присылаться по указанному телефону, поэтому рекомендуется использовать актуальный номер, к которому привязан активный аккаунт Telegram.
Использование открытого исходного кода Telegram
Открытый исходный код Telegram доступен для всех. К нему также прилагается пример API id, использование которого ограничено и возможно лишь для серверной части. Его нельзя применять в приложениях для конечного пользователя – попытки использовать этот API id для любых целей, кроме тестирования, вызовут ошибку API_ID_PUBLISHED_FLOOD на стороне пользователей. Поэтому перед выпуском клиента необходимо получить собственный API id.
Для соответствия лицензии GNU GPL разработчику также необходимо выложить в открытый доступ исходный код своего приложения.
Сайт про Telegram на русском (неофициальный).
Здесь собраны приложения на базе MTProto, переведена некоторая документация с официального сайта, а также работает Webogram.
Creating your Telegram Application
We welcome all developers to use our API and source code to create Telegram-like messaging applications on our platform free of charge.
In order to ensure consistency and security across the Telegram ecosystem, all third-party client apps must comply with the API Terms of Service.
In order to obtain an API id and develop your own application using the Telegram API you need to do the following:
We will be sending important developer notifications to the phone number that you use in this process, so please use an up-to-date number connected to your active Telegram account.
Before using the MTProto Telegram API, please note that all API client libraries are strictly monitored to prevent abuse.
If you use the Telegram API for flooding, spamming, faking subscriber and view counters of channels, you will be banned forever.
Due to excessive abuse of the Telegram API, all accounts that sign up or log in using unofficial Telegram API clients are automatically put under observation to avoid violations of the Terms of Service.
If you didn’t violate the Terms of Service but your account does get banned after using the API, write to recover@telegram.org explaining what you intend to do with the API, asking to unban your account.
Please note that emails are checked by a human, so automatically generated emails will be detected and banned.
Everyone is welcome to use our open source code. We have included a sample API id with the code. This API id is limited on the server side and is not suitable for apps released to end-users — using it for anything but testing purposes will result in the API_ID_PUBLISHED_FLOOD error for your users. It is necessary that you obtain your own API id before you publish your app.
Please remember to publish your code as well in order to comply with the GNU GPL licences.
Telegram APIs
We offer two kinds of APIs for developers. The Bot API allows you to easily create programs that use Telegram messages for an interface. The Telegram API and TDLib allow you to build your own customized Telegram clients. You are welcome to use both APIs free of charge.
You can also add Telegram Widgets to your website.
This API allows you to connect bots to our system. Telegram Bots are special accounts that do not require an additional phone number to set up. These accounts serve as an interface for code running somewhere on your server.
To use this, you don’t need to know anything about how our MTProto encryption protocol works — our intermediary server will handle all encryption and communication with the Telegram API for you. You communicate with this server via a simple HTTPS-interface that offers a simplified version of the Telegram API.
Bot developers can also make use of our Payments API to accept payments from Telegram users around the world.
Even if you’re looking for maximum customization, you don’t have to create your app from scratch. Try our Telegram Database Library (or simply TDLib), a tool for third-party developers that makes it easy to build fast, secure and feature-rich Telegram apps.
TDLib takes care of all network implementation details, encryption and local data storage, so that you can dedicate more time to design, responsive interfaces and beautiful animations.
TDLib supports all Telegram features and makes developing Telegram apps a breeze on any platform. It can be used on Android, iOS, Windows, macOS, Linux and virtually any other system. The library is open source and compatible with virtually any programming language.
This API allows you to build your own customized Telegram clients. It is 100% open for all developers who wish to create Telegram applications on our platform. Feel free to study the open source code of existing Telegram applications for examples of how things work here. Don’t forget to register your application in our system.
How to get your application identifier and create a new Telegram app.
How to register a user’s phone to start using the API.
How to login to a user’s account if they have enabled 2FA, how to change password.
How to handle API return errors correctly.
How to connect to the closest DC access point for faster interaction with the API, and things to watch out for when developing a client.
How to subscribe to updates and handle them properly.
How to subscribe and handle them properly.
How to handle channels, supergroups, groups, and what’s the difference between them.
Telegram offers detailed channel statistics for channels and supergroups.
Additional options for calling methods.
How to transfer large data batches correctly.
How to fetch results from large lists of objects.
The MTProto API has multiple client configuration parameters that can be fetched with the appropriate methods.
Important checks required in your client application.
Binding temporary authorization key to permanent ones.
Ways to boost API interactions.
A list of available high-level methods.
Text and JSON-presentation of types and methods used in API.
A list of available schema versions.
How to work with bots using the MTProto API.
Bots offer a set of commands that can be used by users in private, or in a chat.
Users can interact with your bot via buttons or even inline buttons, straight from inline messages in any chat.
Users can interact with your bot via inline queries, straight from the text input field in any chat.
Bots can offer users HTML5 games to play solo or to compete against each other in groups and one-on-one chats; how to work with games in the MTProto API.
Telegram allows applying detailed message filters while looking for messages in chats.
This allows the server to filter messages based on a text query, and even on their type, and this feature is often used by graphical clients to implement features like the chat gallery, chat profile pictures and more.
Telegram allows sending polls and quizes, that can be voted on by thousands, if not milions of users in chats and channels.
How to handle admin permissions, granular bans and global permissions in channels, groups and supergroups.
Groups can be associated to a channel as a discussion group, to allow users to discuss about posts.
Telegram allows commenting on a channel post or on a generic group message, thanks to message threads.
Both supergroups and channels offer a so-called admin log, a log of recent relevant supergroup and channel actions, like the modification of group/channel settings or information on behalf of an admin, user kicks and bans, and more.
Telegram allows pinning multiple messages on top of a specific chat.
Telegram allows mentioning other users in case of urgent duckling matters, and quickly navigating to those mentions in order to read them as swiftly as possible.
Telegram allows scheduling messages.
Telegram allows sending the live geolocation of a user in a chat, optionally setting a proximity alert.
Sometimes, user and channel constructors met in group chat updates may not contain full info about the user: how to handle such constructors.
How to reset an account if the 2FA password was forgotten.
How to work with Telegram Passport directly using the MTProto API.
How to work with Telegram Payments directly using the MTProto API.
How to create styled text with message entities
Graphical telegram clients should transform emojis into their respective animated version.
Telegram supports sending animated dice emojis.
How to handle message drafts
Working with folders
If enabled, the rating of top peers indicates the relevance of a frequently used peer in a certain category (frequently messaged users, frequently used bots, inline bots, frequently visited channels and so on).
How to handle file references.
Handle Seamless Telegram Login URL authorization requests.
When interacting with HTML5 games and the websites of payment gateways, Telegram apps should expose the following JS APIs.
Bots: An introduction for developers
Bots are third-party applications that run inside Telegram. Users can interact with bots by sending them messages, commands and inline requests. You control your bots using HTTPS requests to our Bot API.
To name just a few things, you could use bots to:
Get customized notifications and news. A bot can act as a smart newspaper, sending you relevant content as soon as it’s published.
Accept payments from Telegram users. A bot can offer paid services or work as a virtual storefront. Read more »
Demo Shop Bot, Demo Store
Create custom tools. A bot may provide you with alerts, weather forecasts, translations, formatting or other services.
Markdown bot, Sticker bot, Vote bot, Like bot
Build single- and multiplayer games. A bot can offer rich HTML5 experiences, from simple arcades and puzzles to 3D-shooters and real-time strategy games.
GameBot, Gamee
Build social services. A bot could connect people looking for conversation partners based on common interests or proximity.
Do virtually anything else. Except for dishes — bots are terrible at doing the dishes.
At the core, Telegram Bots are special accounts that do not require an additional phone number to set up. Users can interact with bots in two ways:
Messages, commands and requests sent by users are passed to the software running on your servers. Our intermediary server handles all encryption and communication with the Telegram API for you. You communicate with this server via a simple HTTPS-interface that offers a simplified version of the Telegram API. We call that interface our Bot API.
A detailed description of the Bot API is available on this page »
There’s a… bot for that. Just talk to BotFather (described below) and follow a few simple steps. Once you’ve created a bot and received your authorization token, head down to the Bot API manual to see what you can teach your bot to do.
You may also like to check out some code examples here »
Telegram bots are unique in many ways — we offer two kinds of keyboards, additional interfaces for default commands and deep linking as well as text formatting, integrated payments and more.
Users can interact with your bot via inline queries straight from the text input field in any chat. All they need to do is start a message with your bot’s username and then type a query.
Having received the query, your bot can return some results. As soon as the user taps one of them, it is sent to the user’s currently opened chat. This way, people can request content from your bot in any of their chats, groups or channels.
Check out this blog to see a sample inline bot in action. You can also try the @sticker and @music bots to see for yourself.
We’ve also implemented an easy way for your bot to switch between inline and PM modes.
You can use bots to accept payments from Telegram users around the world.
Bots can offer their users HTML5 games to play solo or to compete against each other in groups and one-on-one chats. The platform allows your bot to keep track of high scores for every game played in every chat. Whenever there’s a new leader in the game, other playing members in the chat are notified that they need to step it up.
Since the underlying technology is HTML5, the games can be anything from simple arcades and puzzles to multiplayer 3D-shooters and real-time strategy games. Our team has created a couple of simple demos for you to try out:
You can also check out the @gamee bot that has more than 20 games.
Traditional chat bots can of course be taught to understand human language. But sometimes you want some more formal input from the user — and this is where custom keyboards can become extremely useful.
Whenever your bot sends a message, it can pass along a special keyboard with predefined reply options (see ReplyKeyboardMarkup). Telegram apps that receive the message will display your keyboard to the user. Tapping any of the buttons will immediately send the respective command. This way you can drastically simplify user interaction with your bot.
We currently support text and emoji for your buttons. Here are some custom keyboard examples:
For more technical information on custom keyboards, please consult the Bot API manual (see sendMessage).
There are times when you’d prefer to do things without sending any messages to the chat. For example, when your user is changing settings or flipping through search results. In such cases you can use Inline Keyboards that are integrated directly into the messages they belong to.
Unlike with custom reply keyboards, pressing buttons on inline keyboards doesn’t result in messages sent to the chat. Instead, inline keyboards support buttons that work behind the scenes: callback buttons, URL buttons and switch to inline buttons.
When callback buttons are used, your bot can update its existing messages (or just their keyboards) so that the chat remains tidy. Check out these sample bots to see inline keyboards in action: @music, @vote, @like.
Commands present a more flexible way to communicate with your bot. The following syntax may be used:
A command must always start with the ‘/’ symbol and may not be longer than 32 characters. Commands can use latin letters, numbers and underscores. Here are a few examples:
Messages that start with a slash are always passed to the bot (along with replies to its messages and messages that @mention the bot by username). Telegram apps will:
If multiple bots are in a group, it is possible to add bot usernames to commands in order to avoid confusion:
This is done automatically when commands are selected via the list of suggestions. Please remember that your bot needs to be able to process commands that are followed by its username.
In order to make it easier for users to navigate the bot multiverse, we ask all developers to support a few basic commands. Telegram apps will have interface shortcuts for these commands.
Users will see a Start button when they first open a conversation with your bot. Help and Settings links will be available in the menu on the bot’s profile page.
You can use bold, italic or fixed-width text, as well as inline links in your bots’ messages. Telegram clients will render them accordingly.
Bots are frequently added to groups in order to augment communication between human users, e.g. by providing news, notifications from external services or additional search functionality. This is especially true for work-related groups. Now, when you share a group with a bot, you tend to ask yourself “How can I be sure that the little rascal isn’t selling my chat history to my competitors?” The answer is — privacy mode.
A bot running in privacy mode will not receive all messages that people send to the group. Instead, it will only receive:
On one hand, this helps some of us sleep better at night (in our tinfoil nightcaps), on the other — it allows the bot developer to save a lot of resources, since they won’t need to process tens of thousands irrelevant messages each day.
Privacy mode is enabled by default for all bots, except bots that were added to the group as admins (bot admins always receive all messages). It can be disabled, so that the bot receives all messages like an ordinary user (the bot will need to be re-added to the group for this change to take effect). We only recommend doing this in cases where it is absolutely necessary for your bot to work — users can always see a bot’s current privacy setting in the group members list. In most cases, using the force reply option for the bot’s messages should be more than enough.
Telegram bots have a deep linking mechanism, that allows for passing additional parameters to the bot on startup. It could be a command that launches the bot — or an auth token to connect the user’s Telegram account to their account on some external service.
Following a link with the start parameter will open a one-on-one conversation with the bot, showing a START button in the place of the input field. If the startgroup parameter is used, the user is prompted to select a group to add the bot to. As soon as a user confirms the action (presses the START button in their app or selects a group to add the bot to), your bot will receive a message from that user in this format:
PAYLOAD stands for the value of the start or startgroup parameter that was passed in the link.
Some bots need extra data from the user to work properly. For example, knowing the user’s location helps provide more relevant geo-specific results. The user’s phone number can be very useful for integrations with other services, like banks, etc.
Bots can ask a user for their location and phone number using special buttons. Note that both phone number and location request buttons will only work in private chats.
When these buttons are pressed, Telegram clients will display a confirmation alert that tells the user what’s about to happen.
BotFather is the one bot to rule them all. It will help you create new bots and change settings for existing ones.
Use the /newbot command to create a new bot. The BotFather will ask you for a name and username, then generate an authorization token for your new bot.
The name of your bot is displayed in contact details and elsewhere.
The Username is a short name, to be used in mentions and t.me links. Usernames are 5-32 characters long and are case insensitive, but may only include Latin characters, numbers, and underscores. Your bot’s username must end in ‘bot’, e.g. ‘tetris_bot’ or ‘TetrisBot’.
The token is a string along the lines of 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw that is required to authorize the bot and send requests to the Bot API. Keep your token secure and store it safely, it can be used by anyone to control your bot.
If your existing token is compromised or you lost it for some reason, use the /token command to generate a new one.
The remaining commands are pretty self-explanatory:
Edit bots
Edit settings
Manage games
Please note, that it may take a few minutes for changes to take effect.
Millions choose Telegram for its speed. To stay competitive in this environment, your bot also needs to be responsive. In order to help developers keep their bots in shape, Botfather will send status alerts if it sees something is wrong.
We will be checking the number of replies and the request/response conversion rate for popular bots (
300 requests per minute: but don’t write this down as the value may change in the future). If we get abnormally low readings, you will receive a notification from Botfather.
By default, you will only get one alert per bot per hour. Each alert has the following buttons:
We will currently notify you about the following issues:
Your bot is sending much fewer messages than it did in the previous weeks. This is useful for newsletter-style bots that send out messages without prompts from the users. The larger the value, the more significant the difference.
Your bot is not replying to all messages that are being sent to it (the request/response conversion rate for your bot was too low for at least two of the last three 5-minute periods). To provide a good user experience, please respond to all messages that are sent to your bot. Respond to message updates by calling send… methods (e.g. sendMessage).
Your bot is not replying to all inline queries that are being sent to it, calculated in the same way as above. Respond to inline_query updates by calling answerInlineQuery.
Your bot is not replying to all callback queries that are being sent to it (with or without games), calculated in the same way as above. Respond to callback_query updates by calling answerCallbackQuery.
Please note that the status alerts feature is still being tested and will be improved in the future.
That’s it for the introduction. You are now definitely ready to proceed to the BOT API MANUAL.
If you’ve got any questions, please check out our Bot FAQ »
Как получить токен бота Telegram API
В этом уроке мы рассмотрим быстрый способ создания бота в Telegram. Более подробную информацию вы можете найти на официальном сайте.
Создание и настройка бота
Вам не нужно писать код для этого. На самом деле, вам не нужно использовать свой компьютер! Просто зайдите в приложение Telegram на вашем устройстве и выполните 4 простых шага:
Шаг 1. Найдите в телеграме бота с именем «@botfarther», он поможет вам в создании и управлении вашим ботом.
Шаг 2. Отправьте ему «/help», и вы увидите все возможные команды, которыми может управлять бот.
Шаг 3. Чтобы создать нового бота, отправьте «/newbot» или нажмите на эту надпись.
Следуйте инструкциям, которые он дал, и создайте новое имя для своего бота. Если вы создаете бота только для экспериментов, то имя должно быть уникальным, вы можете использовать пространство имен вашего бота, поместив свое имя перед ним в имени пользователя. Кстати, его псевдонимом может быть что угодно.
Шаг 4. Поздравляем! Вы только что создали своего бота Telegram. Вы увидите новый токен API, сгенерированный для него.
В приведенном выше примере это 270485614: AAHfiqksKZ8WmR2zSjiQ7_v4TMAKdiHm9T0