registerPlugin({
name: 'Gelber Karten Bemerker-Script!',
version: '1.0',
description: 'Das Script fragt nach einer Begründung für das setzen von gelben Karten!',
author: 'Tobias *<tobias.*>',
requiredModules: ['db']
}, function(_, sinusbot, config) {
const event = require('event');
const backend = require('backend');
var db = require('db');
var engine = require('engine');
var helpers = require('helpers');
var openCard = {
cards: []
};
var dbc = db.connect({
driver: 'mysql',
host: '127.0.0.1',
username: '',
password: '*****',
database: 'db'
}, function(err) {
if (err) {
engine.log("[GKB] ERROR: " + err);
}
});
event.on('serverGroupAdded', function(event) {
if (event.invoker.name() == backend.getNick()) {
return;
}
if (event.serverGroup.id() === "434363" || event.serverGroup.id() === "434364") {
engine.log("Gelbe / Rote Karte wurde gesetzt!");
var redCard = 0;
if (event.serverGroup.id() == 434364) {
redCard = 1;
}
if (dbc) dbc.exec("INSERT INTO yellowRedCards (yrc_setter_ts3id, yrc_setter, yrc_holder_ts3id, yrc_holder, yrc_redCard) VALUES (?, ?, ?, ?, ?)", event.invoker.uid(), event.invoker.name(), event.client.uid(), event.client.name(), redCard);
event.invoker.chat("Du hast eine " + event.serverGroup.name() + "-Karte gesetzt, bitte gib eine Begründung ein:");
openCard.cards.push({
"invokerUID": event.invoker.uid(),
"cardID": getCardID(),
}); /*openCard.cards.push({ "invokerUID" : event.invoker.uid(), "clientUID" : event.client.uid(), "cardType" : event.serverGroup.id(), });*/
}
}) event.on('serverGroupRemoved', function(event) {
if (event.serverGroup.id() === "434363" || event.serverGroup.id() === "434364") {
event.client.addToServerGroup(event.serverGroup.id());
}
}) event.on('chat', function(event) {
for (i in openCard.cards) {
if (openCard.cards[i].invokerUID == event.client.uid()) {
engine.log(openCard.cards[i].invokerUID + " | " + event.client.uid());
engine.log(":::" + openCard.cards[i].cardID + ":::");
if (dbc) dbc.exec("UPDATE yellowRedCards SET yrc_channel = '" + event.channel.name() + "', yrc_reason = '" + event.text + "' WHERE yrc_id = '" + openCard.cards[i].cardID + "'");
delete openCard.cards[i].invokerUID;
delete openCard.cards[i].cardID;
break;
}
}
}) var resultTest = "";
function getCardID() {
if (dbc) dbc.query("SELECT yrc_id FROM yellowRedCards ORDER BY yrc_id DESC LIMIT 1", function(err, res) {
if (!err) {
res.forEach(function(row) {
var yrcID = row['yrc_id'];
for (var i = 0; i < yrcID.length; i++) {
resultTest += String.fromCharCode(parseInt(yrcID[i]));
}
engine.log(":1::" + resultTest + ":::");
});
}
});
engine.log(":::" + resultTest + ":::");
return resultTest;
}
});