Chatid бота Телеграм как получить

Чат ID Telegram бота — это уникальный идентификатор, назначаемый боту после регистрации в Telegram. Он используется для отправки сообщений от бота к пользователю или группе пользователей. Он представляет собой целое число, которое может быть просто извлечено из сообщения от бота или получено с помощью апи Телеграма.

Как получить Chat ID

Процесс получения Chat ID Telegram для бота довольно прост. Первым шагом является создание бота с помощью BotFather в Telegram. После регистрации бота вы получите уникальный токен. Далее вам необходимо использовать этот токен для получения Chat ID. Вы можете использовать следующий код, чтобы получить Chat ID вашего бота через API Telegram.

const https = require(‘https’); const token = ‘123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZ’; // Токен бота const chatId = ‘123456789’; // ID Чата const url = `https://api.telegram.org/bot$/getUpdates`; https.get(url, (resp) => < let data = »; // Получаем данные resp.on(‘data’, (chunk) =>< data += chunk; >); // Данные получены resp.on(‘end’, () => < const body = JSON.parse(data); console.log(«Chat ID: «, body.result[0].message.chat.id); >); >).on(«error», (err) => < console.log(«Error: » + err.message); >);

В приведенном выше примере вы используете API Telegram, чтобы получить обновления вашего бота. Затем вы парсите данные, полученные из API, и извлекаете Chat ID из полученных данных. После этого вы можете сохранить Chat ID в базе данных и использовать его для отправки сообщений ботом.

#18 How to get telegram bot credentials (token and chat ID) in 30 seconds

Источник: hccoder.info

Пишем бота для telegram на node.js

Как оказывается, написать бота для telegram, как два пальца об асфальт.

Если кому-то нужно разработать бота для telegram или для другой платформы, напишите мне в VK — сделаем. Также интегрируем с 1С и остальными требуемыми программными продуктами.

Для чего можно использовать бота:

  • Социальные боты в электронной коммерции. Боты-продажники;
  • Боты напоминалки;
  • Проводить обучение;
  • Использоваться для управления умным домом и многое другое, все на что способна фантазия!

Итак, чтобы написать бота нам потребуется:

Вначале опишу какой простой бот получился в Telegram

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

Еще по теме:  Как на новом устройстве выйти со всех других сеансов если Телеграмм заблокируют

И так описание бота, который будем разрабатывать:

  • умеет отправлять пользователю на запрос — классическую музыку рандомно
  • Две клавиатуры прикрутил к нему обычную и инлайновую
  • Отвечать на кое-какие сообщения

Начинаем писать бота в Telegram

В телеграм находим BotFather.

/newbot

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

Также у него есть и другие команды, для задания описания бота, команд и прочего:

Начинаем разработку бота на Node.js

В консоли пишем:

npm init -y

для создания package.json и управления зависимостями.

npm install —save node-telegram-bot-api

Файл index.js получился такой самый простой:

