Gift Bot - это простой Telegram-бот, предназначенный для отправки поздравлений и сообщений вашим коллегам. Он поддерживает регистрацию пользователей, рассылку сообщений администраторами и управление пользователями.
- Регистрация и аутентификация пользователей.
- Функции администратора для отправки сообщений всем пользователям или выбранным пользователям.
- Возможность удаления пользователей из базы данных администраторами.
-
Клонируйте репозиторий:
git clone https://github.com/yourusername/gift-bot.git cd gift-bot
-
Установите зависимости:
go mod tidy
-
Настройте бота:
- Переименуйте
config-example.yml
вconfig.yml
. - Обновите
config.yml
, добавив токен вашего Telegram-бота и другие необходимые настройки.
- Переименуйте
-
Настройте базу данных:
- Запустите миграции базы данных, расположенные в
db/migrations
.
- Запустите миграции базы данных, расположенные в
-
Соберите и запустите бота:
go build -o gift-bot ./gift-bot
-
Убедитесь, что у вас установлен Docker и Docker Compose.
-
Измените файл
docker-compose.yml
в корне проекта со следующим содержимым:version: '3.8' services: gift-backend: build: context: . dockerfile: Dockerfile container_name: gift-backend restart: always ports: - "7075:7075" depends_on: postgres: condition: service_healthy networks: - gift-network volumes: - ./db/migrations:/app/migrations pos 83AB tgres: image: postgres:latest user: postgres environment: - POSTGRES_DB=giftdb - POSTGRES_PASSWORD=qwertyqqq command: postgres -c 'max_connections=500' -c 'shared_buffers=256MB' ports: - "5544:5432" volumes: - pg-data:/var/lib/postgresql/data networks: - gift-network healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 5s timeout: 5s retries: 5 volumes: pg-data: networks: gift-network:
-
Запустите Docker Compose:
docker-compose up -d
Это создаст и запустит контейнеры для вашего Telegram-бота и PostgreSQL базы данных.
-
/start: Зарегистрируйтесь и начните взаимодействие с ботом.
Бот поприветствует пользователя и предоставит краткое введение.
-
/chat: Получите ваш уникальный ID чата.
Бот ответит уникальным ID чата пользователя.
-
/login: Войдите в бот, используя секретное слово.
Бот попросит пользователя ввести секретное слово для аутентификации.
-
/message: Отправьте сообщение всем пользователям.
Бот попросит администратора ввести сообщение. После этого предоставит список пользователей для исключения из рассылки. После выбора сообщение отправляется всем пользователям, которые не были исключены.
-
/delete: Удалите пользователей из базы данных.
Бот попросит администратора ввести логины пользователей, которых нужно удалить, через запятую. Указанные пользователи будут удалены из базы данных.
-
/start:
/start
Ответ бота:
Привет, <username>! Это простой телеграм бот для поздравляшек своих близких коллег. Тут есть пару команд, чтобы ты мог начать получать сообщения! Если что-то будет не так, то ты всегда можешь написать своему администратору для устранения проблем.
-
/message:
/message
Ответ бота:
Введите сообщение, которое хотите отправить всем пользователям:
После ввода сообщения:
Выберите пользователей, которым не нужно отправлять сообщение. Для отмены введите 'отмена'.
Администратор выбирает пользователей для исключения и нажимает "Отправить".
-
/delete:
/delete
Ответ бота:
Введите логины пользователей через запятую, которых хотите удалить:
Администратор вводит логины:
<username1>, <username2>
Ответ бота:
Пользователи успешно удалены.
Для добавления роли администратора определенному пользователю, необходим доступ до БД и ручками поменять в ней роль пользователя с user на admin.
Если вы хотите внести вклад в этот проект, пожалуйста, откройте pull request или issue на GitHub.
Этот README предоставляет обзор проекта Gift Bot, его функций, инструкции по установке и примеры использования. Это должно помочь вам начать работу с ботом и понять его функциональные возможности.