An open API service indexing awesome lists of open source software.

https://github.com/xirzo/groupbot

Telegram-бот для управления списками участников группы
https://github.com/xirzo/groupbot

lists telegram telegram-bot

Last synced: 11 months ago
JSON representation

Telegram-бот для управления списками участников группы

Awesome Lists containing this project

README

          

# GroupBot 🤖

GroupBot — это Telegram-бот для эффективного управления списками участников группы.

## Особенности ✨

- **/start**: Отобразить меню для выбора списка для отображения (работает только в личных сообщениях).
- **/addlist**: Добавление нового списка участников (только администраторы).
- **/removelist**: Удаление списка участников (только администраторы).
- **/toend**: Перемещение участника в конец списка.
- **/list**: Отображение списка участников.
- **/lists**: Отображение всех списков участников.
- **/swap**: Обмен позиций между участниками.
- **/sift**: Просеять список после окончания пары.
- **Принять**: Принятие запроса на обмен.
- **/addadmin**: Добавить нового админа.
- **Отказаться**: Отклонение запроса на обмен.
- **/help**: Увидеть список команд.

### Важно ⚠️

Для функции **swap** требуется, чтобы участник, принимающий запрос, до этого хотя бы раз писал в личные сообщения боту.

## Установка 🚀

### Запуск через Docker

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

```sh
git clone https://github.com/xirzo/GroupBot.git
cd GroupBot
```

2. **Создайте конфигурационные файлы:**

- Создайте файл `.env` в корневой директории проекта и добавьте в него ваш ключ:

```env
BOT_TOKEN=YOUR_TOKEN
```

- Создайте файл `participants.json` со списком всех участников вашей группы и поместите его в:

```plaintext
GroupBot/GroupBot.Program/participants.json
```

- Создайте файл `admins.json` со списком ID администраторов (ID - это место человека в `participants.json`) и поместите его в:

```plaintext
GroupBot/GroupBot.Program/admins.json
```

Пример содержимого `admins.json`:

```json
[
4,
6
]
```

- Создайте файл `appsettings.json` с конфигурацией базы данных и поместите его также в директорию `GroupBot/GroupBot.Program/`:

```json
{
"Database": {
"Path": "bot_data.db"
}
}
```

- Если у вас уже есть база данных (`bot_data.db`), разместите её в:

```plaintext
GroupBot/GroupBot.Program/bot_data.db
```

3. **Соберите и запустите бота:**

Соберите образ:

```sh
docker compose build
```

Затем запустите контейнер:

```sh
docker compose up
```