RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
CommandLogEvent.java
1package com.osroyale.game.event.impl.log;
2
3import com.jcabi.jdbc.JdbcSession;
4import com.jcabi.jdbc.SingleOutcome;
5import com.osroyale.game.service.PostgreService;
6import com.osroyale.game.world.entity.mob.player.Player;
7import com.osroyale.game.world.entity.mob.player.command.CommandParser;
8
9import java.util.Arrays;
10
33
34public class CommandLogEvent extends LogEvent {
35
36 private final Player player;
37 private final CommandParser parser;
38
39 public CommandLogEvent(Player player, CommandParser parser) {
40 this.player = player;
41 this.parser = parser;
42 }
43
44 @Override
45 public void onLog() throws Exception {
46 JdbcSession session = new JdbcSession(PostgreService.getConnectionPool());
47 long logId = session.autocommit(false)
48 .sql("INSERT INTO log.log(log_time) VALUES (?::timestamp) RETURNING id")
49 .set(dateTime)
50 .insert(new SingleOutcome<>(Long.class));
51
52 session.sql("INSERT INTO log.command_log(player_id, name, argument, log_id) VALUES (?, ?, ?, ?)")
53 .set(player.getMemberId())
54 .set(parser.getCommand())
55 .set(Arrays.toString(parser.getArguments()).replace("[", "").replace("]", ""))
56 .set(logId)
57 .execute()
58 .commit();
59 }
60
61}