Telegram может быть новым именем для вас, но он набирает популярность в последние несколько лет, в последних новостях Telegram сообщал о 100 000 000 активных пользователей в месяц. Так о чем это все?
Telegram — это облачное приложение для обмена сообщениями, которое хорошо известно благодаря множеству функций, и его безопасная передача сообщений является одной из ключевых функций. Он поддерживает различные платформы, такие как Windows, OSX, GNU / Linux, Android, iOS и Windows Phone. Стоит также упомянуть, что клиентская сторона Telegram имеет открытый исходный код, поэтому мы будем использовать любое другое приложение для обмена сообщениями, например Pidgin, для связи с Telegram.
Некоторые особенности Telegram:
- шифрование
- Супер группы (1000 участников или больше)
- Передача файлов / фотографий
- Открытая сторона клиента
- Синхронизирует ваши сообщения на всех ваших устройствах
- Ограничение общего размера файла 1,5 ГБ
- Боты
О последнем поговорим конкретно. Telegram предлагает два API: API разработчика и API бота
Во-первых, нам нужно зарегистрировать аккаунт. Либо загрузите одного из клиентов, либо перейдите непосредственно к веб- версии Telegram. Оттуда вам будет предложено указать номер телефона, и Telegram отправит вам SMS с подтверждением.
Познакомьтесь с BotFather
Боты — это специальные учетные записи Telegram, предназначенные для автоматической обработки сообщений. Пользователи могут взаимодействовать с ботами, отправляя им команды в приватных или групповых чатах. Мы контролируем наших ботов, используя HTTPS-запросы к API ботов.
Что мы можем сделать с ботами?
- Делайте заметки в группах Telegram
- Получайте обновления погоды
- Играть в игры
- Взаимодействовать с другими сервисами, такими как социальные сети, IRC и т. Д.
Мы можем делать много вещей с ботами. Первый шаг в создании нашего бота — поговорить с BotFather .
Введите в форме поиска BotFather .
Нажмите на BotFather, и контейнер чата будет открыт, чтобы мы могли пообщаться с ним. Нажмите кнопку «Пуск», чтобы отобразить список команд, которые мы можем использовать для взаимодействия с BotFather.
Давайте создадим нашего бота с помощью команды /newbot
Он запросит имя для нашего бота, поэтому мы будем называть нашего бота sitepbot .
Теперь мы должны зарегистрироваться для имени пользователя, обратите внимание: оно должно заканчиваться ботом , если наш бот называется TetrisBot, имя пользователя должно быть ботом tetris . Пусть это будет sitepointbot .
BotFather поздравит нас и даст ссылку на нашего бота telegram.me/sitepoint_bot .
Мы можем добавить описание, а также добавить фотографию профиля для нашего бота. Команда /help
/newbot - create a new bot
/token - generate authorization token
/revoke - revoke bot access token
/setname - change a bot's name
/setdescription - change bot description
/setabouttext - change bot about info
/setuserpic - change bot profile photo
/setinline - change inline settings
/setinlinefeedback - change inline feedback settings
/setcommands - change bot commands list
/setjoingroups - can your bot be added to groups?
/setprivacy - what messages does your bot see in groups?
/deletebot - delete a bot
/cancel - cancel the current operation
Используя одну из приведенных выше команд, мы можем внести различные изменения в нашего бота. Но сейчас наиболее важной командой является /token
Идите вперед и введите это сейчас:
/token
Возвращаемое значение будет выглядеть примерно так: 197372558:AAEtvechentOstoPmVyb1_aF2Dbe7k
После того, как мы создадим нашего бота и послушаем его, пришло время для Ruby. Есть несколько драгоценных камней для взаимодействия с API бота. Мы будем использовать telegram-bot-ruby .
Установка
Мы можем установить его прямо с вашего терминала:
gem install telegram-bot-ruby
Или добавьте его в наш Gemfile :
gem 'telegram-bot-ruby'
Если мы используем его с Gemfile, нам нужно ввести bundle install
Это установит гем и необходимые ему зависимости.
Привет Пример SitePoint
Создайте файл с именем sitepointbot.rb , мы создадим содержимое этого файла здесь.
Во-первых, нам нужно импортировать наш драгоценный камень:
require 'telegram/bot'
Далее нам нужно добавить наш токен, который мы сгенерировали ранее:
token = 'YOUR API TOKEN'
Используя объект bot.api
Telegram::Bot::Client.run(token) do |bot|
bot.listen do |message|
case message.text
when '/sitepoint'
bot.api.send_message(chat_id: message.chat.id, text: "Welcome to http://sitepoint.com")
end
end
end
send_message
chat_id
chat_id
Конечно, text
Всякий раз, когда бот видит /sitepoint
Примечание. Настоятельно рекомендуется использовать косую черту (/) перед нашими командами, мы не хотим, чтобы наши боты мешали нашим разговорам.
Полный код
require 'telegram/bot'
token = 'YOUR API TOKEN'
Telegram::Bot::Client.run(token) do |bot|
bot.listen do |message|
case message.text
when '/sitepoint'
bot.api.send_message(chat_id: message.chat.id, text: "Welcome to http://sitepoint.com")
end
end
end
Теперь пришло время запустить наш бот:
ruby sitepointbot.rb
Мы должны искать бота. Он появится в области результатов поиска.
Как видите, есть кнопка «Пуск». Если мы нажмем кнопку, команда /start
Это должно всегда содержать приветственное сообщение от нашего бота, это лучшее место для добавления общей информации о боте, например, что он делает и какие команды он понимает.
Это эффект кнопки «Пуск» или команды /start
Если вы хотите запустить бот внутри чата, вы также можете набрать
start@SitepBot
что необходимо, если в чате больше одного бота.
Теперь давайте попробуем /sitepoint
Результатом является приветственное сообщение со ссылкой на сайт SitePoint.
Еще один пример
Давайте использовать метод sendLocation
Этот метод сделает точку на карте. Мы будем использовать тот же объект bot.api
send_location
bot.api.send_location(chat_id: message.chat.id, latitude: -37.807416, longitude: 144.985339)
Полный код
require 'telegram/bot'
token = 'YOUR API KEY'
Telegram::Bot::Client.run(token) do |bot|
bot.listen do |message|
case message.text
when '/start'
bot.api.send_message(chat_id: message.chat.id, text: "I am the SitePoint bot, My commands are /sitepoint /map")
when '/sitepoint'
bot.api.send_message(chat_id: message.chat.id, text: "Welcome to http://sitepoint.com")
when '/map'
bot.api.send_location(chat_id: message.chat.id, latitude: -37.807416, longitude: 144.985339)
end
end
end
Примечание : нам нужно выйти из бота и начать сначала, прежде чем увидеть изменения.
Вывод
Telegram предлагает надежную и безопасную службу обмена сообщениями. Как и Slack, Telegram предлагает возможность создавать ботов, которые могут взаимодействовать с пользователями. Мы видели некоторые основные функции, которые могут делать боты, но мы можем сделать их умнее и функциональнее, взглянуть на API Telegram и проявить креативность. Если вы делаете что-то великое, поделитесь этим с нами