Kartoshka Bot — это дружелюбный Telegram-бот для модерации и публикации мемов в вашем чате. Он создан, чтобы сделать процесс публикации мемов простым, безопасным и веселым!
Бот поддерживает два режима работы:
- Обычный режим (Единоличный Узурпатор): решения о публикации мемов принимает единоличный модератор.
- Криптоселектархическая олигархия: решения принимаются коллективно группой тайных модераторов (криптоселектархов), и для публикации или отклонения мема требуется определённое количество голосов.
- 📝 Возможность публикации текстовых, фото, видео и GIF-мемов
- 🎭 Два режима публикации через удобные кнопки:
- 👤 От своего имени (с указанием автора)
- 🥔 Анонимно (от имени "Картошки")
- 👥 Система модерации контента:
- Обычный режим: модерация осуществляется единоличным модератором
- Криптоселектархическая олигархия: решения принимаются коллективно группой криптоселектархов
- ⚡ Система срочной публикации:
- Криптоселектархи могут использовать кнопку "Срочно" для важных мемов
- Если 51% и более от требуемого числа голосов "Срочно" - мем публикуется немедленно
- Например: при требуемых 3 голосах нужно минимум 2 срочных (3 × 0.51 ≈ 1.53, округляется вверх до 2)
- При недостаточном количестве срочных голосов мем публикуется в общей очереди
- ✅ Кнопки модерации для редакторов: Одобр. / Срочно / Откл.
- ✨ Автоматическое уведомление авторов о статусе их публикаций
- 📢 Динамическое приветственное сообщение, которое меняется в зависимости от текущего режима бота
-
Клонируйте репозиторий:
git clone git@github.com:kryuchenko/kartoshka_bot.git cd kartoshka_bot
-
Создайте файл
.env
:- Пример содержимого:
BOT_TOKEN=1234567890:ABCdefGHIjklMNOpqrsTUVwxyz EDITOR_IDS=123456789 PUBLISH_CHAT_ID=-100123456789 BOT_NAME="Картошка Бот" POST_FREQUENCY_MINUTES=180 CRYPTOSELECTARCHY=true VOTES_TO_APPROVE=3 VOTES_TO_REJECT=3
- Пример содержимого:
-
Запустите автоматический скрипт установки:
sudo ./setup_kartoshka_service.sh
Скрипт автоматически:
- Установит виртуальное окружение (
venv
) и все зависимости изrequirements.txt
. - Настроит
systemd
для автоматического управления ботом. - Запустит и включит бота для автозапуска при старте системы.
- Установит виртуальное окружение (
-
Проверьте статус службы:
sudo systemctl status kartoshka_bot
Вы должны увидеть, что служба активна.
-
Активируйте виртуальное окружение:
source venv/bin/activate
-
Запустите бота вручную:
python3 kartoshka_bot.py
-
Для остановки нажмите
Ctrl+C
.
-
Перезапустить бота:
sudo systemctl restart kartoshka_bot
-
Остановить бота:
sudo systemctl stop kartoshka_bot
-
Отключить автозапуск:
sudo systemctl disable kartoshka_bot
- 🛡️ Защита чата от нежелательного контента
- 🎯 Централизованная модерация материалов
- 💫 Возможность анонимной публикации
- 👥 Выбор между единоличной и коллективной модерацией
- 📨 Автоматические уведомления
- 🤝 Удобный интерфейс для модераторов с кнопками для голосования
- 🗳️ Возможность настроить количество голосов для принятия решения в режиме криптоселектархии
С любовью к мемам и картошке! 🥔✨