const TelegramBot = require(‘node-telegram-bot-api’); const token = ‘СЮДА_ВСТАВЛЯЕМ_ТОКЕН_КОТОРЫЙ_ПОЛУЧИЛИ’; const bot = new TelegramBot(token, ); bot.onText(//echo (.+)/, (msg, match) => < const chatId = msg.chat.id; const resp = match[1]; // the captured «whatever» bot.sendMessage(chatId, resp); >); bot.on(‘message’, (msg) => < const chatId = msg.chat.id; bot.sendMessage(chatId, ‘Получили твое сообщение! Спасибо!’); >);

Вставляем свой токен, который получили от BotFather и можно его разместить на бесплатном хостинге Heroku, и все сразу заработает, самый простой ботик!

Но лучше токен, поместить в переменную окружения, также можно на Heroku.

Полезные ссылки по ботам Телеграм

Документация по ботам telegram находится: https://core.telegram.org/bots/api

Также есть сайт и на русском с описанием: https://tlgrm.ru/docs/bots/api

Описываю какой код бота для Телеграм получился

const fs = require(‘fs’);

Подключаем библиотеку для работы с файлами

const TelegramBot = require(‘node-telegram-bot-api’); const token = process.env.TELEGRAM_BOT_TOKEN; const bot = new TelegramBot(token, ); const idAdmin = 32949386;

Подключаем библиотеку node-telegram-bot-api, токен получаем из переменной окружения, и устанавливаем константу idAdmin — ему дополнительно сообщения потом будем слать.

bot.on(‘message’, (msg) => < const chatId = msg.chat.id; const first_name = msg.chat.first_name; if (msg.text) < const text = msg.text.toLowerCase(); if (~text.indexOf(«привет»)) < bot.sendMessage(chatId, ‘Приветик, ‘ + first_name + ‘!’); >else if (~text.indexOf(«start»)) < >else if (~text.indexOf(«закрыть»)) < bot.sendMessage(chatId, ‘Клавиатура закрыта’, < reply_markup: < remove_keyboard: true >>); > else if (~text.indexOf(«клав»)) < openKlava(chatId); >else if (~text.indexOf(«здраст»)) < bot.sendMessage(chatId, ‘Здравствуй, здравствуй, ‘ + first_name + ‘!’); >else if (~text.indexOf(«здравст»)) < bot.sendMessage(chatId, ‘Здравствуй, здравствуй, ‘ + first_name + ‘!’); >else if (~text.indexOf(«дур»)) < bot.sendMessage(chatId, » + first_name + ‘, не ругайся, а то обижусь!’); >else if (~text.indexOf(«туп»)) < bot.sendMessage(chatId, » + first_name + ‘, не ругайся, а то обижусь!’); >else if (~text.indexOf(«класи»)) < openClassik(chatId, first_name); >else if (~text.indexOf(«класси»)) < openClassik(chatId, first_name); >else if (~text.indexOf(«про автора»)) < bot.sendMessage(chatId, ‘Про автора бота’, < reply_markup: < inline_keyboard: [ [ < text: ‘Автор’, url: ‘https://polyakovdmitriy.ru’ >], [ < text: ‘Классика’, callback_data: ‘classik’ >] ] > >) > else < bot.sendMessage(chatId, » + first_name + ‘, я тебя не понимать!’); >> bot.forwardMessage(chatId, idAdmin, msg.message_id); >);

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

Здесь у нас в bot.on(‘message’ — прилетают все сообщения.

const chatId = msg.chat.id; — Достаем id чата.

const first_name = msg.chat.first_name; — Достаем имя пользователя.

Здесь: Если пришел текст привет — то бот отвечает: Приветик, Имя! if (~text.indexOf(«привет»)) < bot.sendMessage(chatId, ‘Приветик, ‘ + first_name + ‘!’);

И также остальные текстовые фразы обрабатывает.

bot.sendMessage(chatId, ‘Про автора бота’, < reply_markup: < inline_keyboard: [ [ < text: ‘Автор’, url: ‘https://polyakovdmitriy.ru’ >], [ < text: ‘Классика’, callback_data: ‘classik’ >] ] > >)

Этим кодом создается клавиатура инлайновая.

bot.forwardMessage(chatId, idAdmin, msg.message_id); — этим кодом все сообщения пересылаются админу.

bot.onText(//start/, (msg, match) => < const chatId = msg.chat.id; bot.sendMessage(chatId, ‘Приветик, ‘ + msg.chat.first_name + ‘!’); openKlava(chatId); >);

Здесь обрабатывается команда /start

bot.on(‘callback_query’, (query) => < const chatId = query.message.chat.id; if (query.data === ‘classik’) < openClassik(chatId, query.message.chat.first_name); >>);

Этим кодом обрабатывается callback — от инлайновой клавиатуры.

bot.on(‘contact’, (msg) => < const chatId = msg.chat.id; bot.sendMessage(chatId, ‘Спасибо! Ваш заказ принят, мы с Вами свяжемся!’); >);

Этим кодом отлавливается контакты, которые отправили боту, хотя их можно также отловить bot.on(‘message’ — сюда они тоже приходят.

function openKlava(chatId) < bot.sendMessage(chatId, ‘Клавиатура открыта’, < reply_markup: < keyboard: [ [ < text: ‘Классика’ >, < text: ‘Закрыть’ >], [ < text: ‘Заказать разработку бота’, request_contact: true >], [ < text: ‘Про автора’ >] ], one_time_keyboard: true > >) >

Здесь создаем клавиатуру.

request_contact: true — обозначает запрос контактов, также можно запрашивать локацию.

function openClassik(chatId, first_name) < fs.readdir(‘./klasik/’, function(err,files) < const rf = files[Math.floor(Math.random()*files.length)]; bot.sendMessage(chatId, » + first_name + ‘, лови классическую музыку!’); bot.sendAudio(chatId, ‘./klasik/’ + rf).then(()=>< bot.sendMessage(chatId, ‘И слушай!’); >); >) >

Этот код отправляет классическую музыку, случайно выбранную из папки ./klasik/

Итого файл index.js полностью:

const fs = require(‘fs’); const TelegramBot = require(‘node-telegram-bot-api’); const token = process.env.TELEGRAM_BOT_TOKEN; const bot = new TelegramBot(token, ); const idAdmin = 32949386; bot.on(‘message’, (msg) => < const chatId = msg.chat.id; const first_name = msg.chat.first_name; if (msg.text) < const text = msg.text.toLowerCase(); if (~text.indexOf(«привет»)) < bot.sendMessage(chatId, ‘Приветик, ‘ + first_name + ‘!’); >else if (~text.indexOf(«start»)) < >else if (~text.indexOf(«закрыть»)) < bot.sendMessage(chatId, ‘Клавиатура закрыта’, < reply_markup: < remove_keyboard: true >>); > else if (~text.indexOf(«клав»)) < openKlava(chatId); >else if (~text.indexOf(«здраст»)) < bot.sendMessage(chatId, ‘Здравствуй, здравствуй, ‘ + first_name + ‘!’); >else if (~text.indexOf(«здравст»)) < bot.sendMessage(chatId, ‘Здравствуй, здравствуй, ‘ + first_name + ‘!’); >else if (~text.indexOf(«дур»)) < bot.sendMessage(chatId, » + first_name + ‘, не ругайся, а то обижусь!’); >else if (~text.indexOf(«туп»)) < bot.sendMessage(chatId, » + first_name + ‘, не ругайся, а то обижусь!’); >else if (~text.indexOf(«класи»)) < openClassik(chatId, first_name); >else if (~text.indexOf(«класси»)) < openClassik(chatId, first_name); >else if (~text.indexOf(«про автора»)) < bot.sendMessage(chatId, ‘Про автора бота’, < reply_markup: < inline_keyboard: [ [ < text: ‘Автор’, url: ‘https://polyakovdmitriy.ru’ >], [ < text: ‘Классика’, callback_data: ‘classik’ >] ] > >) > else < bot.sendMessage(chatId, » + first_name + ‘, я тебя не понимать!’); >> bot.forwardMessage(chatId, idAdmin, msg.message_id); >); bot.onText(//start/, (msg, match) => < const chatId = msg.chat.id; bot.sendMessage(chatId, ‘Приветик, ‘ + msg.chat.first_name + ‘!’); openKlava(chatId); >); bot.on(‘callback_query’, (query) => < const chatId = query.message.chat.id; if (query.data === ‘classik’) < openClassik(chatId, query.message.chat.first_name); >>); bot.on(‘contact’, (msg) => < const chatId = msg.chat.id; bot.sendMessage(chatId, ‘Спасибо! Ваш заказ принят, мы с Вами свяжемся!’); >); function openClassik(chatId, first_name) < fs.readdir(‘./klasik/’, function(err,files) < const rf = files[Math.floor(Math.random()*files.length)]; bot.sendMessage(chatId, » + first_name + ‘, лови классическую музыку!’); bot.sendAudio(chatId, ‘./klasik/’ + rf).then(()=>< bot.sendMessage(chatId, ‘И слушай!’); >); >) > function openKlava(chatId) < bot.sendMessage(chatId, ‘Клавиатура открыта’, < reply_markup: < keyboard: [ [ < text: ‘Классика’ >, < text: ‘Закрыть’ >], [ < text: ‘Заказать разработку бота’, request_contact: true >], [ < text: ‘Про автора’ >] ], one_time_keyboard: true > >) >

Еще по теме:  Отправить смс в ТГ не захлдя

Структура проекта получилась такая:

Успехов в создании ботиков!

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

API Telegram Bot и PHP — Отправка сообщений

api telegram bot

Не так давно появилась необходимость реализовать отправку сообщений с сайта в Telegram Бот. Ранее описывал работу с API VK, где в случае получении капчи отправлялось сообщение на почту. Этот вариант меня не совсем устроил, бывают задержки, по этому решил освоить API Telegram. Всё достаточно просто, необходимо только создать Telegram Bot, получить ключ (он же token) и ID чата. Дальше просто отправляем сообщение по средствам PHP.

API Telegram Bot и PHP — Отправка сообщений

Создаём Telegram Bot.

api telegram bot создаём бота

1. Для начала пишем сообщение «/start«. Нам в ответ вернут все возможные команды бота.

2. Отправляем боту команду «/newbot«.

3. Нам предлагают ввести имя нашего бота. Тут как вам будет угодно, я назвал «PechnekTest».

4. Теперь нам необходимо выбрать имя пользователя для бота, главное, что бы название нашего бота заканчивалось на «bot» (например TestBot или Test_bot). В моём случае «PechnekTest_Bot»

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

6. Теперь добавляем в друзья нашего бота. Можно искать по имени что мы задали ранее.

Получаем Chat ID Telgram Bot -а.

Для того, что бы нам отправлять сообщения, нам необходимо узнать «chat id«, если по-простому, то идентификатор нашего чата. Для этого нам необходимо проделать ряд действий:

1. Написать что-то нашему боту, абсолютно любое сообщение. Нужно это для того, что бы мы могли достать наш chat id. Без этого метод API Telegram вернёт нам пустое значение.

2. В браузере выполняем следующую команду:

Источник: pechenek.net

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