mirror of
https://github.com/SrIzan10/discord-plays-mc.git
synced 2026-06-06 00:56:48 +00:00
feat: almost first version (discord integration)
This commit is contained in:
66
index.ts
66
index.ts
@@ -1,26 +1,33 @@
|
||||
import * as colorette from "colorette";
|
||||
import mineflayer from "mineflayer";
|
||||
import { mineflayer as mineflayerViewer } from "prismarine-viewer";
|
||||
import { Client } from "discord.js";
|
||||
import { Client, GatewayIntentBits } from "discord.js";
|
||||
import inventoryViewer from "mineflayer-web-inventory";
|
||||
import "dotenv/config"
|
||||
|
||||
const client = new Client({
|
||||
intents: [
|
||||
GatewayIntentBits.Guilds,
|
||||
GatewayIntentBits.GuildMessages,
|
||||
GatewayIntentBits.MessageContent,
|
||||
],
|
||||
});
|
||||
const bot = mineflayer.createBot({
|
||||
host: "testingsrizan.aternos.me", // minecraft server ip
|
||||
username: "YourMom", // minecraft username
|
||||
// password: '12345678' // minecraft password, comment out if you want to log into online-mode=false servers
|
||||
port: 24311, // only set if you need a port that isn't 25565
|
||||
version: "1.18.2", // only set if you need a specific version or snapshot (ie: "1.8.9" or "1.16.5"), otherwise it's set automatically
|
||||
// auth: 'mojang' // only set if you need microsoft auth, then set this to 'microsoft'
|
||||
host: "testingsrizan.aternos.me",
|
||||
username: "YourMom",
|
||||
port: 24311,
|
||||
version: "1.18.2",
|
||||
});
|
||||
|
||||
let target;
|
||||
|
||||
bot.on("chat", async (username, message) => {
|
||||
const items = await Promise.all(bot.inventory.items().map(item => {
|
||||
return item.displayName
|
||||
}))
|
||||
target = bot.players[username].entity;
|
||||
client.on("messageCreate", async (message) => {
|
||||
if (message.channel.id !== "1057648908630757426") return;
|
||||
const items = await Promise.all(
|
||||
bot.inventory.items().map((item) => {
|
||||
return item.displayName;
|
||||
})
|
||||
);
|
||||
let entity;
|
||||
switch (message) {
|
||||
switch (message.content) {
|
||||
case "hold w":
|
||||
bot.setControlState("forward", true);
|
||||
break;
|
||||
@@ -91,37 +98,42 @@ bot.on("chat", async (username, message) => {
|
||||
case "dismount":
|
||||
bot.dismount();
|
||||
break;
|
||||
case "move vehicle forward":
|
||||
case "vehicle forward":
|
||||
bot.moveVehicle(0.0, 1.0);
|
||||
break;
|
||||
case "move vehicle backward":
|
||||
case "vehicle backward":
|
||||
bot.moveVehicle(0.0, -1.0);
|
||||
break;
|
||||
case "move vehicle left":
|
||||
case "vehicle left":
|
||||
bot.moveVehicle(1.0, 0.0);
|
||||
break;
|
||||
case "move vehicle right":
|
||||
case "vehicle right":
|
||||
bot.moveVehicle(-1.0, 0.0);
|
||||
break;
|
||||
case "pos":
|
||||
bot.chat(bot.entity.position.toString());
|
||||
break;
|
||||
case "yp":
|
||||
bot.chat(`Yaw ${bot.entity.yaw}, pitch: ${bot.entity.pitch}`);
|
||||
break;
|
||||
case "items":
|
||||
bot.chat(`${items.join(', ')}`)
|
||||
break;
|
||||
bot.chat(`${items.join(", ")}`);
|
||||
break;
|
||||
}
|
||||
if (message.content.includes('execute') && message.author.id === '703974042700611634') {
|
||||
bot.chat(message.content.replace('execute ', ''))
|
||||
message.reply('ok')
|
||||
}
|
||||
console.log(`${colorette.bgYellow('MSG')} => message ${message.content} recieved`)
|
||||
});
|
||||
client.on("ready", () =>
|
||||
console.log(colorette.bgGreen("Logged onto Discord!"))
|
||||
);
|
||||
|
||||
bot.on("login", () => {
|
||||
console.log(colorette.bgGreen("Logged on!"));
|
||||
console.log(colorette.bgGreen("Logged onto Minecraft!"));
|
||||
client.login(process.env.TOKEN);
|
||||
});
|
||||
bot.once("spawn", () => {
|
||||
mineflayerViewer(bot, { port: 3007, firstPerson: true });
|
||||
inventoryViewer(bot);
|
||||
});
|
||||
|
||||
// Log errors and kick reasons:
|
||||
bot.on("kicked", console.log);
|
||||
bot.on("error", console.log);
|
||||
|
||||
@@ -24,7 +24,9 @@
|
||||
"dependencies": {
|
||||
"colorette": "^2.0.19",
|
||||
"discord.js": "^14.7.1",
|
||||
"dotenv": "^16.0.3",
|
||||
"mineflayer": "^4.6.0",
|
||||
"mineflayer-web-inventory": "^1.8.3",
|
||||
"prismarine-viewer": "^1.23.0"
|
||||
}
|
||||
}
|
||||
|
||||
100
yarn.lock
100
yarn.lock
@@ -85,12 +85,17 @@
|
||||
resolved "https://registry.yarnpkg.com/@tweenjs/tween.js/-/tween.js-18.6.4.tgz#40a3d0a93647124872dec8e0fd1bd5926695b6ca"
|
||||
integrity sha512-lB9lMjuqjtuJrx7/kOkqQBtllspPIN+96OvTCeJ2j5FEzinoAXTdAMFnDAQT1KVPRlnYfBrqxtqP66vDM40xxQ==
|
||||
|
||||
"@types/cookie@^0.4.1":
|
||||
"@types/component-emitter@^1.2.10":
|
||||
version "1.2.11"
|
||||
resolved "https://registry.yarnpkg.com/@types/component-emitter/-/component-emitter-1.2.11.tgz#50d47d42b347253817a39709fef03ce66a108506"
|
||||
integrity sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ==
|
||||
|
||||
"@types/cookie@^0.4.0", "@types/cookie@^0.4.1":
|
||||
version "0.4.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d"
|
||||
integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==
|
||||
|
||||
"@types/cors@^2.8.12":
|
||||
"@types/cors@^2.8.12", "@types/cors@^2.8.8":
|
||||
version "2.8.13"
|
||||
resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.13.tgz#b8ade22ba455a1b8cb3b5d3f35910fd204f84f94"
|
||||
integrity sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==
|
||||
@@ -177,6 +182,11 @@ axios@^0.21.1:
|
||||
dependencies:
|
||||
follow-redirects "^1.14.0"
|
||||
|
||||
base64-arraybuffer@0.1.4:
|
||||
version "0.1.4"
|
||||
resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz#9818c79e059b1355f97e0428a017c838e90ba812"
|
||||
integrity sha512-a1eIFi4R9ySrbiMuyTGx5e92uRH5tQY6kArNcFaKBUleIoLjdjBg7Zxm3Mqm3Kmkf27HLR/1fnxX9q8GQ7Iavg==
|
||||
|
||||
base64-js@^1.3.1:
|
||||
version "1.5.1"
|
||||
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
|
||||
@@ -258,6 +268,11 @@ commander@^2.19.0:
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
|
||||
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
|
||||
|
||||
component-emitter@~1.3.0:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
|
||||
integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==
|
||||
|
||||
compressible@~2.0.16:
|
||||
version "2.0.18"
|
||||
resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba"
|
||||
@@ -365,6 +380,11 @@ discord.js@^14.7.1:
|
||||
undici "^5.13.0"
|
||||
ws "^8.11.0"
|
||||
|
||||
dotenv@^16.0.3:
|
||||
version "16.0.3"
|
||||
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.3.tgz#115aec42bac5053db3c456db30cc243a5a836a07"
|
||||
integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==
|
||||
|
||||
ecdsa-sig-formatter@1.0.11:
|
||||
version "1.0.11"
|
||||
resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf"
|
||||
@@ -398,11 +418,31 @@ engine.io-client@~6.2.3:
|
||||
ws "~8.2.3"
|
||||
xmlhttprequest-ssl "~2.0.0"
|
||||
|
||||
engine.io-parser@~4.0.0:
|
||||
version "4.0.3"
|
||||
resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-4.0.3.tgz#83d3a17acfd4226f19e721bb22a1ee8f7662d2f6"
|
||||
integrity sha512-xEAAY0msNnESNPc00e19y5heTPX4y/TJ36gr8t1voOaNmTojP9b3oK3BbJLFufW2XFPQaaijpFewm2g2Um3uqA==
|
||||
dependencies:
|
||||
base64-arraybuffer "0.1.4"
|
||||
|
||||
engine.io-parser@~5.0.3:
|
||||
version "5.0.4"
|
||||
resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.4.tgz#0b13f704fa9271b3ec4f33112410d8f3f41d0fc0"
|
||||
integrity sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==
|
||||
|
||||
engine.io@~4.1.0:
|
||||
version "4.1.2"
|
||||
resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-4.1.2.tgz#f96ceb56d4b39cc7ca5bd29a20e9c99c1ad1a765"
|
||||
integrity sha512-t5z6zjXuVLhXDMiFJPYsPOWEER8B0tIsD3ETgw19S1yg9zryvUfY3Vhtk3Gf4sihw/bQGIqQ//gjvVlu+Ca0bQ==
|
||||
dependencies:
|
||||
accepts "~1.3.4"
|
||||
base64id "2.0.0"
|
||||
cookie "~0.4.1"
|
||||
cors "~2.8.5"
|
||||
debug "~4.3.1"
|
||||
engine.io-parser "~4.0.0"
|
||||
ws "~7.4.2"
|
||||
|
||||
engine.io@~6.2.1:
|
||||
version "6.2.1"
|
||||
resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.2.1.tgz#e3f7826ebc4140db9bbaa9021ad6b1efb175878f"
|
||||
@@ -722,7 +762,12 @@ mime@1.6.0:
|
||||
resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
|
||||
integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
|
||||
|
||||
minecraft-data@^3.0.0, minecraft-data@^3.15.2, minecraft-data@^3.8.0:
|
||||
minecraft-assets@^1.6.0:
|
||||
version "1.9.0"
|
||||
resolved "https://registry.yarnpkg.com/minecraft-assets/-/minecraft-assets-1.9.0.tgz#5139dcdcb9ce4c5ac5cda8d6ecd873d7bba8ccc2"
|
||||
integrity sha512-KtvIRd9gcKlxbvrswGv1Ap9k7tVs//QW2ukp+8vJ28miYwkhUmYfjTZyElIG8KUXV/46wL2kDzLH8SJbXQ56Mg==
|
||||
|
||||
minecraft-data@^3.0.0, minecraft-data@^3.1.1, minecraft-data@^3.15.2, minecraft-data@^3.8.0:
|
||||
version "3.20.0"
|
||||
resolved "https://registry.yarnpkg.com/minecraft-data/-/minecraft-data-3.20.0.tgz#b832abcc48be89cd1f485e3cfcd779092bc6fe7c"
|
||||
integrity sha512-xBQZwY0FoVq7jirFTD8mexNatSddP72CpDYweISHKE3J0co+CgfjtvQ94ykdQW+QPTMgrIIlATxVGIlk0Xjm8w==
|
||||
@@ -755,6 +800,19 @@ minecraft-protocol@^1.36.0:
|
||||
uuid-1345 "^1.0.1"
|
||||
yggdrasil "^1.4.0"
|
||||
|
||||
mineflayer-web-inventory@^1.8.3:
|
||||
version "1.8.3"
|
||||
resolved "https://registry.yarnpkg.com/mineflayer-web-inventory/-/mineflayer-web-inventory-1.8.3.tgz#69586c3ae79b160d7d4eb70af211422f9d7c8e27"
|
||||
integrity sha512-lyFhzmwQ7KBWTEHsJc3/skDZ3smTREKdN9nNZ+SL4mn9v3khIGQBsSHebZtXIl+w7xgEF/I0wXlYTZJiedJXQw==
|
||||
dependencies:
|
||||
express "^4.17.1"
|
||||
lodash "^4.17.21"
|
||||
minecraft-assets "^1.6.0"
|
||||
minecraft-data "^3.1.1"
|
||||
prismarine-windows "^2.4.1"
|
||||
socket.io "^3.1.1"
|
||||
vec3 "^0.1.7"
|
||||
|
||||
mineflayer@^4.6.0:
|
||||
version "4.6.0"
|
||||
resolved "https://registry.yarnpkg.com/mineflayer/-/mineflayer-4.6.0.tgz#c9ef2c5e579fc1dcd1e1c1c4b30e44c8b9f4ddbe"
|
||||
@@ -992,7 +1050,7 @@ prismarine-viewer@^1.23.0:
|
||||
three.meshline "^1.3.0"
|
||||
vec3 "^0.1.7"
|
||||
|
||||
prismarine-windows@^2.5.0:
|
||||
prismarine-windows@^2.4.1, prismarine-windows@^2.5.0:
|
||||
version "2.6.1"
|
||||
resolved "https://registry.yarnpkg.com/prismarine-windows/-/prismarine-windows-2.6.1.tgz#f0e1331eb3d61ad8a5e57a3e61adcd13489bf2e0"
|
||||
integrity sha512-5B8+W4Zb9MWaakd38I/WW564zEgat6bC23ftcv15yVYmHZTq8mtUfX2GsOUD3Pu/aFKarvXpyyJahFMUTUVoXg==
|
||||
@@ -1177,6 +1235,11 @@ smart-buffer@^4.1.0:
|
||||
resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae"
|
||||
integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==
|
||||
|
||||
socket.io-adapter@~2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.1.0.tgz#edc5dc36602f2985918d631c1399215e97a1b527"
|
||||
integrity sha512-+vDov/aTsLjViYTwS9fPy5pEtTkrbEKsw2M+oVSoFGw6OD1IpvlV1VPhUzNbofCQ8oyMbdYJqDtGdmHQK6TdPg==
|
||||
|
||||
socket.io-adapter@~2.4.0:
|
||||
version "2.4.0"
|
||||
resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz#b50a4a9ecdd00c34d4c8c808224daa1a786152a6"
|
||||
@@ -1192,6 +1255,15 @@ socket.io-client@^4.0.0:
|
||||
engine.io-client "~6.2.3"
|
||||
socket.io-parser "~4.2.1"
|
||||
|
||||
socket.io-parser@~4.0.3:
|
||||
version "4.0.5"
|
||||
resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.0.5.tgz#cb404382c32324cc962f27f3a44058cf6e0552df"
|
||||
integrity sha512-sNjbT9dX63nqUFIOv95tTVm6elyIU4RvB1m8dOeZt+IgWwcWklFDOdmGcfo3zSiRsnR/3pJkjY5lfoGqEe4Eig==
|
||||
dependencies:
|
||||
"@types/component-emitter" "^1.2.10"
|
||||
component-emitter "~1.3.0"
|
||||
debug "~4.3.1"
|
||||
|
||||
socket.io-parser@~4.2.1:
|
||||
version "4.2.1"
|
||||
resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.1.tgz#01c96efa11ded938dcb21cbe590c26af5eff65e5"
|
||||
@@ -1200,6 +1272,21 @@ socket.io-parser@~4.2.1:
|
||||
"@socket.io/component-emitter" "~3.1.0"
|
||||
debug "~4.3.1"
|
||||
|
||||
socket.io@^3.1.1:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-3.1.2.tgz#06e27caa1c4fc9617547acfbb5da9bc1747da39a"
|
||||
integrity sha512-JubKZnTQ4Z8G4IZWtaAZSiRP3I/inpy8c/Bsx2jrwGrTbKeVU5xd6qkKMHpChYeM3dWZSO0QACiGK+obhBNwYw==
|
||||
dependencies:
|
||||
"@types/cookie" "^0.4.0"
|
||||
"@types/cors" "^2.8.8"
|
||||
"@types/node" ">=10.0.0"
|
||||
accepts "~1.3.4"
|
||||
base64id "~2.0.0"
|
||||
debug "~4.3.1"
|
||||
engine.io "~4.1.0"
|
||||
socket.io-adapter "~2.1.0"
|
||||
socket.io-parser "~4.0.3"
|
||||
|
||||
socket.io@^4.0.0:
|
||||
version "4.5.4"
|
||||
resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.5.4.tgz#a4513f06e87451c17013b8d13fdfaf8da5a86a90"
|
||||
@@ -1372,6 +1459,11 @@ ws@^8.11.0:
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143"
|
||||
integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==
|
||||
|
||||
ws@~7.4.2:
|
||||
version "7.4.6"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c"
|
||||
integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==
|
||||
|
||||
ws@~8.2.3:
|
||||
version "8.2.3"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba"
|
||||
|
||||
Reference in New Issue
Block a user