Skip to content

Commit

Permalink
feat: added promoting to moderator with command
Browse files Browse the repository at this point in the history
  • Loading branch information
Picoseconds committed Jul 29, 2020
1 parent 2dc551a commit 5a9c087
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 6 deletions.
27 changes: 21 additions & 6 deletions src/console.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import ansiEscapes from "ansi-escapes";
import readline from "readline";
import chalk from "chalk";
import { getGame } from "./moomoo/Game";
import { PacketFactory } from "./packets/PacketFactory";
Expand Down Expand Up @@ -70,7 +69,6 @@ dispatcher.register(
dispatcher.register(
literal("kill").then(
argument("playerSID", integer()).executes((context) => {
let packetFactory = PacketFactory.getInstance();
let playerSID = context.getArgument("playerSID", Number);
let game = getGame();

Expand All @@ -92,7 +90,6 @@ dispatcher.register(
dispatcher.register(
literal("ban").then(
argument("playerSID", integer()).executes((context) => {
let packetFactory = PacketFactory.getInstance();
let playerSID = context.getArgument("playerSID", Number);
let game = getGame();

Expand All @@ -111,6 +108,27 @@ dispatcher.register(
)
);

dispatcher.register(
literal("promote").then(
argument("playerSID", integer()).executes((context) => {
let playerSID = context.getArgument("playerSID", Number);
let game = getGame();

if (game) {
let player = game.state.players.find(
(player) => player.id == playerSID
);

if (player && player.client) {
game.addModerator(player.client);
}
}

return 0;
})
)
);

dispatcher.register(
literal("set").then(
argument("playerSID", integer()).then(
Expand Down Expand Up @@ -209,9 +227,6 @@ function log(text: any) {
logMethod("> " + coloredCommand);
}

function warn(text: string) {
log(chalk.yellowBright(text));
}

function error(text: string) {
process.stderr.write(ansiEscapes.eraseLines(lastMessage.split("\n").length));
Expand Down
11 changes: 11 additions & 0 deletions src/moomoo/Game.ts
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,17 @@ export default class Game {
}
}

async addModerator(client: Client) {
if (this.db) {
if (!this.db.get("moderatorIPs").includes(client.ip).value()) {
await this.db.get("moderatorIPs").push(client.ip).write();
}

console.log(`Promoted ${client.id} with ip ${client.ip} to Moderator`);
this.kickClient(client, "Refresh to be moderator!");
}
}

killPlayer(player: Player) {
let packetFactory = PacketFactory.getInstance();

Expand Down

0 comments on commit 5a9c087

Please # to comment.