Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TGBOT66

Authentication.java

Класс Authentication реализует логику для работы с Telegram API, включая получение обновлений, обработку сообщений, и отправку ответов. Основные функции включают регистрацию пользователей, проверку правильности введенных данных и управление правами администратора.

Поля класса:

  • API_URL: URL API, к которому подключается класс.
  • mock_users: Хранит данные пользователей, зарегистрированных в боте.
  • admin_id: Хранит идентификатор администратора чата.

Методы:

1. getUpdates(long offset):

Описание: Получает обновления (новые сообщения) от Telegram API. Логика:

  • Формирует URL для запроса.
  • Открывает соединение и выполняет GET-запрос.
  • Считывает ответ и преобразует его в JSON.
  • Возвращает массив обновлений (JSONArray).

2. handleUpdate(JSONObject update):

Описание: Обрабатывает полученное обновление. Логика:

  • Проверяет, есть ли сообщение.
  • Извлекает данные сообщения (текст, идентификатор чата, пользователя).
  • Обрабатывает команды (/start, /delete_me) и ввод данных.
  • Изменяет статус пользователя и отправляет соответствующие ответы.

3. sendMessage(String chatId, String text):

Описание: Отправляет сообщение пользователю. Логика:

  • Создает HTTP POST-запрос к API для отправки сообщения.
  • Записывает данные сообщения в поток.
  • Проверяет код ответа и выводит результат.

4. sendYesNoQuestion(String chatId):

Описание: Отправляет пользователю сообщение с вопросом и кнопками для ответа. Логика:

  • Создает HTTP POST-запрос для отправки сообщения с кнопками.
  • Отправляет сообщение с использованием JSON для формирования inline-клавиатуры.

5. isValidGroupFormat(String group):

Описание: Проверяет правильность формата группы. Логика:

  • Использует регулярное выражение для проверки формата группы (например, "ИУ10-66").
  • Возвращает true, если формат правильный, и false в противном случае.

6. handleCallbackQuery(String chatId, String callData):

Описание: Обрабатывает нажатия на кнопки inline-клавиатуры. Логика:

  • Проверяет наличие пользователя в списке зарегистрированных.
  • Обрабатывает ответы "Да" и "Нет" на вопрос о корректности введенных данных.
  • Изменяет статус пользователя в зависимости от ответа.

Класс User: Этот вложенный класс представляет пользователя и включает методы для управления состоянием регистрации.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages