pingpongerbot — это Telegram-бот, написанный на Go, который отвечает на команды и выполняет простые действия. Это учебный проект, созданный для изучения работы с Telegram Bot API и библиотекой Telebot.

Основные команды:
- /start - приветствие
- /ping - бот скажет «pong!» в ответ
- /echo - напиши /echo <любой текст здесь>, бот продублирует твое сообщение
Обработка некорректного ввода:
Любой неизвестный текст или медиа сообщение перенаправляет пользователя на приветственное сообщение.
Логирование:
- Логирует взаимодействия с пользователями (ID чата, имя пользователя, текст сообщения).
- Логирует ошибки для их дальнейшего анализа.
Обработка ошибок:
Показывает пользователю дружелюбное сообщение об ошибке и сохраняет её детали в логах.
- ЯП: Go (Golang)
- Telegram Bot Framework: telebot.v4
- Управление конфигурацией: joho/godotenv для работы с переменными окружения.
- Логирование: rs/zerolog для структурированного логирования.
pingpongerbot/
├── cmd/
│ └── pingpongerbot/
│ └── main.go
├── internal/
│ ├── app/
│ │ └── app.go
│ ├── handlers/
│ │ └── handlers.go
├── middleware/
│ ├── error.go
│ └── logger.go
├── .gitignore
├── go.mod
└── go.sum
main.go
- Инициализирует приложение с помощью InitApp.
- Добавляет middleware для обработки ошибок и логирования.
- Регистрирует команды.
- Обрабатывает неизвестные сообщения через группу unrecognized.
app.go
- Конфигурирует бота с использованием telebot.NewBot.
- Устанавливает токен, настройки поллера и обработку ошибок.
- Опция оффлайн-режима для тестирования.
handlers.go
- Start: Приветственное сообщение, описание и список доступных команд.
- Ping: Отправляет “pong!”.
- Echo: Повторяет сообщение пользователя.
logger.go:
- Логирует обновления (ID чата, имя пользователя, текст сообщения).
- Логирует ошибки с дополнительной информацией.
error.go:
Отправляет пользователю сообщение об ошибке и записывает её детали.