Skip to content

samitova-ekaterina/hello-telegram-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Telegram Bot на Go

Этот проект представляет собой Telegram-бота, написанного на языке Go, который обладает следующими возможностями:

  1. Отправляет в ответ на любое сообщение его перевёрнутый вариант (например, "привет" → "тевирп")
  2. Обрабатывает команду /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 (для функции генерации историй)

Установка и запуск

  1. Клонируйте репозиторий:

    git clone https://github.com/your-username/hello-telegram-bot.git
    cd hello-telegram-bot
  2. Установите зависимости:

    go mod download
  3. Создайте файл .env в корне проекта со следующим содержимым (замените значения на свои):

    TELEGRAM_BOT_TOKEN=your_telegram_bot_token_here
    OPENAI_API_KEY=your_openai_api_key_here
    
  4. Запустите бота:

    go run .

Безопасное хранение API ключей

В этом проекте для безопасного хранения API ключей используется файл .env и библиотека godotenv. Это позволяет:

  1. Хранить чувствительные данные (токены, ключи) отдельно от кода
  2. Избежать случайной публикации секретов в репозиторий (файл .env добавлен в .gitignore)
  3. Легко менять значения токенов без изменения кода

Важно: Никогда не добавляйте реальные API ключи напрямую в код или в репозиторий Git.

Тестирование

Для запуска unit-тестов выполните:

go test ./...

Функциональность

Переворачивание строк

Бот отвечает на любое текстовое сообщение его перевёрнутым вариантом.

Генерация историй

При отправке команды /story бот генерирует короткую научно-фантастическую историю с помощью модели GPT-4.1-nano от OpenAI.

Лицензия

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages