Telegram-бот, разработанный для автоматизации коммуникации и оказания информационной поддержки людям, нуждающимся в волонтерской помощи. Бот предоставляет полезные ресурсы, организует обратную связь и упрощает процесс запроса помощи.
- Полезные ресурсы - подборка тематических каналов (рецепты, мода, позитив)
- Психологическая поддержка - ссылки на службы психологической помощи
- Приглашение волонтеров - организация помощи с продуктами, лекарствами
- Система "Отдам даром" - барахолка для нуждающихся
- Динамическое управление контентом - редактирование сообщений и изображений
- Управление администраторами - добавление/удаление прав доступа
- Гибкая система кнопок - изменение текста и структуры меню
- Обратная связь - сбор и пересылка сообщений от пользователей
- Язык программирования: Python 3.x
- Библиотека: PyTelegramBotAPI
- Архитектура: Событийно-ориентированное программирование
- Хранение данных: In-memory словари (возможность миграции на БД)
- Деплой: Локальный сервер/хостинг с поддержкой Python
contentсловарь - централизованное хранение всех сообщений и медиа- Inline Keyboard система - динамическое создание меню
- Admin middleware - проверка прав доступа
- Message handlers - обработка callback-запросов и команд
- Главное меню - навигация по основным разделам
- Полезности - каталог полезных Telegram-каналов
- Помощь - экстренная и волонтерская помощь
- Обратная связь - связь с кураторами отряда
- Управление контентом - редактирование текстов и изображений
- Настройка кнопок - изменение интерфейса бота
- Управление доступом - права администраторов
- Python 3.8+
- Telegram Bot Token от @BotFather
Клонирование репозитория:
git clone <repository-url>
cd volunteer-telegram-botУстановка зависимостей:
pip install pytelegrambotapiНастройка конфигурации:
echo "TOKEN = 'YOUR_BOT_TOKEN_HERE'" > config.pyЗапуск:
python bot.pyОсновные настройки:
TOKEN = 'your_telegram_bot_token'
ADMIN_IDS = [949370894, 1609574531] # Список администраторов
NEW_ADMINS = [] # Динамически добавляемые администраторыСтруктура контента:
Бот использует единый словарь content для хранения всех текстов, изображений и структуры меню, что позволяет легко редактировать контент без изменения кода.
- 📡 Полезности - полезные каналы и ресурсы
- 🆘 Помощь - экстренная и волонтерская помощь
- 💬 Обратная связь - связь с кураторами
- 👥 Добавить/удалить администратора
- ✏️ Редактирование сообщений
- 🖼 Управление изображениями
- 🔘 Настройка кнопок интерфейса
Расширение функциональности:
Добавление новой команды:
@bot.message_handler(commands=['new_command'])
def handle_new_command(message):
# Логика обработки команды
passДобавление нового раздела в контент:
new_section = {
"section_name": {
"message": "Текст сообщения",
"image": "image_file_id",
"buttons": {
"1": {"text": "Кнопка 1", "callback_data": "button_1"}
}
}
}Миграция на базу данных: Текущая версия использует in-memory хранение. Для продакшн-использования рекомендуется:
- Миграция на SQLite/PostgreSQL
- Реализация системы логов
- Добавление системы бэкапов
Логирование:
- Отслеживание пользовательской активности
- Логи ошибок и исключений
- Мониторинг производительности
Метрики:
- Количество активных пользователей
- Статистика использования функций
- Эффективность волонтерской помощи
Этот проект распространяется под лицензией MIT.
Волонтерский отряд 4:8
Лицей №2 города Брянска
- Куратор: @lnmkhlvn
Разработано с ❤️ для помощи людям | Брянский государственный технический университет
Куратор: @lnmkhlvn