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_messagechat_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.apisend_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 и проявить креативность. Если вы делаете что-то великое, поделитесь этим с нами






