Add support for disabling channel logging

This commit is contained in:
2023-09-21 20:07:25 +02:00
parent 549c84c6ef
commit 6c2bf4aacf
4 changed files with 52 additions and 19 deletions

View File

@@ -354,6 +354,13 @@ sub joinChannels {
}
}
sub partChannel {
my $aStream = $_[0];
my $aChannel = $_[1];
$aStream->send(sprintf("PART %s\r\n", $aChannel));
}
sub handleNames {
my $aCommand = $_[0];
my $aChannels = $_[1];
@@ -415,9 +422,8 @@ sub connectionWorker {
while(!eof($stream)) {
if(scalar(@actionQueue)>0) {
given($actionQueue[0]) {
when("JOIN") {
joinChannel($stream, $actionQueue[1]);
}
when("JOIN") { joinChannel($stream, $actionQueue[1]); }
when("PART") { partChannel($stream, $actionQueue[1]); }
}
@actionQueue = ();
}
@@ -483,12 +489,20 @@ while(my @row = $query->fetchrow_array()) {
my $name = $row[1];
my $host = $row[2];
my $port = $row[3];
my $enabled = $row[4];
my $channelQuery = $db->prepare(qq(select name from channels where server_id=$id;));
if(!$enabled) {
next;
}
my $channelQuery = $db->prepare(qq(select name, enabled from channels where server_id=$id;));
$channelQuery->execute();
my @channels;
while(my @channelsRow = $channelQuery->fetchrow_array()) {
my $name = $channelsRow[0];
my $enabled = $channelsRow[1];
if(!$enabled) {
next;
}
push(@channels, $name);
}
createLogger($name, $host, $port, \@channels);