Skip to content

Commit

Permalink
README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
Radio125 authored Jun 11, 2024
1 parent 2a39515 commit 50624c9
Showing 1 changed file with 154 additions and 113 deletions.
267 changes: 154 additions & 113 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# SCORM (iSpring Learn) Test Decoder Telegram Bot

![Build Status](https://img.shields.io/github/actions/workflow/status/Radio125/SCORM-Test-Decoder-Telegram-Bot/main.yml?branch=main)
![Build Status](https://img.shields.io/github/actions/workflow/status/Radio125/SCORM-Test-Decoder-Telegram-Bot/ci.yml?branch=main)
![License](https://img.shields.io/github/license/Radio125/SCORM-Test-Decoder-Telegram-Bot)

## Table of Contents
Expand All @@ -14,132 +14,173 @@
- [Author](#author)
- [License](#license)

<details id="description">
<summary>### Description</summary>
The **SCORM Test Decoder Telegram Bot** is designed to facilitate the extraction and decoding of SCORM (Sharable Content Object Reference Model) test questions and answers from JSON files. It supports SCORM versions 1.2 and 2004, making it a versatile tool for analyzing test data.
## Description
<details>
<summary>Click to expand</summary>
<p>The <strong>SCORM Test Decoder Telegram Bot</strong> is designed to facilitate the extraction and decoding of SCORM (Sharable Content Object Reference Model) test questions and answers from JSON files. It supports SCORM versions 1.2 and 2004, making it a versatile tool for analyzing test data.</p>
</details>

<details id="features">
<summary>### Features</summary>
- **Upload and Decode SCORM Files**: Users can upload `data-1.json` files containing encrypted SCORM test questions. The bot decrypts the data and provides a readable output.
- **SCORM Test Parsing**: The bot automatically identifies the type of each question and provides the correct answers.
- **Real-Time Responses**: Provides immediate feedback by decoding and displaying test content upon file upload.
- **Comprehensive Overview**: Displays all test questions and answers in a single window for quick review.
## Features
<details>
<summary>Click to expand</summary>
<ul>
<li><strong>Upload and Decode SCORM Files</strong>: Users can upload <code>data-1.json</code> files containing encrypted SCORM test questions. The bot decrypts the data and provides a readable output.</li>
<li><strong>SCORM Test Parsing</strong>: The bot automatically identifies the type of each question and provides the correct answers.</li>
<li><strong>Real-Time Responses</strong>: Provides immediate feedback by decoding and displaying test content upon file upload.</li>
<li><strong>Comprehensive Overview</strong>: Displays all test questions and answers in a single window for quick review.</li>
</ul>
</details>

<details id="how-to-use">
<summary>### How to Use</summary>
1. **Start the Bot**: Add the bot to your Telegram contacts and start a chat.
2. **Upload SCORM JSON File**: Send the `data-1.json` file containing SCORM test data to the bot.
3. **Receive Decoded Content**: The bot processes the file and returns the decoded questions and answers in a readable format.
## How to Use
<details>
<summary>Click to expand</summary>
<ol>
<li><strong>Start the Bot</strong>: Add the bot to your Telegram contacts and start a chat.</li>
<li><strong>Upload SCORM JSON File</strong>: Send the <code>data-1.json</code> file containing SCORM test data to the bot.</li>
<li><strong>Receive Decoded Content</strong>: The bot processes the file and returns the decoded questions and answers in a readable format.</li>
</ol>
</details>

<details id="example-result">
<summary>### Example Result</summary>
**Question**: Now match the pairs as they should be:
- **Type**: Matching
- **Answers**:
- 🔗 Pair 1 part 1 -> Pair 1 part 2
- 🔗 Pair 2 part 1 -> Pair 2 part 2
- 🔗 Pair 3 part 1 -> Pair 3 part 2
**Question**: How many blue hairs does Harry Potter have?
- **Type**: Multiple Choice
- **Answers**:
- ❌ A hundred million
- ❌ None
- ✅ Twenty-five
- ❌ Fifty-four
**Question**: Enter the answer to your question from me, how much does a kilo of raisins cost in raisins?
- **Type**: Text Input
**Question**: What is the sequence of notes?
- **Type**: Sequencing
- **Answers**:
1️⃣ Do
2️⃣ Re
3️⃣ Mi
4️⃣ Fa
5️⃣ So
6️⃣ La
7️⃣ Ti
**Question**: There are 2 correct answers, try to guess which options are correct:
- **Type**: Multiple Response
- **Answers**:
- ✅ Second option
- ✅ Option one
- ❌ This is the third option
- ❌ And here is the fourth option
## Example Result
<details>
<summary>Click to expand</summary>
<p><strong>Question</strong>: Match the pairs as they should be:</p>
<ul>
<li><strong>Type</strong>: Matching</li>
<li><strong>Answers</strong>:
<ul>
<li>🔗 Pair 1 part 1 -> Pair 1 part 2</li>
<li>🔗 Pair 2 part 1 -> Pair 2 part 2</li>
<li>🔗 Pair 3 part 1 -> Pair 3 part 2</li>
</ul>
</li>
</ul>
<p><strong>Question</strong>: How many blue hairs does Harry Potter have?</p>
<ul>
<li><strong>Type</strong>: Multiple Choice</li>
<li><strong>Answers</strong>:
<ul>
<li>❌ A hundred million</li>
<li>❌ None</li>
<li>✅ Twenty-five</li>
<li>❌ Fifty-four</li>
</ul>
</li>
</ul>
<p><strong>Question</strong>: Enter the answer to your question from me, how much does a kilo of raisins cost in raisins?</p>
<ul>
<li><strong>Type</strong>: Text Input</li>
</ul>
<p><strong>Question</strong>: What is the sequence of notes?</p>
<ul>
<li><strong>Type</strong>: Sequencing</li>
<li><strong>Answers</strong>:
<ul>
<li>1️⃣ Do</li>
<li>2️⃣ Re</li>
<li>3️⃣ Mi</li>
<li>4️⃣ Fa</li>
<li>5️⃣ So</li>
<li>6️⃣ La</li>
<li>7️⃣ Ti</li>
</ul>
</li>
</ul>
<p><strong>Question</strong>: There are 2 correct answers, try to guess which options are correct:</p>
<ul>
<li><strong>Type</strong>: Multiple Response</li>
<li><strong>Answers</strong>:
<ul>
<li>✅ Second option</li>
<li>✅ Option one</li>
<li>❌ This is the third option</li>
<li>❌ And here is the fourth option</li>
</ul>
</li>
</ul>
</details>

<details id="installation">
<summary>### Installation</summary>
To set up the bot locally:
1. **Clone the Repository**:
<details>
<summary>Click to copy</summary>
```bash
git clone https://github.com/Radio125/SCORM-Test-Decoder-Telegram-Bot.git
```
</details>
2. **Navigate to the Directory**:
<details>
<summary>Click to copy</summary>
```bash
cd SCORM-Test-Decoder-Telegram-Bot
```
</details>
3. **Create a Virtual Environment (optional but recommended)**:
<details>
<summary>Click to copy</summary>
```bash
python -m venv venv
```
</details>
4. **Activate the Virtual Environment**:
<details>
<summary>Click to copy for Windows</summary>
```bash
venv\Scripts\activate
```
</details>
<details>
<summary>Click to copy for macOS/Linux</summary>
```bash
source venv/bin/activate
```
</details>
5. **Install Dependencies**:
<details>
<summary>Click to copy</summary>
```bash
pip install aiogram==3.7.0
```
</details>
6. **Run the Bot**:
<details>
<summary>Click to copy</summary>
```bash
python bot.py
```
</details>
## Installation
<details>
<summary>Click to expand</summary>
<ol>
<li><strong>Clone the Repository</strong>:
<br>
<a href="#" onclick="navigator.clipboard.writeText('git clone https://github.com/Radio125/SCORM-Test-Decoder-Telegram-Bot.git')">
<img alt="Copy to clipboard" src="https://img.shields.io/badge/copy%20command-1a73e8?logo=clipboard&style=flat-square">
</a>
<pre>git clone https://github.com/Radio125/SCORM-Test-Decoder-Telegram-Bot.git</pre>
</li>
<li><strong>Navigate to the Directory</strong>:
<br>
<a href="#" onclick="navigator.clipboard.writeText('cd SCORM-Test-Decoder-Telegram-Bot')">
<img alt="Copy to clipboard" src="https://img.shields.io/badge/copy%20command-1a73e8?logo=clipboard&style=flat-square">
</a>
<pre>cd SCORM-Test-Decoder-Telegram-Bot</pre>
</li>
<li><strong>Create a Virtual Environment (optional but recommended)</strong>:
<br>
<a href="#" onclick="navigator.clipboard.writeText('python -m venv venv')">
<img alt="Copy to clipboard" src="https://img.shields.io/badge/copy%20command-1a73e8?logo=clipboard&style=flat-square">
</a>
<pre>python -m venv venv</pre>
</li>
<li><strong>Activate the Virtual Environment</strong>:
<ul>
<li><strong>Windows</strong>:
<br>
<a href="#" onclick="navigator.clipboard.writeText('venv\\Scripts\\activate')">
<img alt="Copy to clipboard" src="https://img.shields.io/badge/copy%20command-1a73e8?logo=clipboard&style=flat-square">
</a>
<pre>venv\Scripts\activate</pre>
</li>
<li><strong>macOS/Linux</strong>:
<br>
<a href="#" onclick="navigator.clipboard.writeText('source venv/bin/activate')">
<img alt="Copy to clipboard" src="https://img.shields.io/badge/copy%20command-1a73e8?logo=clipboard&style=flat-square">
</a>
<pre>source venv/bin/activate</pre>
</li>
</ul>
</li>
<li><strong>Install Dependencies</strong>:
<br>
<a href="#" onclick="navigator.clipboard.writeText('pip install -r requirements.txt')">
<img alt="Copy to clipboard" src="https://img.shields.io/badge/copy%20command-1a73e8?logo=clipboard&style=flat-square">
</a>
<pre>pip install -r requirements.txt</pre>
</li>
<li><strong>Run the Bot</strong>:
<br>
<a href="#" onclick="navigator.clipboard.writeText('python bot.py')">
<img alt="Copy to clipboard" src="https://img.shields.io/badge/copy%20command-1a73e8?logo=clipboard&style=flat-square">
</a>
<pre>python bot.py</pre>
</li>
</ol>
</details>

<details id="configuration">
<summary>### Configuration</summary>
**Bot Token**: Replace the placeholder token in the `config.py` file with your actual Telegram Bot API token.
**SCORM Files**: Ensure SCORM JSON files are properly formatted for the bot to decode and process them effectively.
## Configuration
<details>
<summary>Click to expand</summary>
<p><strong>Bot Token</strong>: Replace the placeholder token in the <code>config.py</code> file with your actual Telegram Bot API token.</p>
<p><strong>SCORM Files</strong>: Ensure SCORM JSON files are properly formatted for the bot to decode and process them effectively.</p>
</details>

<details id="contributing">
<summary>### Contributing</summary>
If you would like to contribute to the development of this bot, please feel free to fork the repository and submit pull requests. Any suggestions or bug reports are also welcome via GitHub issues.
## Contributing
<details>
<summary>Click to expand</summary>
<p>If you would like to contribute to the development of this bot, please feel free to fork the repository and submit pull requests. Any suggestions or bug reports are also welcome via GitHub issues.</p>
</details>

<details id="author">
<summary>### Author</summary>
Created by Radio125. Feel free to download, distribute, and modify the code. A simple like is enough!
## Author
<details>
<summary>Click to expand</summary>
<p>Created by Radio125. Feel free to download, distribute, and modify the code. A simple like is enough!</p>
</details>

<details id="license">
<summary>### License</summary>
This project is licensed under the MIT License - see the LICENSE file for details.
## License
<details>
<summary>Click to expand</summary>
<p>This project is licensed under the MIT License - see the LICENSE file for details.</p>
</details>

0 comments on commit 50624c9

Please sign in to comment.