Я пытаюсь найти Api Key для Telegram, но я не могу его найти. Где я могу найти его на веб-сайте? Если я использую Api Id, я получаю ошибку » Incorrect Token Format в приложении консоли С#.
спросил(а) 2017-04-08T11:28:00+03:00 6 лет, 5 месяцев назад
добавить комментарий
пожаловаться
В специальном официальном боте: https://telegram.me/BotFather Дополнительная информация на официальной странице часто задаваемых вопросов о телеграмме: https://core.telegram.org/bots/faq#how-do-i-create-a-bot
ответил(а) 2017-04-08T13:53:00+03:00 6 лет, 5 месяцев назад
добавить комментарий
пожаловаться
Вы имеете в виду Telegram API для создания приложения Telegram с использованием С#, а не Telegram Bot API, верно? получить ключ API. Пожалуйста, смотрите шаг за шагом ниже или для получения подробной информации вы можете увидеть эту ссылку Зарегистрируйтесь в Telegram, используя любое приложение. Войдите в свое ядро Telegram: https://my.telegram.org. Перейдите к » Инструменты разработки API и заполните форму.
Где взять Api id и Api hash
Вы получите основные адреса, а также параметры api_id и api_hash, необходимые для авторизации пользователя. На данный момент к каждому номеру может быть подключен только один api_id.
Но если вам нужен API для бота Telegram, вы можете проверить API вашего бота с помощью BotFather. для деталей, вы можете проверить по этой ссылке Я надеюсь, что это полезно для вас.
ответил(а) 2019-01-11T14:25:00+03:00 4 года, 8 месяцев назад
добавить комментарий
пожаловаться
ответил(а) 2017-04-10T14:33:00+03:00 6 лет, 5 месяцев назад
добавить комментарий
пожаловаться
Источник: progi.pro
Получить имя пользователя и имя через Telegram Bot API с доступным соответствующим номером телефона
У меня есть список телефонных номеров. Мне нужно их совпадающее username и first_name в Telegram (если они подписались на Telegram). Я хочу получить эту информацию (имя пользователя и first_name) с помощью Telegram BOT API. Является ли это возможным? Как я могу это сделать? (с PHP) Это мой пример кода:
message->text != ‘/next_event_datetime’) exit; $dom = SunraPhpSimpleHtmlDomParser::file_get_html(‘http://laratalks.com/’); $element = $dom->find(‘#location header.section-header h3’, 0); $dateTime = $element->plaintext; $response = $client->sendMessage([ ‘chat_id’ => $update->message->chat->id, ‘text’ => $dateTime ]); > catch (ZeleninTelegramBotNotOkException $e) < //echo error message ot log it //echo $e->getMessage(); >
ali reza 30 июль 2016, в 00:16
Поделиться
Лучше не упоминать ваш пример кода, потому что он не связан с вашими частями вопроса
Seyfi 30 июль 2016, в 09:40
Подумайте об этом . вы бы хотели, чтобы кто-то, у кого был только ваш номер телефона, мог получить ваше имя и имя пользователя? Это было бы нарушением конфиденциальности и серьезным потенциальным ударом для человека, который хочет совершить фишинговую атаку на вас.
Как получить токен бота Telegram API и подключить бота к платформе
ceejayoz 30 июль 2016, в 14:45
Поделиться:
telegram-bot
2 ответа
Лучший ответ
Ну, вы можете получить имя пользователя и user_id от пользователя, когда у вас есть номер телефона. Я не знаю, как получить первое имя.
Просто отправьте контакт ( sendContact ) с любым sendContact и номером телефона. Telegram отвечает отправленным контактом, который включает user_id (если пользователь имеет Telegram) и username если пользователь установил его.
- Отправьте контакт с номером и и любое имя в любой чат (самостоятельно, группа, не имеет значения. )
- API Telegram ответит сообщением о передаче или некоторым кодом ошибки. Если сообщение было отправлено успешно, контакт в ответе может содержать более подробную информацию (имя пользователя и user_id).
Johannes Kuhn 30 июль 2016, в 18:51
Поделиться
Из-за Telegram Bot Doc метод ( sendContact ) предназначен для отправки существующего контакта (например, контактный номер лица A) лицу B. Абсолютно другая вещь из этого вопроса
Seyfi 30 июль 2016, в 21:32
Попробуй сам. Пусть бот отправит контакт и посмотрит полученное сообщение.
Johannes Kuhn 30 июль 2016, в 22:31
Я сделал тестового бота, чтобы проверить некоторые API здесь . Отправьте сообщение наподобие /raw sendContact phone_number 424314159 first_name bot_support и он ответит (слегка проанализированным) результатом JSON. Обратите внимание, что есть поле user_id .
Johannes Kuhn 30 июль 2016, в 22:42
Ваш бот такой: вы посылаете номер phone_number с user_id . Затем, если этот номер телефона подписан на телеграмму, ваш бот покажет сообщение о add contact с этим ARBITRARY user_name . Это похоже на добавление номера телефона в телефонную книгу моего мобильного телефона с моим именем, а НЕ с реальным именем пользователя. Проверь себя. Также это предусмотрено для клиента, а не для бота (чтобы добавить контакт)
Seyfi 31 июль 2016, в 11:14
когда я добавляю контакт с номером телефона в приложение для Android. telegram покажи мне имя пользователя контакта. Это возможно в API?
ali reza 31 июль 2016, в 19:14
Johannes Kuhn 05 авг. 2016, в 16:00
Seyfi 05 авг. 2016, в 18:07
Показать ещё 5 комментариев
Короче говоря, это НЕВОЗМОЖНО. Но прочитайте весь пост, это может быть полезно для вас.
Получение телефонного номера из Telegram и через Telegram Bot API является односторонним, это означает, что вы НЕ можете отправлять номер телефона и получать данные пользователей из телеграммы. (Примечание. Предполагается, что вы не добавляли пользователей по номеру телефона раньше)
Есть только два способа получить номер телефона пользователя в телеграмме:
1- Получите его с помощью специальной кнопки KeyboardButton . Таким образом Telegram отправляет пользователям номер телефона после того, как пользователь принял его. (Примечание: пользователь ДОЛЖЕН быть вашим подписчиком бота)
2- Спросите у него номер телефона, но он не является надежным, и вы должны проверить его другими способами (например, одобрить SMS и т.д.),
в конце концов, хотя эти два способа можно использовать для захвата номера телефона пользователя, но когда вы берете номер телефона, который у вас есть, ваш список не является полезным.
НО вы хотите захватить username с имеющимся номером телефона, это НЕВОЗМОЖНО из-за инфраструктуры Telegram Bot API.
Источник: overcoder.net
Пишем бота Telegram на PHP
Anton Bagaiev Last updated Aug 3, 2016
Read Time: 9 min
Если вы читаете это, то скорее всего понимаете, что боты для чатов является популярным трендом в 2016 году.
Эволюция ботов заключается не только в искусственном интеллекте. Ботом может быть инструмент в вашем мессенджере с простым интерфейсом, который может быть использован для расширения функционала сайта или сервиса, или использован как отдельное приложение. Боты легки в разработке и установке, и еще один плюс заключается в том, что мессенджеры могут использоваться на любом устройстве: ноутбуках, смартфонах и планшетах. Вот почему все сходят с ума по ботам.
И наиболее популярным мессенджером с открытым API для ботов является Telegram.
Что мы собираемся делать
В этой статье мы создадим простой бот-секундомер для Telegram. Я покажу вам как создавать собственного бота, связываться с аналитикой, напишем немножко кода и в конце добавим своего бота в магазин ботов.
Создаем бота с помощью BotFather
Первым шагом при создании бота нужно зарегистрировать аккаунт для своего бота в Telegram. И для этого есть собственный бот, который называется BotFather. Просто добавьте его в свой контакт лист и вы сможете создавать и настраивать ботов Telegram, просто напечатав команду /newbot и следуя инструкциям от BotFather.
После регистрации вашего нового бота, вы получите сообщение с поздравлением и токен для авторизации. Мы скоро будем использовать этот токен для авторизации бота и отправки запросов к Bot API.
Позднее вы сможете использовать BotFather для добавления описаний и фото к профилям ваших ботов, регенерации токенов, задания списка доступных боту команд, удаления аккаунтов и прочее. Чтобы получить полный список команд, просто напечатайте /help в чате с BotFather.
Соединяемся с Botan Analytics
Не существует никакой встроенной аналитики в Telegrem Bots API, но все равно важно знать, сколько пользователей у вас есть, как они себя ведут и какие команды используют чаще других. Конечно можно собрать такую информацию, используя собственный движок, но если мы собираемся сфокусироваться на функционале самого бота, а не метриках, то нужно использовать решение из коробки.
И для этого уже есть простой инструмент, который называется Botan. Он основан на Yandex AppMetric и абсолютно бесплатный. Используя Botan, можно сегментировать вашу аудиторию, получать информацию о профилях пользователей, получить наиболее часто используемые команды, а так же получить красивые графики прямо в вашем мессенджере:
Для того чтобы начать, нужно зарегистрировать ваше бота в Botan и получить свой токен. И опять же это можно сделать в боте, используя BotanioBot:
Просто нажмите на «Add bot» на вашей клавиатуре в диалоговом окне, введите ник вашего бота, и получите ваш токен для трекинга. Теперь Botanio готов регистрировать события вашего бота, а вы можете получать статистику по пользователям, сессиям и событиям прямо в вашем мессенджере.
Создание и регистрация SSL Webhook
В Telegram есть два способа получения сообщений от пользователей: длинный опрос и webhooks.
Обычно с долгим опросом, вам необходимо запрашивать новые сообщения из API, а с webhooks вы устанавливаете свой обратный вызов, который будет вызван API Telegram, если появится новое сообщение от пользователя. Я предпочитаю использовать webhooks потому что это больше похоже на взаимодействие в реальном времени, так что в этой статье мы так же будем использовать этот способ. Теперь нам нужно выбрать URL для обратного вызова нашего webhook, который будет вызван по HTTPS протоколу, и нужно установить его достаточно безопасным, и расположить свой скрипт в безопасной директории как сказано в руководстве:
Если вы хотите убедится что запрос Webhook действительно исходит от Telegream, мы рекомендуем использовать секретный путь в URL, например: https://www.example.com/ . Так как никто больше не знает токена для вашего бота, то вы можете быть уверены, что запрос идет от нас.
Если у вас подтвержденный SSL сертификат, то все что вам нужно, это открыть ваш URL в браузере:
https://api.telegram.org:443/bot[token]/setwebhook?url=[webhook]
Иначе необходимо сгенерировать самоподписанный сертификат. Вот пример команды в Linux для этого:
openssl req -newkey rsa:2048 -sha256 -nodes -keyout /path/to/certificate.key -x509 -days 365 -out /path/to/certificate.crt -subj «/C=IT/ST=state/L=location/O=description/CN=yourdomain.com»
И не забудьте открыть SSL порт:
sudo ufw allow 443/tcp
Чтобы подтвердить ваш сертификат и сделать ваш домен для webhook доверительным, необходимо загрузить свой публичный ключ:
curl
-F «url=https://yourdomain.com/path/to/script.php»
-F «certificate=/path/to/certificate.key»
«https://api.telegram.org/bot[token]/setwebhook»
В итоге вы получите следующий JSON ответ:
«ok»:true,»result»:true,»description»:»Webhook was set»>
В нем сказано что webhook был установлен и мы готовы начать работу с ботом.
Создаем базу данных
Теперь нам нужно создать базу данных для наших таймеров. Что мы собираемся в ней хранить? Когда пользователь дает команду секундомеру начать отсчет, мы будем брать ID чата и сохранять строку с ID чата и текущим временем Unix. Следовательно мы сохраним строку с отметкой времени и ID чата.
Чтобы показывать текущее время секундомера, мы будем брать сохраненную метку времени и сравнивать ее с текущим временем. Разница и будет текущее время в секундах. Если пользователь останавливает секундомер, то мы просто удаляем строчку с данным ID чата.
Итак давайте создадим базу данных и таблицу для хранения информации для секундомера:
CREATE TABLE IF NOT EXISTS `stopwatch` (
`chat_id` int(10) unsigned NOT NULL,
`timestamp` int(10) unsigned NOT NULL,
PRIMARY KEY (`chat_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Создание класса Stopwatch
Наконец мы готовы начать писать код. Создадим класс для работы с базой данных в файле stopwatch.php и начнем с конструктора, который устанавливает два приватных свойства, где мы будем хранить ID чата и соединение с MySQL:
class Stopwatch
Источник: code.tutsplus.com