4ashk1n / donotfailbot

LMS System for Telegram

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Do not fail bot 1.2

Do not fail bot - LMS, интегрированная в чат-бот Telegram. В ней могут работать как ученики, так и учителя. Она легко подстраивается под нужды каждого и может быть задействована в пользовательском боте.

Нововведения

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

  • Интерфейс стал еще удобнее! Теперь почти все манипуляции совершаются не командами, а специальными кнопками. Вызвать меню кнопок можно с помощью команды /menu

  • Просмотр статистики и базы данных заданий перенесён на веб-сайт. Зачем помнить ID всех заданий наизусть и листать огромное сообщение с статистикой, если можно просто открыть веб-сайт с удобной и понятной табличкой, где будут все необходимые вам данные? Команда /taskslist попросит бота отправить Вам сайт с базой данных заданий, а ссылка на статистику будет прикрепляться к самой статистике. Домен сайта создается из случайной последовательности букв, так что, даже если ваши ученики узнают его, достаточно будет перезагрузить программу и домен обновится.

  • Отправка слишком большой статистики файлом. Хотите посмотреть статистику ученика, но она слишком большая? Выход есть! Теперь слишком большая статистика будет отправляться в виде текстового файла

Интеграция и запуск

Все файлы бота должны находиться в одной папке!

Создайте в папке с ботом файлы (если их нет)

  • stats.db
  • tasks.db
  • users.db

Запустите командную строку (Win+R, вписать "cmd"), впишите cd <путь к папке с ботом>, и впишите команду

pip install -r requirements.txt

Чтобы интегрировать систему в Вашего чат-бота (чат-бота можно создать с помощью @BotFather), достаточно вписать токен Вашего бота в кавычках в поле bot_token в файле dontfailbot.py:

bot_token ="1234567890:ABCDEFGHIJKLMN-ABCDEFGHIJKLMNOPQRST"

Далее узнайте свой ID с помощью @userinfobot и впишите его в поле owner

owner = 987654321

Теперь подключим систему к Google Диску, где она будет хранить медиафайлы из базы данных. Чтобы сделать это, нужно перейти по ссылке https://developers.google.com/drive/api/v3/quickstart/python и нажать на кнопку Enable the Drive API. Имя проекта можете выбрать любое, это ни на что не влияет. Выберите тип программы "Desktop app". Нажмите кнопку DOWNLOAD CLIENT CONFIGURATION, скачается файл credentials.json. Вам нужно переименовать его в client_secrets.json и переместить в папку, где содержатся остальные файлы бота. Прекрасно, теперь создайте в используемом Google Диске папку, в которой будут храниться файлы. Перейдите в нее и скопируйте ссылку на нее. Вставьте ее в поле folder и сотрите всё, кроме последнего набора символов, поместив его в кавычки

folder = "1a2B3c4d5E-AbcDeFG-Abc"

Запустите программу. Не пугайтесь, если начнётся загрузка ngrok. После запуска в браузере откроется окно входа в учётную запись Google. Выберите ту учётную запись, на диске которой будут храниться файлы. Если вам говорят, что подключение не безопасно, то нажмите "дополнительные настройки" и перейдите на страницу программы. Вы делаете это один раз, после следующих запусков программы авторизация не потребуется.

При первом запуске напишите /start, чтобы зарегистрироваться в системе. Не забудьте написать команду /startbot, чтобы подключить бота к работе с веб-сайтом.

Для просмотра файлов базы данных (db), рекомендуем бесплатную программу DB Browser (SQLite) -> https://sqlitebrowser.org/dl/

FAQ

  • pip не является внешней или внутренней командой, что делать? Чтобы устранить данную проблему, потребуется переустановка Python. При установке надо выбрать пункт Add Python to PATH

  • Я боюсь, что Вы украдёте мои данные с Google Drive. Программу с Google Drive API создаёте лично Вы, когда нажимаете Enable the Drive API. Данные о вашей авторизации хранятся только на Вашем компьютере. Вы можете создать отдельный аккаунт Google, если боитесь, что мы украдём Ваши данные.

Тех. поддержка

Если возникли какие-то проблемы или идеи по совершенствованию, вы можете связаться с нами по электронной почте - vabotlms@gmail.com

About

LMS System for Telegram


Languages

Language:Python 97.9%Language:HTML 2.1%