Что нового
Теневой форум

Добро пожаловать на FSELL- крупнейший теневой форум. У нас Вы сможете найти огромное количество заработка в интернете, купить паспорт, ксиву, оружие, куча многих товаров и услуг, в виде пробива, взлома, нанять киллера. Все это Вы найдете на нашем форуме! Не пренебрегайте услугами Гарант-Сервиса, это убережет Вас от мошенников.

Бот для Telegram на Java

Чёрнокнижник

Администратор
Команда форума
1.С чего же начинать?

Здесь качать библиотеку Telegram(обязательно with-dependiciens)

IDE можно выбрать любую, я бы порекомендовал eclipse.

Импотрируем библиотеку Телеграма и приступаем.

2.Наследование бота
Для того чтобы отвечать на команды, класс должен наследовать TelegramLongPillingBot

Создаём класс:


da3f8088ba47442f81a0fa2f87b7d2b6.png


И пишем в него:
Код:
package ru.thematdev.bot;

import org.telegram.telegrambots.api.objects.Update;
import org.telegram.telegrambots.bots.TelegramLongPollingBot;

public class Example extends TelegramLongPollingBot{
       public static void main(String[] args) {
   ApiContextInitializer.init(); // Инициализируем апи
   TelegramBotsApi botapi = new TelegramBotsApi();
   try {
       botapi.registerBot(new Bot());
   } catch (TelegramApiException e) {
       e.printStackTrace();
   }
   }
   @Override
   public String getBotUsername() {
       return "USER";
               //возвращаем юзера
   }

   @Override
   public void onUpdateReceived(Update e) {
       // Тут будет то, что выполняется при получении сообщения
   }

   @Override
   public String getBotToken() {
       return "YOUR_BOT_TOKEN";
               //Токен бота
   }

}
Получить токен и username можно вбив в поиск @BotFather и написать ему /newbot

3.Как же нам добавить в него что-нибудь?

В телеграме нет «приветствующего сообщения», но когда мы нажимаем кнопку «Start» чтобы начать общение с ботом, то автоматом прописывается команда "/start", поэтому для начала добавим именно её. В telegramapi нету метода отправить сообщение по типу send(строка), но мы его создадим, после всех войдов пишем:


Код:
 @SuppressWarnings("deprecation") // Означает то, что в новых версиях метод уберут или заменят
   private void sendMsg(Message msg, String text) {
       SendMessage s = new SendMessage();
       s.setChatId(msg.getChatId()); // Боту может писать не один человек, и поэтому чтобы отправить сообщение, грубо говоря нужно узнать куда его отправлять
       s.setText(text);
       try { //Чтобы не крашнулась программа при вылете Exception
           sendMessage(s);
       } catch (TelegramApiException e){
           e.printStackTrace();
       }
   }
А в UpdateReceived дописываем это:
Код:
Message msg = e.getMessage(); // Это нам понадобится
       String txt = msg.getText();
       if (txt.equals("/start")) {
           sendMsg(msg, "Hello, world! This is simple bot!");
       }

4.Ура, всё получилось, как запустить?
Можно в Runnable JAR File так как у нас есть метод main, но лучше запускать прямо из IDE:


3db5be4bea494a35b612c56a80988954.png


Когда мы запустили бота, зарегистрировали и получили токен у BotFather, то мы можем написать ему /start и увидеть что всё работает. Но бот будет работать только когда он запущен.(Много ему не нужно, за 50-100 рублей/месяц на хостинге можно держать). Также с помощью Telegram API можно отправлять картинки, создавать inline-ботов с кнопками и многое другое.

Спасибо всем за просмотр!
 
Вверх