Этот проект представляет собой Telegram-бота, написанного на языке Go, который обладает следующими возможностями:
- Отправляет в ответ на любое сообщение его перевёрнутый вариант (например, "привет" → "тевирп")
- Обрабатывает команду
/story, при которой генерирует и отправляет короткую научно-фантастическую историю до 400 символов с помощью OpenAI API
hello-telegram-bot/
├── main.go // Точка входа, запуск бота
├── bot.go // Обработка логики бота
├── openai.go // Функция обращения к OpenAI API
├── utils/
│ ├── reverse.go // Функция для переворачивания строки
│ └── reverse_test.go // Unit-тесты для функции
├── .env // Файл с переменными окружения (не включается в Git)
├── .gitignore // Файлы, исключаемые из Git
├── go.mod // Управление зависимостями
└── README.md // Документация
- Go 1.20 или новее
- Токен Telegram бота (можно получить у @BotFather)
- API ключ OpenAI (для функции генерации историй)
-
Клонируйте репозиторий:
git clone https://github.com/your-username/hello-telegram-bot.git cd hello-telegram-bot -
Установите зависимости:
go mod download
-
Создайте файл
.envв корне проекта со следующим содержимым (замените значения на свои):TELEGRAM_BOT_TOKEN=your_telegram_bot_token_here OPENAI_API_KEY=your_openai_api_key_here -
Запустите бота:
go run .
В этом проекте для безопасного хранения API ключей используется файл .env и библиотека godotenv. Это позволяет:
- Хранить чувствительные данные (токены, ключи) отдельно от кода
- Избежать случайной публикации секретов в репозиторий (файл
.envдобавлен в.gitignore) - Легко менять значения токенов без изменения кода
Важно: Никогда не добавляйте реальные API ключи напрямую в код или в репозиторий Git.
Для запуска unit-тестов выполните:
go test ./...Бот отвечает на любое текстовое сообщение его перевёрнутым вариантом.
При отправке команды /story бот генерирует короткую научно-фантастическую историю с помощью модели GPT-4.1-nano от OpenAI.
MIT