Skip to content

Triler1/1C_bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 

Repository files navigation

[[Описание решения: Telegram-бот для симуляции IT-профессий

  1. Основные преимущества решения

1.1. Уникальная концепция

· Практическая профориентация: Пользователь не просто читает о профессиях, а выполняет реальные рабочие задачи · Эффект погружения: Имитация первого рабочего дня с интерактивным сценарием · Три траектории развития: 1С-разработчик, Unreal Engine разработчик, бэкенд-разработчик

1.2. Технические преимущества

· Простая интеграция: Работает через Telegram, не требует установки дополнительных приложений · Сохраняемость состояния: Прогресс пользователя сохраняется между сессиями · Мультимедийность: Поддержка видео-контента и интерактивных клавиатур · Масштабируемость: Архитектура позволяет легко добавлять новые профессии и задания

1.3. Бизнес-преимущества

· Низкий порог входа: Пользователи начинают взаимодействие за 2 клика · Автоматизация профориентации: Не требует участия HR-специалистов · Сбор аналитики: Трекер выполнения заданий для анализа интересов аудитории

  1. Используемый технологический стек

2.1. Основная платформа

· 1С:Предприятие 8.3 (версия 8.3.17 и выше) · Встроенный язык программирования 1С

2.2. База данных

· PostgreSQL или Microsoft SQL Server (через платформу 1С)

2.3. Интеграции и API

· Telegram Bot API (через стандартные механизмы 1С) · HTTP-сервисы для обработки webhook-запросов

2.4. Архитектурные компоненты

· Регистры сведений: · ТелеграмСостояние - текущий прогресс и состояние пользователя · ТелеграмСтатусЗадач - результаты выполнения заданий · Очередь задач - для асинхронной обработки сообщений · Динамические клавиатуры - для интерактивного взаимодействия

2.5. Внешние ресурсы

· Видеофайлы для интро и итоговых роликов · Файловое хранилище для медиаконтента

  1. Как работает система

3.1. Общая схема работы

Пользователь → Telegram → Webhook → 1С → Обработка → Ответ пользователю 3.2. Основной цикл взаимодействия

  1. Старт: /start → Приветствие → Выбор профессии
  2. Выбор профессии: 1С / Unreal Engine / Бэкенд
  3. Введение: Описание первого рабочего дня
  4. Выполнение заданий: 3 практических кейса по каждой профессии
  5. Проверка ответов: Автоматическая валидация с обратной связью
  6. Итоги: Видео-результат в зависимости от успешности выполнения

3.3. Ключевые обработчики

· ПриОбработкеЭлементаОчереди() - главный обработчик входящих сообщений · Управление состоянием: · УстановитьСостояние() - сохранение текущего прогресса · ПолучитьСостояние() - восстановление состояния пользователя · Проверка заданий: · УстановитьСтатусЗадания() - запись результата · ПолучитьПравильныйВариант() - валидация ответов

3.4. Логика заданий

· Каждая профессия: 3 тематических задания · Формат: вопрос + 4 варианта ответа · Автоматическая проверка с объяснением · Прогресс сохраняется в регистрах сведений

  1. Инструкция по запуску

4.1. Предварительные требования

· 1С:Предприятие 8.3 (не ниже версии 8.3.17) · Доступ к серверу с публичным IP для webhook · Telegram аккаунт для создания бота

4.2. Шаг 1: Создание Telegram-бота

  1. Открыть Telegram

  2. Найти @BotFather

  3. Команда: /newbot

  4. Задать имя бота (например: NextWW Career Bot)

  5. Получить токен (сохранить для шага 4)

  6. Настроить webhook командой: https://api.telegram.org/bot{ВАШ_ТОКЕН}/setWebhook?url={URL_вашего_сервера} 4.3. Шаг 2: Подготовка среды 1С

  7. Создать новую информационную базу

  8. Импортировать структуру метаданных:

    • Регистры сведений: ТелеграмСостояние, ТелеграмСтатусЗадач
    • Общие модули с обработчиками
  9. Настроить HTTP-сервис для приема webhook 4.4. Шаг 3: Настройка конфигурации

// Основные параметры:

  1. Токен бота: установить в константы или параметры

  2. URL webhook: указать внешний адрес сервера

  3. Пути к медиафайлам:

    • C:\Video\intro.mp4
    • [другие видеофайлы]
  4. Настройки базы данных: подключение к PostgreSQL/MS SQL 4.5. Шаг 4: Развертывание кода

  5. Скопировать предоставленный код в соответствующие модули

  6. Настроить обработчик HTTP-запросов

  7. Создать фоновое задание для обработки очереди

  8. Протестировать локально с использованием ngrok (для разработки)

4.6. Шаг 5: Запуск и тестирование

  1. Запустить информационную базу в режиме предприятия
  2. Активировать фоновые задания
  3. Отправить /start вашему боту
  4. Пройти полный цикл по каждой профессии
  5. Проверить сохранение состояния

4.7. Шаг 6: Мониторинг и поддержка

  1. Настроить логирование ошибок
  2. Реализовать панель мониторинга прогресса пользователей
  3. Настроить уведомления об ошибках
  4. Подготовить backup-стратегию для базы данных
  5. Структура проекта
  6. Возможности расширения

· Добавление новых IT-профессий · Интеграция с CRM-системами · Система достижений и рейтингов · Поддержка многоязычности · Аналитика и отчетность по выбору профессий При получении первого сообщения предлагает выбрать вопрос на клавиатуре в поле ввода

Каждый вопрос сопровождается вариантами ответа, пользователю дается одна попытка ответа

Тест с расшифровкой

Для работы режима необходимо предварительное заполнение справочников Вопросы теста с расшифровкой и Расшифровка теста с расшифровкой

Подразумевается, что варианты ответа пронумерованы и включены в текст вопроса. Бот выводит номерные кнопки, для каждого ответа. Количество баллов для расшифровки оказывается в табличной части вопроса.

Расшифровка результата отправляется пользователю после ответа на все вопросы, выбирается элемент справочника, в диапазон значений которого попадает сумма набранных пользователем баллов.

Дополнительном можно настроить приветственное и финальное сообщение. Настройки выполняются в обработке Настройка теста с расшифровкой в разделе Тест с расшифровкой.

При желании пользователь может перезапустить тест командой "/start" и пройти заново.

Создание своих функций

Для создания своего режима работы бота необходимо:

  1. Добавить режим работы бота в перечисление РежимРаботыБота
  2. Создать свой общий модуль (можно скопировать ТелеграмЭхо)
  3. В методе ИнтеграцияТелеграмПереопределяемый.ПриОбработкеЭлементаОчереди добавить обработку нового элемента перечисления с передачей управления в новый общий модуль
  4. Реализовать в своем общем модуле небходимые функции, добавить необходимые объекты метаданных для работы алгоритма
  5. Создать новую подсистему и включить в нее все добавленные объекты

При недостаточной функциональности методов взаимодействия с API оставляейте пожелания в https://github.com/matvey-seregin/game-tg-1c-bot/issues или самостоятельно реализуйте необходимую функциональность и направляйте Pull requests для включения новых функций в основную ветку. ](https://github.com/Triler1/1C_bot/blob/main/readme.md)](https://github.com/Triler1/1C_bot/blob/main/readme.md)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors