[SKIP_BUILD] Update chat-bot document

This commit is contained in:
BruceChen 2022-11-08 10:49:15 +08:00
parent c1ccdc07a1
commit 7b017336a5
17 changed files with 565 additions and 264 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View file

@ -1,133 +1,171 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>Sign-in | Minecraft Console Client</title>
<link rel="stylesheet" href="/redirect_assets/redirect.css" />
</head>
<body>
<h3>
<span class="brand"><img src="/icons/android-chrome-192x192.png" class="logo">Minecraft Console Client</span>
</h3>
<div class="messageContainer">
<div id="codeDisplay" style="display: none;">
<p>
Your sign-in code is <input id='code' onClick="this.setSelectionRange(0, this.value.length)" />
<button id="copyCode">Copy to clipboard</button>
</p>
<p>
Copy and paste the code to your client. <strong>Keep it secret!</strong>
</p>
</div>
<div id="errorDisplay" style="display: none;">
<p>
The following error was occurred:
</p>
<pre><code id="error"></code></pre>
<p>
Click <a href="https://login.microsoftonline.com/consumers/oauth2/v2.0/authorize?client_id=54473e32-df8f-42e9-a649-9419b0dab9d3&response_type=code&redirect_uri=https%3A%2F%2Fmccteam.github.io%2Fredirect.html&scope=XboxLive.signin%20offline_access%20openid%20email&prompt=select_account&response_mode=fragment" rel="noreferrer">here</a> to sign-in again. If the error keep showing up, save the error message and ask for help.
</p>
</div>
<div id="emptyPage" style="display: none;">
<p>
Click <a href="https://login.microsoftonline.com/consumers/oauth2/v2.0/authorize?client_id=54473e32-df8f-42e9-a649-9419b0dab9d3&response_type=code&redirect_uri=https%3A%2F%2Fmccteam.github.io%2Fredirect.html&scope=XboxLive.signin%20offline_access%20openid%20email&prompt=select_account&response_mode=fragment" rel="noreferrer">here</a> to sign-in.
</p>
</div>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>Sign-in | Minecraft Console Client</title>
<style>
.messageContainer {
box-shadow: 0px 1px 2px 1px #bdbdbd;
border-radius: 2px;
max-width: 30em;
padding: 2em;
margin: 0 auto;
background-color: white;
}
.logo {
width: 1.5em;
vertical-align: bottom;
padding-right: 0.5em;
}
.brand {
background-color: #ffffff78;
padding: 0.5em;
border-radius: 8px;
}
code {
white-space: pre-wrap;
}
pre {
box-shadow: 0px 1px 2px 1px #bdbdbd;
padding: 0.5em;
}
</style>
</head>
<body>
<h3>
<span class="brand"><img src="/icons/android-chrome-192x192.png" class="logo">Minecraft Console Client</span>
</h3>
<div class="messageContainer">
<div id="codeDisplay" style="display: none;">
<p>
Your sign-in code is <input id='code' onClick="this.setSelectionRange(0, this.value.length)" />
<button id="copyCode">Copy to clipboard</button>
</p>
<p>
Copy and paste the code to your client. <strong>Keep it secret!</strong>
</p>
</div>
<script>
let imagePath = "redirect_assets/wallpaper/";
let numImages = 8;
let image = randomIntFromInterval(1, numImages);
let selectedImagePath = `${imagePath}${image}.png`;
let bodyEl = document.body
bodyEl.style.backgroundImage = `url("${selectedImagePath}")`;
function randomIntFromInterval(min, max) {
// min and max included
return Math.floor(Math.random() * (max - min + 1) + min)
}
</script>
<script>
let rawHash = window.location.hash;
if (rawHash !== '') {
// Remove the leading #
rawHash = rawHash.substring(1);
}
let hash = new URLSearchParams(rawHash);
let query = new URLSearchParams(window.location.search);
if (hash.has('error') || query.has('error')) {
// Error occurred
let errorMessage = hash.get('error') || query.get('error')
errorMessage += "\n\n" + (hash.get('error_description') || query.get('error_description'))
displayError(errorMessage);
<div id="errorDisplay" style="display: none;">
<p>
The following error was occurred:
</p>
<pre><code id="error"></code></pre>
<p>
Click <a
href="https://login.microsoftonline.com/consumers/oauth2/v2.0/authorize?client_id=54473e32-df8f-42e9-a649-9419b0dab9d3&response_type=code&redirect_uri=https%3A%2F%2Fmccteam.github.io%2Fredirect.html&scope=XboxLive.signin%20offline_access%20openid%20email&prompt=select_account&response_mode=fragment"
rel="noreferrer">here</a> to sign-in again. If the error keep showing up, save the error message and
ask for help.
</p>
</div>
<div id="emptyPage" style="display: none;">
<p>
Click <a
href="https://login.microsoftonline.com/consumers/oauth2/v2.0/authorize?client_id=54473e32-df8f-42e9-a649-9419b0dab9d3&response_type=code&redirect_uri=https%3A%2F%2Fmccteam.github.io%2Fredirect.html&scope=XboxLive.signin%20offline_access%20openid%20email&prompt=select_account&response_mode=fragment"
rel="noreferrer">here</a> to sign-in.
</p>
</div>
</div>
<script>
let imagePath = "http://localhost:8000/redirect_assets/wallpaper/";
let numImages = 8;
let image = randomIntFromInterval(1, numImages);
let selectedImagePath = `${imagePath}${image}.png`;
let bodyEl = document.body
bodyEl.style.backgroundImage = `url("${selectedImagePath}")`;
function randomIntFromInterval(min, max) {
// min and max included
return Math.floor(Math.random() * (max - min + 1) + min)
}
</script>
<script>
let rawHash = window.location.hash;
if (rawHash !== '') {
// Remove the leading #
rawHash = rawHash.substring(1);
}
let hash = new URLSearchParams(rawHash);
let query = new URLSearchParams(window.location.search);
if (hash.has('error') || query.has('error')) {
// Error occurred
let errorMessage = hash.get('error') || query.get('error')
errorMessage += "\n\n" + (hash.get('error_description') || query.get('error_description'))
displayError(errorMessage);
} else {
// Get code
if (hash.has('code')) {
displayCode(hash.get('code'));
} else {
// Get code
if (hash.has('code')) {
displayCode(hash.get('code'));
} else {
// No error and no code
displayEmpty();
}
// No error and no code
displayEmpty();
}
// Lastly, remove code from URL hash
window.location.hash = ''
function displayCode(code) {
let codeDisplay = document.getElementById('codeDisplay')
let codeEl = document.getElementById('code');
codeEl.value = code;
codeDisplay.style.display = "block"
let copyBtn = document.getElementById('copyCode');
copyBtn.addEventListener('click', () => {
copyTextToClipboard(code);
});
}
function displayError(errorText) {
let errorDisplay = document.getElementById('errorDisplay');
let errorEl = document.getElementById('error');
errorEl.innerText = errorText;
errorDisplay.style.display = "block";
}
function displayEmpty() {
let emptyPage = document.getElementById('emptyPage');
emptyPage.style.display = "block";
}
// Clipboard. Thanks to https://stackoverflow.com/questions/400212/how-do-i-copy-to-the-clipboard-in-javascript
function fallbackCopyTextToClipboard(text) {
var textArea = document.createElement("textarea");
textArea.value = text;
// Avoid scrolling to bottom
textArea.style.top = "0";
textArea.style.left = "0";
textArea.style.position = "fixed";
}
// Lastly, remove code from URL hash
window.location.hash = ''
function displayCode(code) {
let codeDisplay = document.getElementById('codeDisplay')
let codeEl = document.getElementById('code');
codeEl.value = code;
codeDisplay.style.display = "block"
let copyBtn = document.getElementById('copyCode');
copyBtn.addEventListener('click', () => {
copyTextToClipboard(code);
});
}
function displayError(errorText) {
let errorDisplay = document.getElementById('errorDisplay');
let errorEl = document.getElementById('error');
errorEl.innerText = errorText;
errorDisplay.style.display = "block";
}
function displayEmpty() {
let emptyPage = document.getElementById('emptyPage');
emptyPage.style.display = "block";
}
// Clipboard. Thanks to https://stackoverflow.com/questions/400212/how-do-i-copy-to-the-clipboard-in-javascript
function fallbackCopyTextToClipboard(text) {
var textArea = document.createElement("textarea");
textArea.value = text;
document.body.appendChild(textArea);
textArea.focus();
textArea.select();
// Avoid scrolling to bottom
textArea.style.top = "0";
textArea.style.left = "0";
textArea.style.position = "fixed";
try {
document.body.appendChild(textArea);
textArea.focus();
textArea.select();
try {
var successful = document.execCommand('copy');
var msg = successful ? 'successful' : 'unsuccessful';
console.log('Fallback: Copying text command was ' + msg);
} catch (err) {
} catch (err) {
console.error('Fallback: Oops, unable to copy', err);
}
document.body.removeChild(textArea);
}
function copyTextToClipboard(text) {
if (!navigator.clipboard) {
document.body.removeChild(textArea);
}
function copyTextToClipboard(text) {
if (!navigator.clipboard) {
fallbackCopyTextToClipboard(text);
return;
}
navigator.clipboard.writeText(text).then(function() {
console.log('Async: Copying to clipboard was successful!');
}, function(err) {
console.error('Async: Could not copy text: ', err);
});
}
</script>
</body>
navigator.clipboard.writeText(text).then(function () {
console.log('Async: Copying to clipboard was successful!');
}, function (err) {
console.error('Async: Could not copy text: ', err);
});
}
</script>
</body>
</html>

View file

@ -1,29 +0,0 @@
.messageContainer {
box-shadow: 0px 1px 2px 1px #bdbdbd;
border-radius: 2px;
max-width: 30em;
padding: 2em;
margin: 0 auto;
background-color: white;
}
.logo {
width: 1.5em;
vertical-align: bottom;
padding-right: 0.5em;
}
.brand {
background-color: #ffffff78;
padding: 0.5em;
border-radius: 8px;
}
code {
white-space: pre-wrap;
}
pre {
box-shadow: 0px 1px 2px 1px #bdbdbd;
padding: 0.5em;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 706 KiB

After

Width:  |  Height:  |  Size: 591 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 860 KiB

After

Width:  |  Height:  |  Size: 662 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 799 KiB

After

Width:  |  Height:  |  Size: 556 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 906 KiB

After

Width:  |  Height:  |  Size: 735 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 918 KiB

After

Width:  |  Height:  |  Size: 802 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 682 KiB

After

Width:  |  Height:  |  Size: 571 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 966 KiB

After

Width:  |  Height:  |  Size: 637 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 637 KiB

After

Width:  |  Height:  |  Size: 530 KiB

Before After
Before After

File diff suppressed because it is too large Load diff

View file

@ -236,6 +236,28 @@ In scripts and remote control, no slash is needed to perform the command, eg. `q
/bed sleep 50
```
### `blockinfo`
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**You need to have [Terrain And Movements](configuration.md#terrainandmovements) enabled in order for this to work.**
</div>
- **Description:**
Reports the block type at the given position.
If you use the `-s` option it will report the types of blocks around the targeted blokcs.
- **Usage:**
Basic usage:
```
/blockinfo <x> <y> <z> [-s]
```
### `bots`
- **Description:**
@ -364,6 +386,30 @@ In scripts and remote control, no slash is needed to perform the command, eg. `q
/dropitem diamond
```
### `enchant`
<div class="custom-container tip"><p class="custom-container-title">Tip</p>
**You need to have [Inventory Handling](configuration.md#inventoryhandling) enabled in order for this to work.**
</div>
- **Description:**
Allows you to enchant items in an enchanting table.
You need to first open an enchanting table and then place and item that you want to enchant and lapis in the enchanting table, and then you can execute the command.
To open an enchanting table you can use the [`useblock`](#useblock) command.
- **Usage:**
Basic usage:
```
/enchant <top|middle|bottom>
```
### `entity`
- **Description:**
@ -440,21 +486,18 @@ In scripts and remote control, no slash is needed to perform the command, eg. `q
/execif test2 == "1" ---> send Success 2!
```
Basic C# expression:
```
/execif 1 + 2 + 3 == 6 ---> send Success!
```
Using MCC class:
```
/execif MCC.GetHealth() == 20.0 ---> send Success!
```
Using in combination with [`execmulti`](#execmulti):
```