Где взять номер бота в Телеграмме

Примеры как зарегистрировать бота в Telegram, описание и взаимодействие с основными методами API. Документация на core.telegram.org и tlgrm.ru (неофициальный, на русском).

Все запросы к API должны осуществляться по HTTPS, подойдет бесплатный сертификат «Let’s Encrypt».

Регистрация бота

Регистрация бота в Telegram

Следующим сообщением отправляем название для бота, обязательно на конце имени должно быть слово «bot» или «_bot». Ответным сообщением получим токен:

Получение токена к bot API Telegram

Тут же можно настроить описание и аватарку:

/setname Имя
/setdescription Краткое описание
/setabouttext Описание бота
/setuserpic Юзерпик

Далее нужно поставить «Webhook» чтобы все сообщения из Telegram приходили на PHP скрипт ( https://example.com/bot.php ). Для этого нужно пройти по ссылке в которой подставлены полученный токен и адрес скрипта. https://api.telegram.org/bot /setWebhook?url= https://example.com/bot.php

В ответе будет

При смене токена, установку вебхука нужно повторить.

Входящие сообщения

Сообщения приходят POST-запросом, с типом application/json . Получить его в PHP можно следующим образом:

[Eng Sub] How to make a bot in telegram | Telegram Bot


$data = file_get_contents(‘php://input’); $data = json_decode($data, true);
Чтобы посмотреть входящие данные, их придется дампить в файл:
file_put_contents(__DIR__ . ‘/message.txt’, print_r($data, true));

Текстовое сообщение

Запрос от Телеграм:

Array ( [update_id] => 17584194 [message] => Array ( [message_id] => 26 [from] => Array ( [id] => 123456789 [is_bot] => [first_name] => UserName [language_code] => ru-US ) [chat] => Array ( [id] => 123456789 [first_name] => UserName [type] => private ) [date] => 1541888068 [text] => Привет бот! ) )

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

if (!empty($data[‘message’][‘text’]))

Фотографии

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

Запрос от Телеграм:

Array ( [update_id] => 17584194 [message] => Array ( [message_id] => 38 [from] => Array ( [id] => 123456789 [is_bot] => [first_name] => UserName [language_code] => ru-US ) [chat] => Array ( [id] => 123456789 [first_name] => UserName [type] => private ) [date] => 1541924962 [photo] => Array ( [0] => Array ( [file_id] => AgADAgADUqexG7u8OEudBvlhgMzKC1agOQ8ABC6Bx26USA7Mw3gAAgI [file_size] => 1196 [width] => 51 [height] => 90 ) [1] => Array ( [file_id] => AgttAgADUqoxG7u8OEudBvlhgMzKC1agOQ8ABKwp_3jDPrIlxHgAAgI [file_size] => 21146 [width] => 180 [height] => 320 ) [2] => Array ( [file_id] => AgADAgADUqyxG7u8OEudBvlhgMzKC1agOQ8ABAN8gJWpUT1MxXgAAgI [file_size] => 90940 [width] => 449 [height] => 800 ) [3] => Array ( [file_id] => AgADAgADUqouu7u8OEudBvlhgMzKC1agOQ8ABIqVC1nEpbLDwngAAgI [file_size] => 114363 [width] => 719 [height] => 1280 ) ) ) )

Еще по теме:  Как вынуть из архива Телеграмм

Чтобы скачать файл нужно отправить POST или GET запрос на получение c параметром file_id изображения по URL: https://api.telegram.org/bot /getFile В ответ придет информация о файле:

Array ( [ok] => 1 [result] => Array ( [file_id] => AgADAgADUqoxG5u88E0dBvlhgMzKC1agOQ8ABIqVC1nEpbLDwngAAgI [file_size] => 114363 [file_path] => photos/file_1.jpg ) )

Далее его можно скачать по ссылке: https://api.telegram.org/file/bot / В PHP сохранение файла на сервер можно реализовать следующим образом:

$token = ‘123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11’; if (!empty($data[‘message’][‘photo’])) < $photo = array_pop($data[‘message’][‘photo’]); $ch = curl_init(‘https://api.telegram.org/bot’ . $token . ‘/getFile’); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, array(‘file_id’ =>$photo[‘file_id’])); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, false); $res = curl_exec($ch); curl_close($ch); $res = json_decode($res, true); if ($res[‘ok’]) < $src = ‘https://api.telegram.org/file/bot’ . $token . ‘/’ . $res[‘result’][‘file_path’]; $dest = __DIR__ . ‘/’ . time() . ‘-‘ . basename($src); copy($src, $dest); >>

Документ

Запрос от Телеграм:

Array ( [update_id] => 17474201 [message] => Array ( [message_id] => 44 [from] => Array ( [id] => 123456789 [is_bot] => [first_name] => UserName [language_code] => ru-US ) [chat] => Array ( [id] => 123456789 [first_name] => UserName [type] => private ) [date] => 1541925844 [document] => Array ( [file_name] => IMG_7947.JPG [mime_type] => image/jpeg [thumb] => Array ( [file_id] => AAQCABMNv_QOAATwQugveIZBldZ3AAIC [file_size] => 2644 [width] => 67 [height] => 90 ) [file_id] => BQADAgADtQEAAqu9OEhzn2cEz8LpkgI [file_size] => 1976218 ) ) )
Скачивание файлов происходит по такой же схеме как у фотографий.
if (!empty($data[‘message’][‘document’])) < $file_id = $data[‘message’][‘document’][‘file_id’]; $ch = curl_init(‘https://api.telegram.org/bot’ . $token . ‘/getFile’); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, array(‘file_id’ =>$file_id)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, false); $res = curl_exec($ch); curl_close($ch); $res = json_decode($res, true); if ($res[‘ok’]) < $src = ‘https://api.telegram.org/file/bot’ . $token . ‘/’ . $res[‘result’][‘file_path’]; $dest = __DIR__ . ‘/’ . time() . ‘-‘ . basename($src); copy($src, $dest); >>

Ответы бота

Отправка текста

$response = array( ‘chat_id’ => $data[‘message’][‘chat’][‘id’], ‘text’ => ‘Хай!’ ); $ch = curl_init(‘https://api.telegram.org/bot’ . $token . ‘/sendMessage’); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $response); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, false); curl_exec($ch); curl_close($ch);

Еще по теме:  1 800 922 8200 как позвонить в техподдержку Телеграмм

Отправка картинки

$response = array( ‘chat_id’ => $data[‘message’][‘chat’][‘id’], ‘photo’ => curl_file_create(__DIR__ . ‘/image.png’) ); $ch = curl_init(‘https://api.telegram.org/bot’ . $token . ‘/sendPhoto’); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $response); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, false); curl_exec($ch); curl_close($ch);

Отправка файла

Пример скрипта

Источник: snipp.ru

Python Telebot — получить телефон пользователя

получить телефон пользователя

получить телефон пользователя

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

import telebot #Подключили библиотеку Телебот — для работы с Телеграм
from telebot import types #Подключили дополнения
import config #Подключили библиотеку Config, с помощью чего можем хранить токен не в коде программы 😉 а в файле config.py. Важно: этот файл должен лежать в той же директории, что и код!
bot = telebot.TeleBot(config.token) #Подключили токен
def phone(message):
keyboard = types.ReplyKeyboardMarkup(row_width=1, resize_keyboard=True) #Подключаем клавиатуру
button_phone = types.KeyboardButton(text=»Отправить телефон», request_contact=True) #Указываем название кнопки, которая появится у пользователя
keyboard.add(button_phone) #Добавляем эту кнопку
bot.send_message(message.chat.id, ‘Номер телефона’, reply_markup=keyboard) #Дублируем сообщением о том, что пользователь сейчас отправит боту свой номер телефона (на всякий случай, но это не обязательно)
def contact(message):
if message.contact is not None: #Если присланный объект contact не равен нулю
print(message.contact) #Выводим у себя в панели контактные данные. А вообщем можно их, например, сохранить или сделать что-то еще.

Специально для вас — видео с более наглядной инструкцией:

Как видите — все очень и очень просто
Спасибо за внимание!

P.S. На моем канале Youtube один из подписчиков задал интересный вопрос: как скрыть клавиатуру после того, как телефонный номер был отправлен? Ответа на вопрос я не знал Впрочем, спустя день подписчик подсказал решение, которым я и делюсь:

keyboard = types.ReplyKeyboardRemove() bot.send_message(message.chat.id, msg, reply_markup=keyboard)

Еще по теме:  Обои в Телеграм для чата с хэллоу китти черный

P.P.S. не так давно возник вопрос — а как полученный от пользователя номер телефона отправить, например, в удобоваримом виде куда-то в группу? Все просто:
1. Добавляете бота, который должен отправить полученную информацию в нужную группу с правами администратора
2. В коде бота вносите следующие изменения в функцию def contact(message):

Собственно, вы можете выводить все, что угодно — для этого просто используем название нужного поля по схеме:

phone_number’: ‘***’, ‘first_name’: ‘***’, ‘last_name’: ‘***’, ‘user_id’: ***, ‘vcard’: ‘***’

где звездочками скрыты получаемые в полном виде контактные данные пользователя.

Источник: lavrynenko.com

Как получить токен бота Telegram API

В этом уроке мы рассмотрим быстрый способ создания бота в Telegram. Более подробную информацию вы можете найти на официальном сайте.

Создание и настройка бота

Вам не нужно писать код для этого. На самом деле, вам не нужно использовать свой компьютер! Просто зайдите в приложение Telegram на вашем устройстве и выполните 4 простых шага:

Шаг 2. Отправьте ему «/help», и вы увидите все возможные команды, которыми может управлять бот.

Шаг 3. Чтобы создать нового бота, отправьте «/newbot» или нажмите на эту надпись.

Следуйте инструкциям, которые он дал, и создайте новое имя для своего бота. Если вы создаете бота только для экспериментов, то имя должно быть уникальным, вы можете использовать пространство имен вашего бота, поместив свое имя перед ним в имени пользователя. Кстати, его псевдонимом может быть что угодно.

Шаг 4. Поздравляем! Вы только что создали своего бота Telegram. Вы увидите новый токен API, сгенерированный для него.
В приведенном выше примере это 270485614: AAHfiqksKZ8WmR2zSjiQ7_v4TMAKdiHm9T0

Скопируйте свой токен API.

Плагин рейтинга создан автором этого блога. Буду очень признателен, если вы сможете его поддержать (ссылка)

p.s. Если статья была полезной и вас переполняет чувство благодарности, можете поддержать меня долларом на патреоне

Источник: web7.pro

Рейтинг
( Пока оценок нет )
Загрузка ...