From a184c31cca53a2894b2fd337d069e0c9ebb43c8b Mon Sep 17 00:00:00 2001 From: Thomas Date: Sun, 5 Oct 2025 14:58:05 +0200 Subject: [PATCH] Software v0.0..1 --- software/v0.0.1/.env.example | 9 + software/v0.0.1/bot.php | 171 +++ software/v0.0.1/data/app.db | Bin 0 -> 53248 bytes software/v0.0.1/data/bot.log | 1207 +++++++++++++++++ ...cba5f30fbf0311e84e1284aabd3cae6_ttl20.json | 1 + ...f8daa4a003fee3be79bc52544b1aec_ttl300.json | 1 + software/v0.0.1/data/commands.json | 8 + software/v0.0.1/data/giveaway.json | 5 + software/v0.0.1/data/outbox.txt | 0 software/v0.0.1/data/permissions.json | 8 + software/v0.0.1/data/settings.json | 4 + software/v0.0.1/data/timers.json | 7 + software/v0.0.1/start_bot.bat | 5 + software/v0.0.1/web/api.php | 246 ++++ software/v0.0.1/web/bets.php | 1 + software/v0.0.1/web/commands.php | 1 + software/v0.0.1/web/control.php | 1 + software/v0.0.1/web/create_admin.php | 22 + software/v0.0.1/web/db.php | 28 + software/v0.0.1/web/events.php | 35 + software/v0.0.1/web/eventsub.php | 82 ++ software/v0.0.1/web/eventsub_setup.php | 54 + software/v0.0.1/web/giveaway.php | 70 + software/v0.0.1/web/guard.php | 20 + software/v0.0.1/web/help.php | 88 ++ software/v0.0.1/web/index.php | 140 ++ software/v0.0.1/web/log.php | 15 + software/v0.0.1/web/login.php | 76 ++ software/v0.0.1/web/logout.php | 6 + software/v0.0.1/web/migrate_users.php | 23 + software/v0.0.1/web/permissions.php | 75 + software/v0.0.1/web/points.php | 42 + software/v0.0.1/web/poll.php | 63 + software/v0.0.1/web/raffle.php | 87 ++ software/v0.0.1/web/send.php | 42 + software/v0.0.1/web/settings.php | 395 ++++++ software/v0.0.1/web/slots.php | 46 + software/v0.0.1/web/style.css | 135 ++ software/v0.0.1/web/timers.php | 135 ++ software/v0.0.1/web/validate.php | 44 + software/v0.0.1/ws_server.js | 41 + 41 files changed, 3439 insertions(+) create mode 100644 software/v0.0.1/.env.example create mode 100644 software/v0.0.1/bot.php create mode 100644 software/v0.0.1/data/app.db create mode 100644 software/v0.0.1/data/bot.log create mode 100644 software/v0.0.1/data/cache/helix_1cba5f30fbf0311e84e1284aabd3cae6_ttl20.json create mode 100644 software/v0.0.1/data/cache/helix_dff8daa4a003fee3be79bc52544b1aec_ttl300.json create mode 100644 software/v0.0.1/data/commands.json create mode 100644 software/v0.0.1/data/giveaway.json create mode 100644 software/v0.0.1/data/outbox.txt create mode 100644 software/v0.0.1/data/permissions.json create mode 100644 software/v0.0.1/data/settings.json create mode 100644 software/v0.0.1/data/timers.json create mode 100644 software/v0.0.1/start_bot.bat create mode 100644 software/v0.0.1/web/api.php create mode 100644 software/v0.0.1/web/bets.php create mode 100644 software/v0.0.1/web/commands.php create mode 100644 software/v0.0.1/web/control.php create mode 100644 software/v0.0.1/web/create_admin.php create mode 100644 software/v0.0.1/web/db.php create mode 100644 software/v0.0.1/web/events.php create mode 100644 software/v0.0.1/web/eventsub.php create mode 100644 software/v0.0.1/web/eventsub_setup.php create mode 100644 software/v0.0.1/web/giveaway.php create mode 100644 software/v0.0.1/web/guard.php create mode 100644 software/v0.0.1/web/help.php create mode 100644 software/v0.0.1/web/index.php create mode 100644 software/v0.0.1/web/log.php create mode 100644 software/v0.0.1/web/login.php create mode 100644 software/v0.0.1/web/logout.php create mode 100644 software/v0.0.1/web/migrate_users.php create mode 100644 software/v0.0.1/web/permissions.php create mode 100644 software/v0.0.1/web/points.php create mode 100644 software/v0.0.1/web/poll.php create mode 100644 software/v0.0.1/web/raffle.php create mode 100644 software/v0.0.1/web/send.php create mode 100644 software/v0.0.1/web/settings.php create mode 100644 software/v0.0.1/web/slots.php create mode 100644 software/v0.0.1/web/style.css create mode 100644 software/v0.0.1/web/timers.php create mode 100644 software/v0.0.1/web/validate.php create mode 100644 software/v0.0.1/ws_server.js diff --git a/software/v0.0.1/.env.example b/software/v0.0.1/.env.example new file mode 100644 index 0000000..bf9c263 --- /dev/null +++ b/software/v0.0.1/.env.example @@ -0,0 +1,9 @@ +TWITCH_USERNAME=dinbruger/user +TWITCH_CHANNEL=dinbruger/user +TWITCH_OAUTH=oauth:PUT_YOUR_USER_ACCESS_TOKEN_HERE +TWITCH_CLIENT_ID=PUT_YOUR_CLIENT_ID_HERE +IRC_SSL=1 + +# EventSub (kræver offentlig URL, fx ngrok) +EVENTSUB_CALLBACK=https://your-public-host/bot/web/eventsub.php +EVENTSUB_SECRET=change_this_secret diff --git a/software/v0.0.1/bot.php b/software/v0.0.1/bot.php new file mode 100644 index 0000000..3b450a9 --- /dev/null +++ b/software/v0.0.1/bot.php @@ -0,0 +1,171 @@ +1?ltrim($parts[1],'@'):''; } +function expandRandoms($txt){ $txt=preg_replace_callback('/\$(random)(?::(\d+))?/i',function($m){ $max=isset($m[2])?max(1,(int)$m[2]):100; return (string)random_int(1,$max);},$txt); $txt=preg_replace_callback('/\$pick\[(.+?)\]/i',function($m){ $opts=array_map('trim',explode('|',$m[1])); return $opts? (string)$opts[array_rand($opts)] : '';},$txt); return $txt; } +function renderPlaceholders($tpl,$ctx){ $map=['@$user'=>'@'.$ctx['user'],'@$display'=>'@'.$ctx['display'],'@$target'=>'@'.$ctx['target'],'$user'=>$ctx['user'],'$display'=>$ctx['display'],'$target'=>$ctx['target'],'$channel'=>$ctx['channel'],'$cmd'=>$ctx['cmd'],'$args'=>$ctx['args'],'$arg1'=>$ctx['arg1'],'$arg2'=>$ctx['arg2'],'$arg3'=>$ctx['arg3'],'$arg4'=>$ctx['arg4'],'$arg5'=>$ctx['arg5'],'$points'=>$ctx['points']??'0','$time'=>date('H:i'),'$date'=>date('Y-m-d')]; return expandRandoms(strtr($tpl,$map)); } +function db(){ static $pdo=null; global $DB_FILE; if(!$pdo){ $pdo=new PDO('sqlite:'.$DB_FILE); $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); } return $pdo; } +function add_points($login,$display,$amt){ $db=db(); $st=$db->prepare('INSERT INTO points(user_login,display_name,points) VALUES(?,?,?) ON CONFLICT(user_login) DO UPDATE SET points=points+excluded.points, display_name=excluded.display_name'); $st->execute([$login,$display,$amt]); } +function get_points($login){ $db=db(); $st=$db->prepare('SELECT points FROM points WHERE user_login=?'); $st->execute([$login]); $r=$st->fetch(PDO::FETCH_ASSOC); return $r?(int)$r['points']:0; } +function add_spin($login,$amt,$r1,$r2,$r3,$payout){ $db=db(); $db->prepare('INSERT INTO slots_spins(user_login,amount,r1,r2,r3,payout,ts) VALUES(?,?,?,?,?,?,?)')->execute([$login,$amt,$r1,$r2,$r3,$payout,gmdate('c')]); } +function role_level($tags,$username,$nick){ $lvl=0; $badges=$tags['badges']??''; if($badges){ foreach(explode(',',$badges) as $b){ if(strpos($b,'broadcaster/')===0) return 5; if(strpos($b,'moderator/')===0) $lvl=max($lvl,4); if(strpos($b,'vip/')===0) $lvl=max($lvl,3); if(strpos($b,'subscriber/')===0) $lvl=max($lvl,2); } } if(($tags['mod']??'0')==='1') $lvl=max($lvl,4); if(strtolower($nick)===strtolower($username)) return 5; if(($tags['subscriber']??'0')==='1') $lvl=max($lvl,2); return $lvl; } +function role_required_level($role){ switch($role){ case 'follower': return 1; case 'sub': return 2; case 'vip': return 3; case 'mod': return 4; case 'streamer': return 5; default: return 0; } } + +function connect_and_run($env,$settings){ + global $OUTBOX_FILE,$STOP_FLAG,$TIMERS_FILE,$GIVEAWAY_FILE,$COMMANDS_FILE,$PERM_FILE; + $username=strtolower($env['TWITCH_USERNAME']??''); $channel=strtolower($env['TWITCH_CHANNEL']??''); $oauth=$env['TWITCH_OAUTH']??''; $useSSL=(($env['IRC_SSL']??'1')==='1'); + if(!$username||!$channel||!$oauth){ logmsg('Manglende .env'); sleep(5); return; } + $uri=($useSSL?'tls':'tcp').'://irc.chat.twitch.tv:'.($useSSL?6697:6667); + $fp=@stream_socket_client($uri,$errno,$errstr,30); if(!$fp){ logmsg("Forbindelse fejlede: $errstr"); sleep(5); return; } + stream_set_blocking($fp,false); + $send=function($raw)use($fp){ $log=(stripos($raw,'PASS ')===0)?'PASS oauth:********':$raw; fwrite($fp,$raw."\r\n"); logmsg('>>> '.$log); }; + $send("PASS $oauth"); $send("NICK $username"); $send("CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership"); $send("JOIN #$channel"); + + $joined=false; $lastMsg=time(); + $watchdogEnabled=(bool)($settings['watchdog']??true); $watchdogTimeout=max(30,(int)($settings['timeout']??120)); + $commands=[]; $perms=load_json($PERM_FILE,[]); $timers=load_json($TIMERS_FILE,[]); $timerState=[]; + $lastReload=0; $lastPermReload=0; $lastTimerReload=0; + + $emotes=['Kappa','PogChamp','LUL','BibleThump','Kreygasm']; + + while(true){ + if(file_exists($STOP_FLAG)){ logmsg('Stopflag fundet'); @unlink($STOP_FLAG); return; } + + if(time()-$lastReload>=5){ $commands=load_json($COMMANDS_FILE,[]); $lastReload=time(); } + if(time()-$lastPermReload>=5){ $perms=load_json($PERM_FILE,[]); $lastPermReload=time(); } + if(time()-$lastTimerReload>=5){ $timers=load_json($TIMERS_FILE,[]); $lastTimerReload=time(); } + + $line=fgets($fp); + if($line===''||$line===false){ + if($watchdogEnabled && time()-$lastMsg>$watchdogTimeout){ logmsg("Ingen data i {$watchdogTimeout}s – reconnect."); return; } + } else { + $lastMsg=time(); $line=rtrim($line,"\r\n"); logmsg('<< '.$line); + if(strpos($line,'PING')===0){ $send('PONG :tmi.twitch.tv'); continue; } + if(!$joined && preg_match('/^:([^\\s!]+)!.*\\sJOIN\\s#([^\\s]+)/',$line,$jm)){ if(strtolower($jm[1])===$username){ $joined=true; logmsg('JOIN bekræftet'); say($send,$channel,'🙋 TechNet Botten Online 🙋'); } } + + if(preg_match('/^@([^\\s]+)\\s:([^\\s!]+)!.*\\sPRIVMSG\\s#([^\\s]+)\\s:(.*)$/',$line,$m)){ + $tags=parseTags($m[1]); $nick=$m[2]; $chan=strtolower($m[3]); $msg=trim($m[4]); + $display=$tags['display-name']??$nick; $login=strtolower($nick); + + // +1 point pr. besked + add_points($login,$display,1); + + // basic + if(strcasecmp($msg,'!ping')===0){ say($send,$chan,'Pong! 🏓'); continue; } + if(strcasecmp($msg,'!points')===0){ $pts=get_points($login); say($send,$chan,"@$display har $pts point"); continue; } + if(strcasecmp($msg,'!join')===0){ + $st=load_json($GIVEAWAY_FILE,['open'=>false,'entries'=>[],'winner'=>null]); + if(!empty($st['open'])){ $st['entries'][]=$login; save_json($GIVEAWAY_FILE,$st); say($send,$chan,"@$display er med i giveaway 🎟️"); } + continue; + } + + // !spin + if(preg_match('/^!spin\\s+(\\d+)/i',$msg,$mm)){ + $amt=max(1,(int)$mm[1]); $bal=get_points($login); + if($bal<$amt){ say($send,$chan,"@$display mangler point (har $bal)"); continue; } + add_points($login,$display,-$amt); + $r1=$emotes[array_rand($emotes)]; $r2=$emotes[array_rand($emotes)]; $r3=$emotes[array_rand($emotes)]; + $payout=0; if($r1===$r2 && $r2===$r3){ $payout=$amt*5; } elseif($r1===$r2 || $r1===$r3 || $r2===$r3){ $payout=$amt*2; } + if($payout>0) add_points($login,$display,$payout); + add_spin($login,$amt,$r1,$r2,$r3,$payout); + $delta=$payout-$amt; $sign=$delta>=0?'+':''; say($send,$chan,"@$display 🎰 $r1 | $r2 | $r3 → {$sign}{$delta} (saldo: ".get_points($login).")"); + continue; + } + + // Bets: !bet <1|2> + if(preg_match('/^!bet\\s+(\\d+)\\s+([12])/i',$msg,$mm)){ + $amt=(int)$mm[1]; $opt=(int)$mm[2]; $db=db(); + $last=$db->query("SELECT * FROM bets WHERE status='open' ORDER BY id DESC LIMIT 1")->fetch(PDO::FETCH_ASSOC); + if(!$last){ say($send,$chan,"@$display der er ikke et åbent bet."); continue; } + $bal=get_points($login); if($bal<$amt){ say($send,$chan,"@$display mangler point (har $bal)"); continue; } + add_points($login,$display,-$amt); + $db->prepare('INSERT INTO bet_entries(bet_id,user_login,amount,option) VALUES(?,?,?,?) ON CONFLICT(bet_id,user_login) DO UPDATE SET amount=excluded.amount, option=excluded.option')->execute([$last['id'],$login,$amt,$opt]); + say($send,$chan,"@$display lagde $amt på option $opt"); + continue; + } + + // Raffle: !buy X + if(preg_match('/^!buy\\s+(\\d+)/i',$msg,$mm)){ + $amt=max(1,(int)$mm[1]); $db=db(); $st=$db->query('SELECT open, ticket_cost FROM raffle_state WHERE id=1')->fetch(PDO::FETCH_ASSOC); + if(!$st || !$st['open']){ say($send,$chan,'Raffle er lukket.'); continue; } + $price=(int)$st['ticket_cost']*$amt; $bal=get_points($login); if($bal<$price){ say($send,$chan,"@$display mangler point (har $bal)"); continue; } + add_points($login,$display,-$price); $ins=$db->prepare('INSERT INTO raffle_entries(user_login) VALUES(?)'); for($i=0;$i<$amt;$i++) $ins->execute([$login]); + say($send,$chan,"@$display købte $amt billet(ter) 🎟️"); + continue; + } + + // Mod/streamer only: bet control + $isMod = ($tags['mod']??'0')==='1' || (strpos($tags['badges']??'','broadcaster/')!==false); + if($isMod){ + if(preg_match('/^!betopen\\s+(.+?)\\s*\\|\\s*(.+)$/i',$msg,$mm)){ + $db=db(); $db->prepare('INSERT INTO bets(status,option1,option2,created_ts) VALUES(?,?,?,?)')->execute(['open',$mm[1],$mm[2],gmdate('c')]); + say($send,$chan,"Bet åbent: 1) {$mm[1]} 2) {$mm[2]} — brug !bet <1|2>"); continue; + } + if(strcasecmp($msg,'!betclose')===0){ $db=db(); $db->exec("UPDATE bets SET status='closed', close_ts='".gmdate('c')."' WHERE status='open'"); say($send,$chan,'Bet lukket for indskud.'); continue; } + if(preg_match('/^!betresolve\\s+([12])/i',$msg,$mm)){ + $win=(int)$mm[1]; $db=db(); $last=$db->query("SELECT * FROM bets WHERE status='closed' ORDER BY id DESC LIMIT 1")->fetch(PDO::FETCH_ASSOC); + if($last){ $st=$db->prepare('SELECT user_login, amount FROM bet_entries WHERE bet_id=? AND option=?'); $st->execute([$last['id'],$win]); foreach($st->fetchAll(PDO::FETCH_ASSOC) as $w){ add_points($w['user_login'],$w['user_login'], (int)$w['amount']*2); } $db->prepare('UPDATE bets SET status="resolved", resolved_option=? WHERE id=?')->execute([$win,$last['id']]); say($send,$chan,"Bet afsluttet. Option $win vandt – gevinster udbetalt."); } + continue; + } + } + + // Custom commands.json with permissions + if(preg_match('/^!([a-z0-9_]+)(?:\\s+(.*))?$/i',$msg,$cm)){ + $cmd=strtolower($cm[1]); $args=$cm[2]??''; + $cmds=load_json($GLOBALS['COMMANDS_FILE'],[]); + if(isset($cmds[$cmd])){ + $perms=load_json($GLOBALS['PERM_FILE'],[]); $req=$perms[$cmd]??'chatter'; + $lvl_user=role_level($tags, $GLOBALS['ENV_USERNAME']??'', $nick); $lvl_req=role_required_level($req); + if($lvl_user < $lvl_req){ /* no permission */ continue; } + $target=parseFirstMentionOrArg($msg); $argparts=$args?preg_split('/\\s+/',$args):[]; + $ctx=['user'=>strtolower($nick),'display'=>$display,'target'=>$target,'channel'=>$chan,'cmd'=>$cmd,'args'=>$args,'arg1'=>$argparts[0]??'','arg2'=>$argparts[1]??'','arg3'=>$argparts[2]??'','arg4'=>$argparts[3]??'','arg5'=>$argparts[4]??'','points'=>get_points($login)]; + $reply=renderPlaceholders($cmds[$cmd],$ctx); say($send,$chan,$reply); + } + } + } + } + + // Timers + if($joined && $timers){ + foreach($timers as $i=>$t){ + if(empty($t['enabled'])) continue; $key='t'.$i; $now=time(); $interval=max(1,(int)($t['interval']??15))*60; + if(!isset($timerState[$key])) $timerState[$key]=$now; + if($now-$timerState[$key] >= $interval){ say($send,$channel,$t['text']); $timerState[$key]=$now; } + } + } + + // Outbox + if($joined){ + $o=@file_get_contents($OUTBOX_FILE); + if($o){ $lines=array_filter(array_map('trim',explode("\n",$o))); file_put_contents($OUTBOX_FILE,""); foreach($lines as $l){ say($send,$channel,$l);} logmsg('Outbox sendt '.count($lines).' linjer'); } + } + + usleep(50000); + } +} + +logmsg('Starter bot manager'); +while(true){ + if(file_exists($STOP_FLAG)){ logmsg('Stopflag i manager – lukker'); @unlink($STOP_FLAG); break; } + $env=env_load($ENV_FILE); $GLOBALS['ENV_USERNAME']=strtolower($env['TWITCH_USERNAME']??''); + $settings=load_json($SETTINGS_FILE, ['watchdog'=>true,'timeout'=>120]); + connect_and_run($env,$settings); + logmsg('Genstarter om 5 sek'); sleep(5); +} diff --git a/software/v0.0.1/data/app.db b/software/v0.0.1/data/app.db new file mode 100644 index 0000000000000000000000000000000000000000..6d5c9ed191656772fb4070cecb9e8b3c1971b2cb GIT binary patch literal 53248 zcmeI)%WvXF90zclXCNW;uv;swRb^6Wf&#U#- zA5!0^A}gttH_LYNr(|W`&R7ot2tWV=5P$##?xw)#9v>G3fxnJBTFW8>O8S(|Lc0y6 z+Em15b>~65)GekA6{HD;g7?tj%k9e>YY3m$7Hzn6S0QpR*Xpy@Zm>0qN>wCL5WG zdZuvGi!9^rDW!kszV&X=BaynJvQZYw42rdg=}EL+KMP z{hd3*1OW&@00Izz00bZa0SG_<0uX?}-wV`3ac+$hMp5U&?r2mqI%anxceNpBHx74R z9oAlaUOyNf<)3R=rTFT!`ts?{Ub$Br?tjrJcS?=!o;5hXEFWHId%1(N^07lSKIR_n z6M-Fwl#2Owq1eh9k4Zr$m5r8eXmYVqF$%I?BDt*IBBatT736X;XXyDtK9@7fS-EKB z^-8W>EEWs7LYtIYmB;OtrWbT})TCRhQ2IwM{hK?(1OW&@00Izz00bZa0SG_<0uX?} z|6U*&UgQ0DCPGVLA;HG~-sk^(`d7|$IzytvZKmY;|fB*y_009U<00Izzzyb*@hi~5p@IL={|MVXd1Rwwb2tWV=5P$## zAOHafKmY;@EP(O<0yi$I1_1~_00Izz00bZa0SG_<0uUGrVEm7+009U<00Izz00bZa z0SG_<0uWey0q^(!`2PRmw=-%80SG_<0uX=z1Rwwb2tWV=cU!>!|NnPf`rX}jKugBis_7#P|OfvUO1@2tWV=5P$##AOHafKmY;|fWVXh e#{W|s$Up!B5P$##AOHafKmY;|fB*y*Qs56|%xOCS literal 0 HcmV?d00001 diff --git a/software/v0.0.1/data/bot.log b/software/v0.0.1/data/bot.log new file mode 100644 index 0000000..27abcdd --- /dev/null +++ b/software/v0.0.1/data/bot.log @@ -0,0 +1,1207 @@ +[2025-10-05 10:33:59] >>> PASS oauth:wsrglocpr8mw7yygx47kmtiwm6nq9e +[2025-10-05 10:33:59] >>> NICK lillebas +[2025-10-05 10:33:59] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 10:33:59] >>> JOIN #lillebas +[2025-10-05 10:33:59] Starter bot som @lillebas i #lillebas +[2025-10-05 10:37:00] >>> PASS oauth:wsrglocpr8mw7yygx47kmtiwm6nq9e +[2025-10-05 10:37:00] >>> NICK lillebas +[2025-10-05 10:37:00] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 10:37:00] >>> JOIN #lillebas +[2025-10-05 10:37:00] Starter bot som @lillebas i #lillebas +[2025-10-05 10:37:10] >>> PASS oauth:wsrglocpr8mw7yygx47kmtiwm6nq9e +[2025-10-05 10:37:10] >>> NICK lillebas +[2025-10-05 10:37:10] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 10:37:10] >>> JOIN #lillebas +[2025-10-05 10:37:10] Starter bot som @lillebas i #lillebas +[2025-10-05 11:03:47] Starter bot-manager... +[2025-10-05 11:03:48] Token OK for @lillebas – scopes: analytics:read:extensions,channel:bot,channel:manage:ads,channel:manage:polls,channel:manage:raids,channel:moderate,channel:read:ads,channel:read:charity,channel:read:editors,channel:read:goals,channel:read:hype_train,channel:read:polls,channel:read:predictions,channel:read:redemptions,channel:read:subscriptions,channel:read:vips,chat:edit,chat:read,moderation:read,moderator:manage:announcements,moderator:manage:automod,moderator:manage:automod_settings,moderator:manage:banned_users,moderator:manage:blocked_terms,moderator:manage:chat_messages,moderator:manage:chat_settings,moderator:manage:shield_mode,moderator:manage:shoutouts,moderator:manage:unban_requests,moderator:manage:warnings,moderator:read:automod_settings,moderator:read:blocked_terms,moderator:read:chat_settings,moderator:read:chatters,moderator:read:followers,moderator:read:shield_mode,moderator:read:shoutouts,moderator:read:suspicious_users,moderator:read:unban_requests,user:bot,user:manage:blocked_users,user:read:blocked_users,user:read:chat,user:read:emotes,user:read:follows,user:read:subscriptions,user:write:chat +[2025-10-05 11:03:49] >>> PASS oauth:******** +[2025-10-05 11:03:49] >>> NICK lillebas +[2025-10-05 11:03:49] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 11:03:49] >>> JOIN #lillebas +[2025-10-05 11:03:49] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 11:03:49] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 11:03:49] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 11:03:49] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 11:03:49] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 11:03:49] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 11:03:50] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 11:03:50] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 11:03:50] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:03:50] [JOIN] Botten er inde i chatten. +[2025-10-05 11:03:50] >>> PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 11:03:50] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 11:03:50] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 11:03:50] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 11:03:50] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 11:03:50] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=248857bf-5ddc-43f3-8276-ce86a90ea714;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 11:04:07] Starter bot-manager... +[2025-10-05 11:04:08] Token OK for @lillebas – scopes: analytics:read:extensions,channel:bot,channel:manage:ads,channel:manage:polls,channel:manage:raids,channel:moderate,channel:read:ads,channel:read:charity,channel:read:editors,channel:read:goals,channel:read:hype_train,channel:read:polls,channel:read:predictions,channel:read:redemptions,channel:read:subscriptions,channel:read:vips,chat:edit,chat:read,moderation:read,moderator:manage:announcements,moderator:manage:automod,moderator:manage:automod_settings,moderator:manage:banned_users,moderator:manage:blocked_terms,moderator:manage:chat_messages,moderator:manage:chat_settings,moderator:manage:shield_mode,moderator:manage:shoutouts,moderator:manage:unban_requests,moderator:manage:warnings,moderator:read:automod_settings,moderator:read:blocked_terms,moderator:read:chat_settings,moderator:read:chatters,moderator:read:followers,moderator:read:shield_mode,moderator:read:shoutouts,moderator:read:suspicious_users,moderator:read:unban_requests,user:bot,user:manage:blocked_users,user:read:blocked_users,user:read:chat,user:read:emotes,user:read:follows,user:read:subscriptions,user:write:chat +[2025-10-05 11:04:09] >>> PASS oauth:******** +[2025-10-05 11:04:09] >>> NICK lillebas +[2025-10-05 11:04:09] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 11:04:09] >>> JOIN #lillebas +[2025-10-05 11:04:09] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 11:04:09] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 11:04:09] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 11:04:09] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 11:04:09] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 11:04:09] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 11:04:09] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 11:04:09] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 11:04:09] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:04:09] [JOIN] Botten er inde i chatten. +[2025-10-05 11:04:09] >>> PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 11:04:09] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 11:04:10] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 11:04:10] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 11:04:10] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 11:04:10] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=12a0bf03-78c7-4784-bf9c-a894363a1875;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759655050560;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 11:04:10] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=12a0bf03-78c7-4784-bf9c-a894363a1875;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 11:04:25] << @badge-info=;badges=broadcaster/1;client-nonce=c42161801475d0c4feab45aeeea7767b;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=4a8bb65c-845b-497b-8096-2eb7e96a5c1f;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759655066303;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!ping +[2025-10-05 11:04:25] >>> PRIVMSG #lillebas :Pong! 🏓 +[2025-10-05 11:04:25] << @badge-info=;badges=broadcaster/1;client-nonce=c42161801475d0c4feab45aeeea7767b;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=4a8bb65c-845b-497b-8096-2eb7e96a5c1f;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759655066303;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!ping +[2025-10-05 11:04:25] >>> PRIVMSG #lillebas :Pong! 🏓 +[2025-10-05 11:04:26] << @badge-info=;badges=moderator/1,bot-badge/1;color=#5B99FF;display-name=StreamElements;emotes=;first-msg=0;flags=;id=fdae9875-238f-468c-9237-e64c4a5d78f2;mod=1;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759655066519;turbo=0;user-id=100135110;user-type=mod :streamelements!streamelements@streamelements.tmi.twitch.tv PRIVMSG #lillebas :StreamElements has been running for 1 day 10 hours! +[2025-10-05 11:04:26] << @badge-info=;badges=moderator/1,bot-badge/1;color=#5B99FF;display-name=StreamElements;emotes=;first-msg=0;flags=;id=fdae9875-238f-468c-9237-e64c4a5d78f2;mod=1;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759655066519;turbo=0;user-id=100135110;user-type=mod :streamelements!streamelements@streamelements.tmi.twitch.tv PRIVMSG #lillebas :StreamElements has been running for 1 day 10 hours! +[2025-10-05 11:04:26] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=4491809d-f536-4001-b38b-9d00a0cf8269;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 11:04:26] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=4491809d-f536-4001-b38b-9d00a0cf8269;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759655066540;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Pong! 🏓 +[2025-10-05 11:04:26] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=ff181179-a327-4e4e-83ef-4d16e7741ab4;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759655066572;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Pong! 🏓 +[2025-10-05 11:04:26] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=ff181179-a327-4e4e-83ef-4d16e7741ab4;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 11:04:44] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:04:44] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:04:56] << @badge-info=;badges=broadcaster/1;client-nonce=c587d848e374b2d2166f832c530469a0;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=28b59191-dc09-42a6-9693-a05239ec5ee0;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759655096735;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!test +[2025-10-05 11:04:56] << @badge-info=;badges=broadcaster/1;client-nonce=c587d848e374b2d2166f832c530469a0;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=28b59191-dc09-42a6-9693-a05239ec5ee0;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759655096735;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!test +[2025-10-05 11:05:12] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:05:12] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:05:13] << @badge-info=;badges=broadcaster/1;client-nonce=7f225558a9c04d4715073140b2760b95;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=64431bdb-d410-40d6-acdd-dfc9b14144c5;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759655113516;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :test +[2025-10-05 11:05:13] << @badge-info=;badges=broadcaster/1;client-nonce=7f225558a9c04d4715073140b2760b95;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=64431bdb-d410-40d6-acdd-dfc9b14144c5;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759655113516;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :test +[2025-10-05 11:05:18] << @badge-info=;badges=broadcaster/1;client-nonce=8dcd3d3aa7cf90deb9b5cc7de7de8289;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=883ba5eb-1dd4-4b9c-b3ca-dacb39284624;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759655118799;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!test +[2025-10-05 11:05:18] << @badge-info=;badges=broadcaster/1;client-nonce=8dcd3d3aa7cf90deb9b5cc7de7de8289;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=883ba5eb-1dd4-4b9c-b3ca-dacb39284624;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759655118799;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!test +[2025-10-05 11:08:46] << PING :tmi.twitch.tv +[2025-10-05 11:08:46] >>> PONG :tmi.twitch.tv +[2025-10-05 11:09:07] << PING :tmi.twitch.tv +[2025-10-05 11:09:07] >>> PONG :tmi.twitch.tv +[2025-10-05 11:11:05] Starter bot-manager... +[2025-10-05 11:11:06] Token OK for @lillebas – scopes: analytics:read:extensions,channel:bot,channel:manage:ads,channel:manage:polls,channel:manage:raids,channel:moderate,channel:read:ads,channel:read:charity,channel:read:editors,channel:read:goals,channel:read:hype_train,channel:read:polls,channel:read:predictions,channel:read:redemptions,channel:read:subscriptions,channel:read:vips,chat:edit,chat:read,moderation:read,moderator:manage:announcements,moderator:manage:automod,moderator:manage:automod_settings,moderator:manage:banned_users,moderator:manage:blocked_terms,moderator:manage:chat_messages,moderator:manage:chat_settings,moderator:manage:shield_mode,moderator:manage:shoutouts,moderator:manage:unban_requests,moderator:manage:warnings,moderator:read:automod_settings,moderator:read:blocked_terms,moderator:read:chat_settings,moderator:read:chatters,moderator:read:followers,moderator:read:shield_mode,moderator:read:shoutouts,moderator:read:suspicious_users,moderator:read:unban_requests,user:bot,user:manage:blocked_users,user:read:blocked_users,user:read:chat,user:read:emotes,user:read:follows,user:read:subscriptions,user:write:chat +[2025-10-05 11:11:07] >>> PASS oauth:******** +[2025-10-05 11:11:07] >>> NICK lillebas +[2025-10-05 11:11:07] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 11:11:07] >>> JOIN #lillebas +[2025-10-05 11:11:08] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 11:11:08] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 11:11:08] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 11:11:08] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 11:11:08] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 11:11:08] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 11:11:08] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 11:11:08] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 11:11:08] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:11:08] [JOIN] Bekræftet i #lillebas +[2025-10-05 11:11:08] >>> PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 11:11:08] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 11:11:08] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 11:11:09] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 11:11:09] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 11:11:09] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=0bbd9224-04b6-4f92-8e3a-42fe1e7da19c;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759655469454;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 11:11:09] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=0bbd9224-04b6-4f92-8e3a-42fe1e7da19c;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 11:11:40] << @badge-info=;badges=broadcaster/1;client-nonce=f0dcb171a6462bca7b201f6ec65d13de;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=e19263f2-f99c-43b0-b8ee-11b113e9abd2;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759655501293;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!test +[2025-10-05 11:11:40] << @badge-info=;badges=broadcaster/1;client-nonce=f0dcb171a6462bca7b201f6ec65d13de;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=e19263f2-f99c-43b0-b8ee-11b113e9abd2;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759655501293;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!test +[2025-10-05 11:11:40] >>> PRIVMSG #lillebas :Dette er en test lad os se om det virker +[2025-10-05 11:11:41] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=536c1f9d-78fc-461c-b4a1-0c64b2467421;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759655501578;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Dette er en test lad os se om det virker +[2025-10-05 11:11:41] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=536c1f9d-78fc-461c-b4a1-0c64b2467421;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 11:11:46] << @badge-info=;badges=broadcaster/1;client-nonce=6a28e1fd08132c50ee620ee2b70fdc40;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=78432577-39b2-4bf6-997f-1d54f3f26d2b;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759655506450;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!uv +[2025-10-05 11:11:46] << @badge-info=;badges=broadcaster/1;client-nonce=6a28e1fd08132c50ee620ee2b70fdc40;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=78432577-39b2-4bf6-997f-1d54f3f26d2b;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759655506450;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!uv +[2025-10-05 11:11:46] >>> PRIVMSG #lillebas :Sommerfest 12.09 – UV tema! 🦄🌈 +[2025-10-05 11:11:46] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=d581309d-a5ca-4877-87f4-998896dea4f5;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759655506713;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Sommerfest 12.09 – UV tema! 🦄🌈 +[2025-10-05 11:11:46] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=d581309d-a5ca-4877-87f4-998896dea4f5;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 11:12:02] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:12:02] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:13:39] << PING :tmi.twitch.tv +[2025-10-05 11:13:39] >>> PONG :tmi.twitch.tv +[2025-10-05 11:14:03] Ingen data i 120s – reconnect. +[2025-10-05 11:14:03] Genstarter om 5 sek... +[2025-10-05 11:14:08] Token OK for @lillebas – scopes: analytics:read:extensions,channel:bot,channel:manage:ads,channel:manage:polls,channel:manage:raids,channel:moderate,channel:read:ads,channel:read:charity,channel:read:editors,channel:read:goals,channel:read:hype_train,channel:read:polls,channel:read:predictions,channel:read:redemptions,channel:read:subscriptions,channel:read:vips,chat:edit,chat:read,moderation:read,moderator:manage:announcements,moderator:manage:automod,moderator:manage:automod_settings,moderator:manage:banned_users,moderator:manage:blocked_terms,moderator:manage:chat_messages,moderator:manage:chat_settings,moderator:manage:shield_mode,moderator:manage:shoutouts,moderator:manage:unban_requests,moderator:manage:warnings,moderator:read:automod_settings,moderator:read:blocked_terms,moderator:read:chat_settings,moderator:read:chatters,moderator:read:followers,moderator:read:shield_mode,moderator:read:shoutouts,moderator:read:suspicious_users,moderator:read:unban_requests,user:bot,user:manage:blocked_users,user:read:blocked_users,user:read:chat,user:read:emotes,user:read:follows,user:read:subscriptions,user:write:chat +[2025-10-05 11:14:09] >>> PASS oauth:******** +[2025-10-05 11:14:09] >>> NICK lillebas +[2025-10-05 11:14:09] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 11:14:09] >>> JOIN #lillebas +[2025-10-05 11:14:10] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 11:14:10] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 11:14:10] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 11:14:10] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 11:14:10] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 11:14:10] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 11:14:10] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 11:14:10] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 11:14:10] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:14:10] [JOIN] Bekræftet i #lillebas +[2025-10-05 11:14:10] >>> PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 11:14:10] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 11:14:10] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 11:14:10] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 11:14:11] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 11:14:11] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=28881658-8ec8-4332-b916-cf53c0207eef;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +sent-ts=1759655651414;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 11:14:57] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:14:57] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:16:58] Ingen data i 120s – reconnect. +[2025-10-05 11:16:58] Genstarter om 5 sek... +[2025-10-05 11:17:03] Token OK for @lillebas – scopes: analytics:read:extensions,channel:bot,channel:manage:ads,channel:manage:polls,channel:manage:raids,channel:moderate,channel:read:ads,channel:read:charity,channel:read:editors,channel:read:goals,channel:read:hype_train,channel:read:polls,channel:read:predictions,channel:read:redemptions,channel:read:subscriptions,channel:read:vips,chat:edit,chat:read,moderation:read,moderator:manage:announcements,moderator:manage:automod,moderator:manage:automod_settings,moderator:manage:banned_users,moderator:manage:blocked_terms,moderator:manage:chat_messages,moderator:manage:chat_settings,moderator:manage:shield_mode,moderator:manage:shoutouts,moderator:manage:unban_requests,moderator:manage:warnings,moderator:read:automod_settings,moderator:read:blocked_terms,moderator:read:chat_settings,moderator:read:chatters,moderator:read:followers,moderator:read:shield_mode,moderator:read:shoutouts,moderator:read:suspicious_users,moderator:read:unban_requests,user:bot,user:manage:blocked_users,user:read:blocked_users,user:read:chat,user:read:emotes,user:read:follows,user:read:subscriptions,user:write:chat +[2025-10-05 11:17:04] >>> PASS oauth:******** +[2025-10-05 11:17:04] >>> NICK lillebas +[2025-10-05 11:17:04] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 11:17:04] >>> JOIN #lillebas +[2025-10-05 11:17:05] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 11:17:05] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 11:17:05] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 11:17:05] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 11:17:05] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 11:17:05] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 11:17:05] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 11:17:05] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 11:17:05] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:17:05] [JOIN] Bekræftet i #lillebas +[2025-10-05 11:17:05] >>> PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 11:17:05] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 11:17:05] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 11:17:06] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 11:17:06] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 11:17:06] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=00855984-4d1b-40c1-94f9-df8740ce7820;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759655826444;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 11:17:06] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=00855984-4d1b-40c1-94f9-df8740ce7820;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 11:17:32] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:17:32] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:18:17] << PING :tmi.twitch.tv +[2025-10-05 11:18:17] >>> PONG :tmi.twitch.tv +[2025-10-05 11:19:33] Ingen data i 120s – reconnect. +[2025-10-05 11:19:33] Genstarter om 5 sek... +[2025-10-05 11:19:38] Token OK for @lillebas – scopes: analytics:read:extensions,channel:bot,channel:manage:ads,channel:manage:polls,channel:manage:raids,channel:moderate,channel:read:ads,channel:read:charity,channel:read:editors,channel:read:goals,channel:read:hype_train,channel:read:polls,channel:read:predictions,channel:read:redemptions,channel:read:subscriptions,channel:read:vips,chat:edit,chat:read,moderation:read,moderator:manage:announcements,moderator:manage:automod,moderator:manage:automod_settings,moderator:manage:banned_users,moderator:manage:blocked_terms,moderator:manage:chat_messages,moderator:manage:chat_settings,moderator:manage:shield_mode,moderator:manage:shoutouts,moderator:manage:unban_requests,moderator:manage:warnings,moderator:read:automod_settings,moderator:read:blocked_terms,moderator:read:chat_settings,moderator:read:chatters,moderator:read:followers,moderator:read:shield_mode,moderator:read:shoutouts,moderator:read:suspicious_users,moderator:read:unban_requests,user:bot,user:manage:blocked_users,user:read:blocked_users,user:read:chat,user:read:emotes,user:read:follows,user:read:subscriptions,user:write:chat +[2025-10-05 11:19:39] >>> PASS oauth:******** +[2025-10-05 11:19:39] >>> NICK lillebas +[2025-10-05 11:19:39] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 11:19:39] >>> JOIN #lillebas +[2025-10-05 11:19:40] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 11:19:40] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 11:19:40] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 11:19:40] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 11:19:40] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 11:19:40] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 11:19:40] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 11:19:40] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 11:19:40] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:19:40] [JOIN] Bekræftet i #lillebas +[2025-10-05 11:19:40] >>> PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 11:19:40] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 11:19:40] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 11:19:40] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 11:19:40] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 11:19:40] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=59a5aa0a-fce8-47a0-b675-a930ef6b019a;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759655981334;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 11:19:41] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=59a5aa0a-fce8-47a0-b675-a930ef6b019a;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 11:20:09] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:20:09] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:22:10] Ingen data i 120s – reconnect. +[2025-10-05 11:22:10] Genstarter om 5 sek... +[2025-10-05 11:22:15] Token OK for @lillebas – scopes: analytics:read:extensions,channel:bot,channel:manage:ads,channel:manage:polls,channel:manage:raids,channel:moderate,channel:read:ads,channel:read:charity,channel:read:editors,channel:read:goals,channel:read:hype_train,channel:read:polls,channel:read:predictions,channel:read:redemptions,channel:read:subscriptions,channel:read:vips,chat:edit,chat:read,moderation:read,moderator:manage:announcements,moderator:manage:automod,moderator:manage:automod_settings,moderator:manage:banned_users,moderator:manage:blocked_terms,moderator:manage:chat_messages,moderator:manage:chat_settings,moderator:manage:shield_mode,moderator:manage:shoutouts,moderator:manage:unban_requests,moderator:manage:warnings,moderator:read:automod_settings,moderator:read:blocked_terms,moderator:read:chat_settings,moderator:read:chatters,moderator:read:followers,moderator:read:shield_mode,moderator:read:shoutouts,moderator:read:suspicious_users,moderator:read:unban_requests,user:bot,user:manage:blocked_users,user:read:blocked_users,user:read:chat,user:read:emotes,user:read:follows,user:read:subscriptions,user:write:chat +[2025-10-05 11:22:16] >>> PASS oauth:******** +[2025-10-05 11:22:16] >>> NICK lillebas +[2025-10-05 11:22:16] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 11:22:16] >>> JOIN #lillebas +[2025-10-05 11:22:17] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 11:22:17] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 11:22:17] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 11:22:17] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 11:22:17] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 11:22:17] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 11:22:17] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 11:22:17] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 11:22:17] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:22:17] [JOIN] Bekræftet i #lillebas +[2025-10-05 11:22:17] >>> PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 11:22:17] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 11:22:17] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 11:22:17] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 11:22:17] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 11:22:18] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=6318923c-8536-4457-8cc3-497b0aead44b;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 11:22:18] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=6318923c-8536-4457-8cc3-497b0aead44b;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759656138328;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 11:22:28] << PING :tmi.twitch.tv +[2025-10-05 11:22:28] >>> PONG :tmi.twitch.tv +[2025-10-05 11:23:20] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:23:20] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:25:21] Ingen data i 120s – reconnect. +[2025-10-05 11:25:21] Genstarter om 5 sek... +[2025-10-05 11:25:26] Token OK for @lillebas – scopes: analytics:read:extensions,channel:bot,channel:manage:ads,channel:manage:polls,channel:manage:raids,channel:moderate,channel:read:ads,channel:read:charity,channel:read:editors,channel:read:goals,channel:read:hype_train,channel:read:polls,channel:read:predictions,channel:read:redemptions,channel:read:subscriptions,channel:read:vips,chat:edit,chat:read,moderation:read,moderator:manage:announcements,moderator:manage:automod,moderator:manage:automod_settings,moderator:manage:banned_users,moderator:manage:blocked_terms,moderator:manage:chat_messages,moderator:manage:chat_settings,moderator:manage:shield_mode,moderator:manage:shoutouts,moderator:manage:unban_requests,moderator:manage:warnings,moderator:read:automod_settings,moderator:read:blocked_terms,moderator:read:chat_settings,moderator:read:chatters,moderator:read:followers,moderator:read:shield_mode,moderator:read:shoutouts,moderator:read:suspicious_users,moderator:read:unban_requests,user:bot,user:manage:blocked_users,user:read:blocked_users,user:read:chat,user:read:emotes,user:read:follows,user:read:subscriptions,user:write:chat +[2025-10-05 11:25:27] >>> PASS oauth:******** +[2025-10-05 11:25:27] >>> NICK lillebas +[2025-10-05 11:25:27] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 11:25:27] >>> JOIN #lillebas +[2025-10-05 11:25:28] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 11:25:28] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 11:25:28] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 11:25:28] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 11:25:28] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 11:25:28] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 11:25:28] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 11:25:28] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 11:25:28] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:25:28] [JOIN] Bekræftet i #lillebas +[2025-10-05 11:25:28] >>> PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 11:25:28] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 11:25:28] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 11:25:28] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 11:25:29] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 11:25:29] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=e385825e-ccd5-49c0-8520-8cce9efd7874;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759656329425;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 11:25:29] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=e385825e-ccd5-49c0-8520-8cce9efd7874;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 11:26:04] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:26:04] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:26:32] << PING :tmi.twitch.tv +[2025-10-05 11:26:32] >>> PONG :tmi.twitch.tv +[2025-10-05 11:27:32] Starter bot-manager... +[2025-10-05 11:27:33] Token OK for @lillebas – scopes: analytics:read:extensions,channel:bot,channel:manage:ads,channel:manage:polls,channel:manage:raids,channel:moderate,channel:read:ads,channel:read:charity,channel:read:editors,channel:read:goals,channel:read:hype_train,channel:read:polls,channel:read:predictions,channel:read:redemptions,channel:read:subscriptions,channel:read:vips,chat:edit,chat:read,moderation:read,moderator:manage:announcements,moderator:manage:automod,moderator:manage:automod_settings,moderator:manage:banned_users,moderator:manage:blocked_terms,moderator:manage:chat_messages,moderator:manage:chat_settings,moderator:manage:shield_mode,moderator:manage:shoutouts,moderator:manage:unban_requests,moderator:manage:warnings,moderator:read:automod_settings,moderator:read:blocked_terms,moderator:read:chat_settings,moderator:read:chatters,moderator:read:followers,moderator:read:shield_mode,moderator:read:shoutouts,moderator:read:suspicious_users,moderator:read:unban_requests,user:bot,user:manage:blocked_users,user:read:blocked_users,user:read:chat,user:read:emotes,user:read:follows,user:read:subscriptions,user:write:chat +[2025-10-05 11:27:34] >>> PASS oauth:******** +[2025-10-05 11:27:34] >>> NICK lillebas +[2025-10-05 11:27:34] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 11:27:34] >>> JOIN #lillebas +[2025-10-05 11:27:34] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 11:27:34] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 11:27:34] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 11:27:34] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 11:27:34] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 11:27:34] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 11:27:34] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 11:27:35] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 11:27:35] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:27:35] [JOIN] Bekræftet i #lillebas +[2025-10-05 11:27:35] >>> PRIVMSG #lillebas :🙋 TechNet Botten Online 🙋 +[2025-10-05 11:27:35] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 11:27:35] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 11:27:35] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 11:27:35] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 11:27:35] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=76445c79-0b1d-43ee-8c4a-8cbc5d23c404;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759656455697;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :🙋 TechNet Botten Online 🙋 +[2025-10-05 11:27:35] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=76445c79-0b1d-43ee-8c4a-8cbc5d23c404;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 11:28:35] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:28:35] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:30:39] << PING :tmi.twitch.tv +[2025-10-05 11:30:39] >>> PONG :tmi.twitch.tv +[2025-10-05 11:32:30] << PING :tmi.twitch.tv +[2025-10-05 11:32:30] >>> PONG :tmi.twitch.tv +[2025-10-05 11:35:27] << PING :tmi.twitch.tv +[2025-10-05 11:35:27] >>> PONG :tmi.twitch.tv +[2025-10-05 11:36:47] << PING :tmi.twitch.tv +[2025-10-05 11:36:47] >>> PONG :tmi.twitch.tv +[2025-10-05 11:40:16] << PING :tmi.twitch.tv +[2025-10-05 11:40:16] >>> PONG :tmi.twitch.tv +[2025-10-05 11:41:39] << PING :tmi.twitch.tv +[2025-10-05 11:41:39] >>> PONG :tmi.twitch.tv +[2025-10-05 11:44:43] << PING :tmi.twitch.tv +[2025-10-05 11:44:43] >>> PONG :tmi.twitch.tv +[2025-10-05 11:45:52] << PING :tmi.twitch.tv +[2025-10-05 11:45:52] >>> PONG :tmi.twitch.tv +[2025-10-05 11:47:47] Starter bot... +[2025-10-05 11:47:48] >>> PASS oauth:******** +[2025-10-05 11:47:48] >>> NICK lillebas +[2025-10-05 11:47:48] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 11:47:48] >>> JOIN #lillebas +[2025-10-05 11:47:49] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 11:47:49] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 11:47:49] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 11:47:49] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 11:47:49] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 11:47:49] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 11:47:49] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 11:47:49] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 11:47:49] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:47:49] JOIN bekræftet +[2025-10-05 11:47:49] >>> PRIVMSG #lillebas :Bot online — skriv !ping +[2025-10-05 11:47:49] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 11:47:49] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 11:47:49] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 11:47:49] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 11:47:49] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=26f09073-5abd-446f-a118-bab5a31fa4d8;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759657670118;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Bot online — skriv !ping +[2025-10-05 11:47:49] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=26f09073-5abd-446f-a118-bab5a31fa4d8;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 11:48:06] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:48:06] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:49:34] << PING :tmi.twitch.tv +[2025-10-05 11:49:34] >>> PONG :tmi.twitch.tv +[2025-10-05 11:51:51] << PING :tmi.twitch.tv +[2025-10-05 11:51:51] >>> PONG :tmi.twitch.tv +[2025-10-05 11:53:02] Starter bot (manager). +[2025-10-05 11:53:02] Token OK for @lillebas – scopes: analytics:read:extensions,channel:bot,channel:manage:ads,channel:manage:polls,channel:manage:raids,channel:moderate,channel:read:ads,channel:read:charity,channel:read:editors,channel:read:goals,channel:read:hype_train,channel:read:polls,channel:read:predictions,channel:read:redemptions,channel:read:subscriptions,channel:read:vips,chat:edit,chat:read,moderation:read,moderator:manage:announcements,moderator:manage:automod,moderator:manage:automod_settings,moderator:manage:banned_users,moderator:manage:blocked_terms,moderator:manage:chat_messages,moderator:manage:chat_settings,moderator:manage:shield_mode,moderator:manage:shoutouts,moderator:manage:unban_requests,moderator:manage:warnings,moderator:read:automod_settings,moderator:read:blocked_terms,moderator:read:chat_settings,moderator:read:chatters,moderator:read:followers,moderator:read:shield_mode,moderator:read:shoutouts,moderator:read:suspicious_users,moderator:read:unban_requests,user:bot,user:manage:blocked_users,user:read:blocked_users,user:read:chat,user:read:emotes,user:read:follows,user:read:subscriptions,user:write:chat – udløber om 0 sek. +[2025-10-05 11:53:04] >>> PASS oauth:******** +[2025-10-05 11:53:04] >>> NICK lillebas +[2025-10-05 11:53:04] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 11:53:04] >>> JOIN #lillebas +[2025-10-05 11:53:05] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 11:53:05] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 11:53:05] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 11:53:05] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 11:53:05] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 11:53:05] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 11:53:05] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 11:53:05] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 11:53:05] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:53:05] [JOIN] Bekræftet i #lillebas +[2025-10-05 11:53:05] >>> PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 11:53:05] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 11:53:05] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 11:53:05] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 11:53:05] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 11:53:05] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=e6fdebbe-f83f-4119-a791-f0fbbe085e92;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759657986228;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 11:53:05] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=e6fdebbe-f83f-4119-a791-f0fbbe085e92;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 11:53:23] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:53:23] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:53:28] << @badge-info=;badges=broadcaster/1;client-nonce=f74feaf3ef83f31d7052c86302f98e30;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=797528cb-5adb-44b7-a41d-0e060866597f;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759658008532;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!hej +[2025-10-05 11:53:28] << @badge-info=;badges=broadcaster/1;client-nonce=f74feaf3ef83f31d7052c86302f98e30;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=797528cb-5adb-44b7-a41d-0e060866597f;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759658008532;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!hej +[2025-10-05 11:53:28] >>> PRIVMSG #lillebas :Hej @lillebas 👋 klokken er 11:53 +[2025-10-05 11:53:28] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=a135b3f0-4469-4335-84a2-61691380010c;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759658008811;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Hej @lillebas 👋 klokken er 11:53 +[2025-10-05 11:53:28] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=a135b3f0-4469-4335-84a2-61691380010c;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 11:53:35] << PING :tmi.twitch.tv +[2025-10-05 11:53:35] >>> PONG :tmi.twitch.tv +[2025-10-05 11:55:29] Ingen data i 120s – reconnect (watchdog aktiv). +[2025-10-05 11:55:29] Forbindelse afsluttet – forsøger igen om 5 sek. +[2025-10-05 11:55:34] Token OK for @lillebas – scopes: analytics:read:extensions,channel:bot,channel:manage:ads,channel:manage:polls,channel:manage:raids,channel:moderate,channel:read:ads,channel:read:charity,channel:read:editors,channel:read:goals,channel:read:hype_train,channel:read:polls,channel:read:predictions,channel:read:redemptions,channel:read:subscriptions,channel:read:vips,chat:edit,chat:read,moderation:read,moderator:manage:announcements,moderator:manage:automod,moderator:manage:automod_settings,moderator:manage:banned_users,moderator:manage:blocked_terms,moderator:manage:chat_messages,moderator:manage:chat_settings,moderator:manage:shield_mode,moderator:manage:shoutouts,moderator:manage:unban_requests,moderator:manage:warnings,moderator:read:automod_settings,moderator:read:blocked_terms,moderator:read:chat_settings,moderator:read:chatters,moderator:read:followers,moderator:read:shield_mode,moderator:read:shoutouts,moderator:read:suspicious_users,moderator:read:unban_requests,user:bot,user:manage:blocked_users,user:read:blocked_users,user:read:chat,user:read:emotes,user:read:follows,user:read:subscriptions,user:write:chat – udløber om 0 sek. +[2025-10-05 11:55:35] >>> PASS oauth:******** +[2025-10-05 11:55:35] >>> NICK lillebas +[2025-10-05 11:55:35] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 11:55:35] >>> JOIN #lillebas +[2025-10-05 11:55:36] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 11:55:36] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 11:55:36] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 11:55:36] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 11:55:36] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 11:55:36] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 11:55:36] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 11:55:36] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 11:55:36] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:55:36] [JOIN] Bekræftet i #lillebas +[2025-10-05 11:55:36] >>> PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 11:55:36] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 11:55:36] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 11:55:37] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 11:55:37] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 11:55:37] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=ef233e37-116b-46d0-b099-97c96e3f903a;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 11:55:37] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=ef233e37-116b-46d0-b099-97c96e3f903a;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759658137483;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 11:55:39] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:55:40] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:57:41] Ingen data i 120s – reconnect (watchdog aktiv). +[2025-10-05 11:57:41] Forbindelse afsluttet – forsøger igen om 5 sek. +[2025-10-05 11:57:46] Token OK for @lillebas – scopes: analytics:read:extensions,channel:bot,channel:manage:ads,channel:manage:polls,channel:manage:raids,channel:moderate,channel:read:ads,channel:read:charity,channel:read:editors,channel:read:goals,channel:read:hype_train,channel:read:polls,channel:read:predictions,channel:read:redemptions,channel:read:subscriptions,channel:read:vips,chat:edit,chat:read,moderation:read,moderator:manage:announcements,moderator:manage:automod,moderator:manage:automod_settings,moderator:manage:banned_users,moderator:manage:blocked_terms,moderator:manage:chat_messages,moderator:manage:chat_settings,moderator:manage:shield_mode,moderator:manage:shoutouts,moderator:manage:unban_requests,moderator:manage:warnings,moderator:read:automod_settings,moderator:read:blocked_terms,moderator:read:chat_settings,moderator:read:chatters,moderator:read:followers,moderator:read:shield_mode,moderator:read:shoutouts,moderator:read:suspicious_users,moderator:read:unban_requests,user:bot,user:manage:blocked_users,user:read:blocked_users,user:read:chat,user:read:emotes,user:read:follows,user:read:subscriptions,user:write:chat – udløber om 0 sek. +[2025-10-05 11:57:47] >>> PASS oauth:******** +[2025-10-05 11:57:47] >>> NICK lillebas +[2025-10-05 11:57:47] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 11:57:47] >>> JOIN #lillebas +[2025-10-05 11:57:48] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 11:57:48] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 11:57:48] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 11:57:48] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 11:57:48] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 11:57:48] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 11:57:48] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 11:57:48] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 11:57:48] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:57:48] [JOIN] Bekræftet i #lillebas +[2025-10-05 11:57:48] >>> PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 11:57:49] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 11:57:49] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 11:57:49] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 11:57:49] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 11:57:49] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=930300fd-3261-4cc1-b5a0-8c8ab85b8126;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759658269609;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 11:57:49] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=930300fd-3261-4cc1-b5a0-8c8ab85b8126;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 11:58:06] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:58:06] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 11:58:25] << PING :tmi.twitch.tv +[2025-10-05 11:58:25] >>> PONG :tmi.twitch.tv +[2025-10-05 12:00:07] Ingen data i 120s – reconnect (watchdog aktiv). +[2025-10-05 12:00:07] Forbindelse afsluttet – forsøger igen om 5 sek. +[2025-10-05 12:00:12] Token OK for @lillebas – scopes: analytics:read:extensions,channel:bot,channel:manage:ads,channel:manage:polls,channel:manage:raids,channel:moderate,channel:read:ads,channel:read:charity,channel:read:editors,channel:read:goals,channel:read:hype_train,channel:read:polls,channel:read:predictions,channel:read:redemptions,channel:read:subscriptions,channel:read:vips,chat:edit,chat:read,moderation:read,moderator:manage:announcements,moderator:manage:automod,moderator:manage:automod_settings,moderator:manage:banned_users,moderator:manage:blocked_terms,moderator:manage:chat_messages,moderator:manage:chat_settings,moderator:manage:shield_mode,moderator:manage:shoutouts,moderator:manage:unban_requests,moderator:manage:warnings,moderator:read:automod_settings,moderator:read:blocked_terms,moderator:read:chat_settings,moderator:read:chatters,moderator:read:followers,moderator:read:shield_mode,moderator:read:shoutouts,moderator:read:suspicious_users,moderator:read:unban_requests,user:bot,user:manage:blocked_users,user:read:blocked_users,user:read:chat,user:read:emotes,user:read:follows,user:read:subscriptions,user:write:chat – udløber om 0 sek. +[2025-10-05 12:00:13] >>> PASS oauth:******** +[2025-10-05 12:00:13] >>> NICK lillebas +[2025-10-05 12:00:13] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:00:13] >>> JOIN #lillebas +[2025-10-05 12:00:14] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 12:00:14] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 12:00:14] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 12:00:14] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 12:00:14] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 12:00:14] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 12:00:14] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 12:00:14] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:00:14] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:00:14] [JOIN] Bekræftet i #lillebas +[2025-10-05 12:00:14] >>> PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 12:00:14] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 12:00:14] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 12:00:15] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:00:15] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 12:00:15] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=be9330c5-3e3d-4164-a10e-7d300850859e;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759658415430;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 12:00:15] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=be9330c5-3e3d-4164-a10e-7d300850859e;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:00:21] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:00:21] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:02:22] Ingen data i 120s – reconnect (watchdog aktiv). +[2025-10-05 12:02:22] Forbindelse afsluttet – forsøger igen om 5 sek. +[2025-10-05 12:02:26] << PING :tmi.twitch.tv +[2025-10-05 12:02:26] >>> PONG :tmi.twitch.tv +[2025-10-05 12:02:27] Token OK for @lillebas – scopes: analytics:read:extensions,channel:bot,channel:manage:ads,channel:manage:polls,channel:manage:raids,channel:moderate,channel:read:ads,channel:read:charity,channel:read:editors,channel:read:goals,channel:read:hype_train,channel:read:polls,channel:read:predictions,channel:read:redemptions,channel:read:subscriptions,channel:read:vips,chat:edit,chat:read,moderation:read,moderator:manage:announcements,moderator:manage:automod,moderator:manage:automod_settings,moderator:manage:banned_users,moderator:manage:blocked_terms,moderator:manage:chat_messages,moderator:manage:chat_settings,moderator:manage:shield_mode,moderator:manage:shoutouts,moderator:manage:unban_requests,moderator:manage:warnings,moderator:read:automod_settings,moderator:read:blocked_terms,moderator:read:chat_settings,moderator:read:chatters,moderator:read:followers,moderator:read:shield_mode,moderator:read:shoutouts,moderator:read:suspicious_users,moderator:read:unban_requests,user:bot,user:manage:blocked_users,user:read:blocked_users,user:read:chat,user:read:emotes,user:read:follows,user:read:subscriptions,user:write:chat – udløber om 0 sek. +[2025-10-05 12:02:28] >>> PASS oauth:******** +[2025-10-05 12:02:28] >>> NICK lillebas +[2025-10-05 12:02:28] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:02:28] >>> JOIN #lillebas +[2025-10-05 12:02:29] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 12:02:29] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 12:02:29] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 12:02:29] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 12:02:29] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 12:02:29] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 12:02:29] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 12:02:29] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:02:29] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:02:29] [JOIN] Bekræftet i #lillebas +[2025-10-05 12:02:29] >>> PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 12:02:29] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 12:02:29] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 12:02:29] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:02:30] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 12:02:30] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=d2fcd28a-2f41-4ff9-b7d8-4de0bdaab180;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759658550372;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 12:02:30] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=d2fcd28a-2f41-4ff9-b7d8-4de0bdaab180;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:02:39] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:02:39] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:04:40] Ingen data i 120s – reconnect (watchdog aktiv). +[2025-10-05 12:04:40] Forbindelse afsluttet – forsøger igen om 5 sek. +[2025-10-05 12:04:45] Token OK for @lillebas – scopes: analytics:read:extensions,channel:bot,channel:manage:ads,channel:manage:polls,channel:manage:raids,channel:moderate,channel:read:ads,channel:read:charity,channel:read:editors,channel:read:goals,channel:read:hype_train,channel:read:polls,channel:read:predictions,channel:read:redemptions,channel:read:subscriptions,channel:read:vips,chat:edit,chat:read,moderation:read,moderator:manage:announcements,moderator:manage:automod,moderator:manage:automod_settings,moderator:manage:banned_users,moderator:manage:blocked_terms,moderator:manage:chat_messages,moderator:manage:chat_settings,moderator:manage:shield_mode,moderator:manage:shoutouts,moderator:manage:unban_requests,moderator:manage:warnings,moderator:read:automod_settings,moderator:read:blocked_terms,moderator:read:chat_settings,moderator:read:chatters,moderator:read:followers,moderator:read:shield_mode,moderator:read:shoutouts,moderator:read:suspicious_users,moderator:read:unban_requests,user:bot,user:manage:blocked_users,user:read:blocked_users,user:read:chat,user:read:emotes,user:read:follows,user:read:subscriptions,user:write:chat – udløber om 0 sek. +[2025-10-05 12:04:46] >>> PASS oauth:******** +[2025-10-05 12:04:46] >>> NICK lillebas +[2025-10-05 12:04:46] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:04:46] >>> JOIN #lillebas +[2025-10-05 12:04:47] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 12:04:47] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 12:04:47] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 12:04:47] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 12:04:47] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 12:04:47] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 12:04:47] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 12:04:47] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:04:47] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:04:47] [JOIN] Bekræftet i #lillebas +[2025-10-05 12:04:47] >>> PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 12:04:47] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 12:04:47] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 12:04:47] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:04:48] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 12:04:48] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=cb59293c-3ed8-4f76-af3b-e8f00a9fdb33;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759658688373;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 12:04:48] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=cb59293c-3ed8-4f76-af3b-e8f00a9fdb33;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:05:37] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:05:38] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:06:46] << PING :tmi.twitch.tv +[2025-10-05 12:06:46] >>> PONG :tmi.twitch.tv +[2025-10-05 12:07:39] Ingen data i 120s – reconnect (watchdog aktiv). +[2025-10-05 12:07:39] Forbindelse afsluttet – forsøger igen om 5 sek. +[2025-10-05 12:07:44] Token OK for @lillebas – scopes: analytics:read:extensions,channel:bot,channel:manage:ads,channel:manage:polls,channel:manage:raids,channel:moderate,channel:read:ads,channel:read:charity,channel:read:editors,channel:read:goals,channel:read:hype_train,channel:read:polls,channel:read:predictions,channel:read:redemptions,channel:read:subscriptions,channel:read:vips,chat:edit,chat:read,moderation:read,moderator:manage:announcements,moderator:manage:automod,moderator:manage:automod_settings,moderator:manage:banned_users,moderator:manage:blocked_terms,moderator:manage:chat_messages,moderator:manage:chat_settings,moderator:manage:shield_mode,moderator:manage:shoutouts,moderator:manage:unban_requests,moderator:manage:warnings,moderator:read:automod_settings,moderator:read:blocked_terms,moderator:read:chat_settings,moderator:read:chatters,moderator:read:followers,moderator:read:shield_mode,moderator:read:shoutouts,moderator:read:suspicious_users,moderator:read:unban_requests,user:bot,user:manage:blocked_users,user:read:blocked_users,user:read:chat,user:read:emotes,user:read:follows,user:read:subscriptions,user:write:chat – udløber om 0 sek. +[2025-10-05 12:07:45] >>> PASS oauth:******** +[2025-10-05 12:07:45] >>> NICK lillebas +[2025-10-05 12:07:45] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:07:45] >>> JOIN #lillebas +[2025-10-05 12:07:46] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 12:07:46] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 12:07:46] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 12:07:46] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 12:07:46] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 12:07:46] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 12:07:46] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 12:07:46] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:07:46] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:07:46] [JOIN] Bekræftet i #lillebas +[2025-10-05 12:07:46] >>> PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 12:07:46] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 12:07:46] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 12:07:46] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:07:47] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 12:07:47] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=9e3d8530-8f4f-48db-8371-7a14d24b4df8;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759658867404;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 12:07:47] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=9e3d8530-8f4f-48db-8371-7a14d24b4df8;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:08:41] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:08:41] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:10:42] Ingen data i 120s – reconnect (watchdog aktiv). +[2025-10-05 12:10:42] Forbindelse afsluttet – forsøger igen om 5 sek. +[2025-10-05 12:10:47] Token OK for @lillebas – scopes: analytics:read:extensions,channel:bot,channel:manage:ads,channel:manage:polls,channel:manage:raids,channel:moderate,channel:read:ads,channel:read:charity,channel:read:editors,channel:read:goals,channel:read:hype_train,channel:read:polls,channel:read:predictions,channel:read:redemptions,channel:read:subscriptions,channel:read:vips,chat:edit,chat:read,moderation:read,moderator:manage:announcements,moderator:manage:automod,moderator:manage:automod_settings,moderator:manage:banned_users,moderator:manage:blocked_terms,moderator:manage:chat_messages,moderator:manage:chat_settings,moderator:manage:shield_mode,moderator:manage:shoutouts,moderator:manage:unban_requests,moderator:manage:warnings,moderator:read:automod_settings,moderator:read:blocked_terms,moderator:read:chat_settings,moderator:read:chatters,moderator:read:followers,moderator:read:shield_mode,moderator:read:shoutouts,moderator:read:suspicious_users,moderator:read:unban_requests,user:bot,user:manage:blocked_users,user:read:blocked_users,user:read:chat,user:read:emotes,user:read:follows,user:read:subscriptions,user:write:chat – udløber om 0 sek. +[2025-10-05 12:10:48] >>> PASS oauth:******** +[2025-10-05 12:10:48] >>> NICK lillebas +[2025-10-05 12:10:48] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:10:48] >>> JOIN #lillebas +[2025-10-05 12:10:49] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 12:10:49] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 12:10:49] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 12:10:49] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 12:10:49] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 12:10:49] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 12:10:49] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 12:10:49] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:10:49] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:10:49] [JOIN] Bekræftet i #lillebas +[2025-10-05 12:10:49] >>> PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 12:10:49] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 12:10:49] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 12:10:50] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:10:50] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 12:10:50] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=878e078b-cf6b-457e-b95c-dc189711b7fd;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759659050445;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 12:10:50] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=878e078b-cf6b-457e-b95c-dc189711b7fd;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:11:05] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:11:05] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:11:31] << PING :tmi.twitch.tv +[2025-10-05 12:11:31] >>> PONG :tmi.twitch.tv +[2025-10-05 12:13:06] Ingen data i 120s – reconnect (watchdog aktiv). +[2025-10-05 12:13:06] Forbindelse afsluttet – forsøger igen om 5 sek. +[2025-10-05 12:13:11] Token OK for @lillebas – scopes: analytics:read:extensions,channel:bot,channel:manage:ads,channel:manage:polls,channel:manage:raids,channel:moderate,channel:read:ads,channel:read:charity,channel:read:editors,channel:read:goals,channel:read:hype_train,channel:read:polls,channel:read:predictions,channel:read:redemptions,channel:read:subscriptions,channel:read:vips,chat:edit,chat:read,moderation:read,moderator:manage:announcements,moderator:manage:automod,moderator:manage:automod_settings,moderator:manage:banned_users,moderator:manage:blocked_terms,moderator:manage:chat_messages,moderator:manage:chat_settings,moderator:manage:shield_mode,moderator:manage:shoutouts,moderator:manage:unban_requests,moderator:manage:warnings,moderator:read:automod_settings,moderator:read:blocked_terms,moderator:read:chat_settings,moderator:read:chatters,moderator:read:followers,moderator:read:shield_mode,moderator:read:shoutouts,moderator:read:suspicious_users,moderator:read:unban_requests,user:bot,user:manage:blocked_users,user:read:blocked_users,user:read:chat,user:read:emotes,user:read:follows,user:read:subscriptions,user:write:chat – udløber om 0 sek. +[2025-10-05 12:13:12] >>> PASS oauth:******** +[2025-10-05 12:13:12] >>> NICK lillebas +[2025-10-05 12:13:12] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:13:12] >>> JOIN #lillebas +[2025-10-05 12:13:13] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 12:13:13] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 12:13:13] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 12:13:13] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 12:13:13] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 12:13:13] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 12:13:13] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 12:13:13] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:13:13] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:13:13] [JOIN] Bekræftet i #lillebas +[2025-10-05 12:13:13] >>> PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 12:13:13] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 12:13:13] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 12:13:13] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:13:13] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 12:13:14] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=89133129-0d93-4edf-a22d-5a177d12a330;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759659194343;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Bot online — skriv !ping for test 🙋 +[2025-10-05 12:13:14] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=89133129-0d93-4edf-a22d-5a177d12a330;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:13:25] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:13:25] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:15:08] Starter bot (manager). +[2025-10-05 12:15:09] Token OK for @lillebas – scopes: analytics:read:extensions,channel:bot,channel:manage:ads,channel:manage:polls,channel:manage:raids,channel:moderate,channel:read:ads,channel:read:charity,channel:read:editors,channel:read:goals,channel:read:hype_train,channel:read:polls,channel:read:predictions,channel:read:redemptions,channel:read:subscriptions,channel:read:vips,chat:edit,chat:read,moderation:read,moderator:manage:announcements,moderator:manage:automod,moderator:manage:automod_settings,moderator:manage:banned_users,moderator:manage:blocked_terms,moderator:manage:chat_messages,moderator:manage:chat_settings,moderator:manage:shield_mode,moderator:manage:shoutouts,moderator:manage:unban_requests,moderator:manage:warnings,moderator:read:automod_settings,moderator:read:blocked_terms,moderator:read:chat_settings,moderator:read:chatters,moderator:read:followers,moderator:read:shield_mode,moderator:read:shoutouts,moderator:read:suspicious_users,moderator:read:unban_requests,user:bot,user:manage:blocked_users,user:read:blocked_users,user:read:chat,user:read:emotes,user:read:follows,user:read:subscriptions,user:write:chat – udløber om 0 sek. +[2025-10-05 12:15:10] >>> PASS oauth:******** +[2025-10-05 12:15:10] >>> NICK lillebas +[2025-10-05 12:15:10] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:15:10] >>> JOIN #lillebas +[2025-10-05 12:15:10] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 12:15:11] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 12:15:11] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 12:15:11] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 12:15:11] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 12:15:11] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 12:15:11] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 12:15:11] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:15:11] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:15:11] [JOIN] Bekræftet i #lillebas +[2025-10-05 12:15:11] >>> PRIVMSG #lillebas :🙋 TechNet Botten Online 🙋 +[2025-10-05 12:15:11] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 12:15:11] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 12:15:11] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:15:11] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 12:15:11] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=5c731963-31de-43a4-9577-b62f449fd1ae;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759659312050;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :🙋 TechNet Botten Online 🙋 +[2025-10-05 12:15:11] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=5c731963-31de-43a4-9577-b62f449fd1ae;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:15:22] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:15:23] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:15:56] << PING :tmi.twitch.tv +[2025-10-05 12:15:56] >>> PONG :tmi.twitch.tv +[2025-10-05 12:17:24] Ingen data i 120s – reconnect (watchdog aktiv). +[2025-10-05 12:17:24] Forbindelse afsluttet – forsøger igen om 5 sek. +[2025-10-05 12:17:29] Token OK for @lillebas – scopes: analytics:read:extensions,channel:bot,channel:manage:ads,channel:manage:polls,channel:manage:raids,channel:moderate,channel:read:ads,channel:read:charity,channel:read:editors,channel:read:goals,channel:read:hype_train,channel:read:polls,channel:read:predictions,channel:read:redemptions,channel:read:subscriptions,channel:read:vips,chat:edit,chat:read,moderation:read,moderator:manage:announcements,moderator:manage:automod,moderator:manage:automod_settings,moderator:manage:banned_users,moderator:manage:blocked_terms,moderator:manage:chat_messages,moderator:manage:chat_settings,moderator:manage:shield_mode,moderator:manage:shoutouts,moderator:manage:unban_requests,moderator:manage:warnings,moderator:read:automod_settings,moderator:read:blocked_terms,moderator:read:chat_settings,moderator:read:chatters,moderator:read:followers,moderator:read:shield_mode,moderator:read:shoutouts,moderator:read:suspicious_users,moderator:read:unban_requests,user:bot,user:manage:blocked_users,user:read:blocked_users,user:read:chat,user:read:emotes,user:read:follows,user:read:subscriptions,user:write:chat – udløber om 0 sek. +[2025-10-05 12:17:30] >>> PASS oauth:******** +[2025-10-05 12:17:30] >>> NICK lillebas +[2025-10-05 12:17:30] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:17:30] >>> JOIN #lillebas +[2025-10-05 12:17:31] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 12:17:31] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 12:17:31] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 12:17:31] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 12:17:31] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 12:17:31] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 12:17:31] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 12:17:31] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:17:31] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:17:31] [JOIN] Bekræftet i #lillebas +[2025-10-05 12:17:31] >>> PRIVMSG #lillebas :🙋 TechNet Botten Online 🙋 +[2025-10-05 12:17:31] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 12:17:31] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 12:17:31] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:17:32] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 12:17:32] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=d358677c-fad0-4122-b289-20ce92af5e1f;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759659452381;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :🙋 TechNet Botten Online 🙋 +[2025-10-05 12:17:32] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=d358677c-fad0-4122-b289-20ce92af5e1f;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:18:26] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:18:26] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:20:18] << PING :tmi.twitch.tv +[2025-10-05 12:20:18] >>> PONG :tmi.twitch.tv +[2025-10-05 12:20:27] Ingen data i 120s – reconnect (watchdog aktiv). +[2025-10-05 12:20:27] Forbindelse afsluttet – forsøger igen om 5 sek. +[2025-10-05 12:20:32] Token OK for @lillebas – scopes: analytics:read:extensions,channel:bot,channel:manage:ads,channel:manage:polls,channel:manage:raids,channel:moderate,channel:read:ads,channel:read:charity,channel:read:editors,channel:read:goals,channel:read:hype_train,channel:read:polls,channel:read:predictions,channel:read:redemptions,channel:read:subscriptions,channel:read:vips,chat:edit,chat:read,moderation:read,moderator:manage:announcements,moderator:manage:automod,moderator:manage:automod_settings,moderator:manage:banned_users,moderator:manage:blocked_terms,moderator:manage:chat_messages,moderator:manage:chat_settings,moderator:manage:shield_mode,moderator:manage:shoutouts,moderator:manage:unban_requests,moderator:manage:warnings,moderator:read:automod_settings,moderator:read:blocked_terms,moderator:read:chat_settings,moderator:read:chatters,moderator:read:followers,moderator:read:shield_mode,moderator:read:shoutouts,moderator:read:suspicious_users,moderator:read:unban_requests,user:bot,user:manage:blocked_users,user:read:blocked_users,user:read:chat,user:read:emotes,user:read:follows,user:read:subscriptions,user:write:chat – udløber om 0 sek. +[2025-10-05 12:20:33] >>> PASS oauth:******** +[2025-10-05 12:20:33] >>> NICK lillebas +[2025-10-05 12:20:33] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:20:33] >>> JOIN #lillebas +[2025-10-05 12:20:34] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 12:20:34] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 12:20:34] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 12:20:34] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 12:20:34] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 12:20:34] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 12:20:34] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 12:20:34] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:20:34] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:20:34] [JOIN] Bekræftet i #lillebas +[2025-10-05 12:20:34] >>> PRIVMSG #lillebas :🙋 TechNet Botten Online 🙋 +[2025-10-05 12:20:34] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas streamelements fossabot +[2025-10-05 12:20:34] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 12:20:34] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:20:35] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 12:20:35] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=fbafa1f8-297c-4d61-b31f-25cd85277628;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759659635397;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :🙋 TechNet Botten Online 🙋 +[2025-10-05 12:20:35] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=fbafa1f8-297c-4d61-b31f-25cd85277628;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:22:36] Ingen data i 120s – reconnect (watchdog aktiv). +[2025-10-05 12:22:36] Forbindelse afsluttet – forsøger igen om 5 sek. +[2025-10-05 12:22:42] Token OK for @lillebas – scopes: analytics:read:extensions,channel:bot,channel:manage:ads,channel:manage:polls,channel:manage:raids,channel:moderate,channel:read:ads,channel:read:charity,channel:read:editors,channel:read:goals,channel:read:hype_train,channel:read:polls,channel:read:predictions,channel:read:redemptions,channel:read:subscriptions,channel:read:vips,chat:edit,chat:read,moderation:read,moderator:manage:announcements,moderator:manage:automod,moderator:manage:automod_settings,moderator:manage:banned_users,moderator:manage:blocked_terms,moderator:manage:chat_messages,moderator:manage:chat_settings,moderator:manage:shield_mode,moderator:manage:shoutouts,moderator:manage:unban_requests,moderator:manage:warnings,moderator:read:automod_settings,moderator:read:blocked_terms,moderator:read:chat_settings,moderator:read:chatters,moderator:read:followers,moderator:read:shield_mode,moderator:read:shoutouts,moderator:read:suspicious_users,moderator:read:unban_requests,user:bot,user:manage:blocked_users,user:read:blocked_users,user:read:chat,user:read:emotes,user:read:follows,user:read:subscriptions,user:write:chat – udløber om 0 sek. +[2025-10-05 12:22:43] >>> PASS oauth:******** +[2025-10-05 12:22:43] >>> NICK lillebas +[2025-10-05 12:22:43] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:22:43] >>> JOIN #lillebas +[2025-10-05 12:22:43] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 12:22:43] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 12:22:43] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 12:22:43] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 12:22:43] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 12:22:43] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 12:22:43] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 12:22:43] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:22:44] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:22:44] [JOIN] Bekræftet i #lillebas +[2025-10-05 12:22:44] >>> PRIVMSG #lillebas :🙋 TechNet Botten Online 🙋 +[2025-10-05 12:22:44] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 12:22:44] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 12:22:44] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:22:44] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 12:22:44] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=d8302bd4-687f-4c99-8745-5ea7bd9a9939;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759659764634;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :🙋 TechNet Botten Online 🙋 +[2025-10-05 12:22:44] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=d8302bd4-687f-4c99-8745-5ea7bd9a9939;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:23:18] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:23:18] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:24:55] << PING :tmi.twitch.tv +[2025-10-05 12:24:55] >>> PONG :tmi.twitch.tv +[2025-10-05 12:25:19] Ingen data i 120s – reconnect (watchdog aktiv). +[2025-10-05 12:25:19] Forbindelse afsluttet – forsøger igen om 5 sek. +[2025-10-05 12:25:24] Token OK for @lillebas – scopes: analytics:read:extensions,channel:bot,channel:manage:ads,channel:manage:polls,channel:manage:raids,channel:moderate,channel:read:ads,channel:read:charity,channel:read:editors,channel:read:goals,channel:read:hype_train,channel:read:polls,channel:read:predictions,channel:read:redemptions,channel:read:subscriptions,channel:read:vips,chat:edit,chat:read,moderation:read,moderator:manage:announcements,moderator:manage:automod,moderator:manage:automod_settings,moderator:manage:banned_users,moderator:manage:blocked_terms,moderator:manage:chat_messages,moderator:manage:chat_settings,moderator:manage:shield_mode,moderator:manage:shoutouts,moderator:manage:unban_requests,moderator:manage:warnings,moderator:read:automod_settings,moderator:read:blocked_terms,moderator:read:chat_settings,moderator:read:chatters,moderator:read:followers,moderator:read:shield_mode,moderator:read:shoutouts,moderator:read:suspicious_users,moderator:read:unban_requests,user:bot,user:manage:blocked_users,user:read:blocked_users,user:read:chat,user:read:emotes,user:read:follows,user:read:subscriptions,user:write:chat – udløber om 0 sek. +[2025-10-05 12:25:25] >>> PASS oauth:******** +[2025-10-05 12:25:25] >>> NICK lillebas +[2025-10-05 12:25:25] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:25:25] >>> JOIN #lillebas +[2025-10-05 12:25:26] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 12:25:26] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 12:25:26] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 12:25:26] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 12:25:26] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 12:25:26] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 12:25:26] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 12:25:26] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:25:26] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:25:26] [JOIN] Bekræftet i #lillebas +[2025-10-05 12:25:26] >>> PRIVMSG #lillebas :🙋 TechNet Botten Online 🙋 +[2025-10-05 12:25:26] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 12:25:26] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 12:25:26] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:25:26] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +bc9b-b4f2e46254ce;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759659927327;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :🙋 TechNet Botten Online 🙋 +[2025-10-05 12:25:27] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=ec374916-3c36-4195-bc9b-b4f2e46254ce;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:25:43] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:25:43] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:27:44] Ingen data i 120s – reconnect (watchdog aktiv). +[2025-10-05 12:27:44] Forbindelse afsluttet – forsøger igen om 5 sek. +[2025-10-05 12:27:49] Token OK for @lillebas – scopes: analytics:read:extensions,channel:bot,channel:manage:ads,channel:manage:polls,channel:manage:raids,channel:moderate,channel:read:ads,channel:read:charity,channel:read:editors,channel:read:goals,channel:read:hype_train,channel:read:polls,channel:read:predictions,channel:read:redemptions,channel:read:subscriptions,channel:read:vips,chat:edit,chat:read,moderation:read,moderator:manage:announcements,moderator:manage:automod,moderator:manage:automod_settings,moderator:manage:banned_users,moderator:manage:blocked_terms,moderator:manage:chat_messages,moderator:manage:chat_settings,moderator:manage:shield_mode,moderator:manage:shoutouts,moderator:manage:unban_requests,moderator:manage:warnings,moderator:read:automod_settings,moderator:read:blocked_terms,moderator:read:chat_settings,moderator:read:chatters,moderator:read:followers,moderator:read:shield_mode,moderator:read:shoutouts,moderator:read:suspicious_users,moderator:read:unban_requests,user:bot,user:manage:blocked_users,user:read:blocked_users,user:read:chat,user:read:emotes,user:read:follows,user:read:subscriptions,user:write:chat – udløber om 0 sek. +[2025-10-05 12:27:50] >>> PASS oauth:******** +[2025-10-05 12:27:50] >>> NICK lillebas +[2025-10-05 12:27:50] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:27:50] >>> JOIN #lillebas +[2025-10-05 12:27:51] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 12:27:51] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 12:27:51] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 12:27:51] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 12:27:51] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 12:27:51] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 12:27:51] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 12:27:51] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:27:51] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:27:51] [JOIN] Bekræftet i #lillebas +[2025-10-05 12:27:51] >>> PRIVMSG #lillebas :🙋 TechNet Botten Online 🙋 +[2025-10-05 12:27:51] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 12:27:51] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 12:27:52] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:27:52] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 12:27:52] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=0de792d4-5559-412e-b0a8-f17307e45720;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660072453;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :🙋 TechNet Botten Online 🙋 +[2025-10-05 12:27:52] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=0de792d4-5559-412e-b0a8-f17307e45720;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:28:35] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:28:35] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:29:22] << PING :tmi.twitch.tv +[2025-10-05 12:29:22] >>> PONG :tmi.twitch.tv +[2025-10-05 12:30:36] Ingen data i 120s – reconnect (watchdog aktiv). +[2025-10-05 12:30:36] Forbindelse afsluttet – forsøger igen om 5 sek. +[2025-10-05 12:30:41] Token OK for @lillebas – scopes: analytics:read:extensions,channel:bot,channel:manage:ads,channel:manage:polls,channel:manage:raids,channel:moderate,channel:read:ads,channel:read:charity,channel:read:editors,channel:read:goals,channel:read:hype_train,channel:read:polls,channel:read:predictions,channel:read:redemptions,channel:read:subscriptions,channel:read:vips,chat:edit,chat:read,moderation:read,moderator:manage:announcements,moderator:manage:automod,moderator:manage:automod_settings,moderator:manage:banned_users,moderator:manage:blocked_terms,moderator:manage:chat_messages,moderator:manage:chat_settings,moderator:manage:shield_mode,moderator:manage:shoutouts,moderator:manage:unban_requests,moderator:manage:warnings,moderator:read:automod_settings,moderator:read:blocked_terms,moderator:read:chat_settings,moderator:read:chatters,moderator:read:followers,moderator:read:shield_mode,moderator:read:shoutouts,moderator:read:suspicious_users,moderator:read:unban_requests,user:bot,user:manage:blocked_users,user:read:blocked_users,user:read:chat,user:read:emotes,user:read:follows,user:read:subscriptions,user:write:chat – udløber om 0 sek. +[2025-10-05 12:30:42] >>> PASS oauth:******** +[2025-10-05 12:30:42] >>> NICK lillebas +[2025-10-05 12:30:42] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:30:42] >>> JOIN #lillebas +[2025-10-05 12:30:43] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 12:30:43] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 12:30:43] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 12:30:43] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 12:30:43] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 12:30:43] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 12:30:43] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 12:30:43] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:30:43] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:30:43] [JOIN] Bekræftet i #lillebas +[2025-10-05 12:30:43] >>> PRIVMSG #lillebas :🙋 TechNet Botten Online 🙋 +[2025-10-05 12:30:43] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 12:30:43] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 12:30:43] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:30:43] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 12:30:44] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=c5ec6a1f-be72-4ebe-9fe3-ded530d7d339;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660244321;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :🙋 TechNet Botten Online 🙋 +[2025-10-05 12:30:44] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=c5ec6a1f-be72-4ebe-9fe3-ded530d7d339;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:31:17] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:31:17] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:33:18] Ingen data i 120s – reconnect (watchdog aktiv). +[2025-10-05 12:33:18] Forbindelse afsluttet – forsøger igen om 5 sek. +[2025-10-05 12:33:23] Token OK for @lillebas – scopes: analytics:read:extensions,channel:bot,channel:manage:ads,channel:manage:polls,channel:manage:raids,channel:moderate,channel:read:ads,channel:read:charity,channel:read:editors,channel:read:goals,channel:read:hype_train,channel:read:polls,channel:read:predictions,channel:read:redemptions,channel:read:subscriptions,channel:read:vips,chat:edit,chat:read,moderation:read,moderator:manage:announcements,moderator:manage:automod,moderator:manage:automod_settings,moderator:manage:banned_users,moderator:manage:blocked_terms,moderator:manage:chat_messages,moderator:manage:chat_settings,moderator:manage:shield_mode,moderator:manage:shoutouts,moderator:manage:unban_requests,moderator:manage:warnings,moderator:read:automod_settings,moderator:read:blocked_terms,moderator:read:chat_settings,moderator:read:chatters,moderator:read:followers,moderator:read:shield_mode,moderator:read:shoutouts,moderator:read:suspicious_users,moderator:read:unban_requests,user:bot,user:manage:blocked_users,user:read:blocked_users,user:read:chat,user:read:emotes,user:read:follows,user:read:subscriptions,user:write:chat – udløber om 0 sek. +[2025-10-05 12:33:24] >>> PASS oauth:******** +[2025-10-05 12:33:24] >>> NICK lillebas +[2025-10-05 12:33:24] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:33:24] >>> JOIN #lillebas +[2025-10-05 12:33:25] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 12:33:25] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 12:33:25] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 12:33:25] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 12:33:25] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 12:33:25] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 12:33:25] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 12:33:25] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:33:25] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:33:25] [JOIN] Bekræftet i #lillebas +[2025-10-05 12:33:25] >>> PRIVMSG #lillebas :🙋 TechNet Botten Online 🙋 +[2025-10-05 12:33:25] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 12:33:25] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 12:33:25] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:33:26] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 12:33:26] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=a2462c57-2729-44ab-969b-5d60e7840c8d;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660406352;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :🙋 TechNet Botten Online 🙋 +[2025-10-05 12:33:26] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=a2462c57-2729-44ab-969b-5d60e7840c8d;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:33:38] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:33:38] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:33:54] << PING :tmi.twitch.tv +[2025-10-05 12:33:54] >>> PONG :tmi.twitch.tv +[2025-10-05 12:33:54] Starter bot... +[2025-10-05 12:33:55] >>> PASS oauth:******** +[2025-10-05 12:33:55] >>> NICK lillebas +[2025-10-05 12:33:55] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:33:55] >>> JOIN #lillebas +[2025-10-05 12:33:56] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 12:33:56] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 12:33:56] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 12:33:56] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 12:33:56] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 12:33:56] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 12:33:56] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 12:33:56] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:33:56] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:33:56] JOIN bekræftet +[2025-10-05 12:33:56] >>> PRIVMSG #lillebas :Bot online — skriv !points / !spin / !bet +[2025-10-05 12:33:56] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 12:33:56] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 12:33:57] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:33:57] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 12:33:57] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=16ca460a-3171-4bb7-9e45-c962d84e7206;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660437473;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Bot online — skriv !points / !spin / !bet +[2025-10-05 12:33:57] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=16ca460a-3171-4bb7-9e45-c962d84e7206;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:34:51] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:34:51] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:35:17] << @badge-info=;badges=broadcaster/1;client-nonce=174075ea8e2fdbff9bc0d94710636b8c;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=3619bf00-2433-459c-aa33-7c5774645d73;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660518177;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!spin +[2025-10-05 12:35:17] << @badge-info=;badges=broadcaster/1;client-nonce=174075ea8e2fdbff9bc0d94710636b8c;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=3619bf00-2433-459c-aa33-7c5774645d73;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660518177;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!spin +[2025-10-05 12:36:22] << @badge-info=;badges=broadcaster/1;client-nonce=50ec0cf355e533620fa5776f514bb951;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=db26fe33-7eaa-41fd-8b65-40008bf73cc8;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660583028;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!spin 10 +[2025-10-05 12:36:22] << @badge-info=;badges=broadcaster/1;client-nonce=50ec0cf355e533620fa5776f514bb951;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=db26fe33-7eaa-41fd-8b65-40008bf73cc8;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660583028;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!spin 10 +[2025-10-05 12:36:22] >>> PRIVMSG #lillebas :@lillebas mangler point (har 2) +[2025-10-05 12:36:23] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=ed460bd6-d939-404a-ac95-9eecb2eb9169;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660583526;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :@lillebas mangler point (har 2) +[2025-10-05 12:36:23] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=ed460bd6-d939-404a-ac95-9eecb2eb9169;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:36:36] << @badge-info=;badges=broadcaster/1;client-nonce=61cb523ffbb3c35ec948c51e58f636db;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=ef695b77-88df-4be0-bc5f-d78bb58582e1;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660596586;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!spin 2 +[2025-10-05 12:36:36] << @badge-info=;badges=broadcaster/1;client-nonce=61cb523ffbb3c35ec948c51e58f636db;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=ef695b77-88df-4be0-bc5f-d78bb58582e1;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660596586;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!spin 2 +[2025-10-05 12:36:36] >>> PRIVMSG #lillebas :@lillebas 🎰 Kreygasm | Kreygasm | Kappa → +2 (saldo: 5) +[2025-10-05 12:36:36] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=41:12-19,23-30/25:34-38;first-msg=0;flags=;id=db59d1cf-eaa9-42f3-b280-d8265a485df8;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660597129;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :@lillebas 🎰 Kreygasm | Kreygasm | Kappa → +2 (saldo: 5) +[2025-10-05 12:36:36] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=db59d1cf-eaa9-42f3-b280-d8265a485df8;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:36:49] << @badge-info=;badges=broadcaster/1;client-nonce=530c8375edda635d076b8d325dd63628;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=ba5de002-11f4-4a5d-8621-0c74d5f85291;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660609477;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!point +[2025-10-05 12:36:49] << @badge-info=;badges=broadcaster/1;client-nonce=530c8375edda635d076b8d325dd63628;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=ba5de002-11f4-4a5d-8621-0c74d5f85291;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660609477;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!point +[2025-10-05 12:37:24] << @badge-info=;badges=broadcaster/1;client-nonce=dfabf1983d2d0b6f9217cb4155bc804a;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=22acb745-ea1e-48db-b8e5-b8e55a2d46d6;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660644523;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!points +[2025-10-05 12:37:24] << @badge-info=;badges=broadcaster/1;client-nonce=dfabf1983d2d0b6f9217cb4155bc804a;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=22acb745-ea1e-48db-b8e5-b8e55a2d46d6;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660644523;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!points +[2025-10-05 12:37:24] >>> PRIVMSG #lillebas :@lillebas har 7 point +[2025-10-05 12:37:24] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=6d3ecd36-28a8-41a4-91d4-caa59196e8b2;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660645031;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :@lillebas har 7 point +[2025-10-05 12:37:24] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=6d3ecd36-28a8-41a4-91d4-caa59196e8b2;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:37:56] << @badge-info=;badges=broadcaster/1;client-nonce=2f2d5f4ed0b9e717f75f5835c7a216be;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=04ef9640-004b-4277-ab55-e5e5d42f1a01;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660677238;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!spin 2 +[2025-10-05 12:37:56] << @badge-info=;badges=broadcaster/1;client-nonce=2f2d5f4ed0b9e717f75f5835c7a216be;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=04ef9640-004b-4277-ab55-e5e5d42f1a01;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660677238;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!spin 2 +[2025-10-05 12:37:57] >>> PRIVMSG #lillebas :@lillebas 🎰 Kappa | PogChamp | BibleThump → -2 (saldo: 6) +[2025-10-05 12:37:57] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=25:12-16/305954156:20-27;first-msg=0;flags=;id=fd862e92-37b4-4094-9779-da6e76f35831;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660677804;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :@lillebas 🎰 Kappa | PogChamp | BibleThump → -2 (saldo: 6) +[2025-10-05 12:37:57] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=fd862e92-37b4-4094-9779-da6e76f35831;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:37:59] << PING :tmi.twitch.tv +[2025-10-05 12:37:59] >>> PONG :tmi.twitch.tv +[2025-10-05 12:38:15] << @badge-info=;badges=broadcaster/1;client-nonce=c98f3c6afd09d27d8baac87d82332978;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=82b6218a-b406-47e8-9174-e460a71279ac;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660695428;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!spin 2 +[2025-10-05 12:38:15] << @badge-info=;badges=broadcaster/1;client-nonce=c98f3c6afd09d27d8baac87d82332978;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=82b6218a-b406-47e8-9174-e460a71279ac;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660695428;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!spin 2 +[2025-10-05 12:38:15] >>> PRIVMSG #lillebas :@lillebas 🎰 PogChamp | PogChamp | PogChamp → +8 (saldo: 15) +[2025-10-05 12:38:15] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=305954156:12-19,23-30,34-41;first-msg=0;flags=;id=849a69d6-e2de-4aab-9ffd-cdb58dff8690;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660695994;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :@lillebas 🎰 PogChamp | PogChamp | PogChamp → +8 (saldo: 15) +[2025-10-05 12:38:15] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=849a69d6-e2de-4aab-9ffd-cdb58dff8690;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:38:26] << @badge-info=;badges=broadcaster/1;client-nonce=7e046fd91e7585424f2dd362d5668762;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=85512805-ae8c-4d09-b1ce-d81d6974a2f6;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660707296;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!spin 2 +[2025-10-05 12:38:26] << @badge-info=;badges=broadcaster/1;client-nonce=7e046fd91e7585424f2dd362d5668762;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=85512805-ae8c-4d09-b1ce-d81d6974a2f6;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660707296;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!spin 2 +[2025-10-05 12:38:27] >>> PRIVMSG #lillebas :@lillebas 🎰 Kappa | BibleThump | LUL → -2 (saldo: 14) +[2025-10-05 12:38:27] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=e4c3c608-3800-43a5-b293-69c76e81ef55;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:38:27] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=425618:33-35/25:12-16;first-msg=0;flags=;id=e4c3c608-3800-43a5-b293-69c76e81ef55;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660707665;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :@lillebas 🎰 Kappa | BibleThump | LUL → -2 (saldo: 14) +[2025-10-05 12:38:32] << @badge-info=;badges=broadcaster/1;client-nonce=5ee73de196bb191e6ec60480ba3d109b;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=cf39258b-104c-47c8-8df3-0b8a25f7ab44;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660713031;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!spin 2 +[2025-10-05 12:38:32] << @badge-info=;badges=broadcaster/1;client-nonce=5ee73de196bb191e6ec60480ba3d109b;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=cf39258b-104c-47c8-8df3-0b8a25f7ab44;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660713031;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!spin 2 +[2025-10-05 12:38:32] >>> PRIVMSG #lillebas :@lillebas 🎰 LUL | BibleThump | Kappa → -2 (saldo: 13) +[2025-10-05 12:38:33] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=ba1d5b62-8806-48fc-a0c4-efb047490312;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +748;subscriber=0;tmi-sent-ts=1759660713443;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :@lillebas 🎰 LUL | BibleThump | Kappa → -2 (saldo: 13) +[2025-10-05 12:38:36] << PING :tmi.twitch.tv +[2025-10-05 12:38:36] >>> PONG :tmi.twitch.tv +[2025-10-05 12:38:38] << @badge-info=;badges=broadcaster/1;client-nonce=4796204554bec6ba3c528c7f5627c73f;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=b71e5201-1b63-4df5-bb12-6be19f23cb3c;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660718565;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!spin 2 +[2025-10-05 12:38:38] << @badge-info=;badges=broadcaster/1;client-nonce=4796204554bec6ba3c528c7f5627c73f;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=b71e5201-1b63-4df5-bb12-6be19f23cb3c;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660718565;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!spin 2 +[2025-10-05 12:38:38] >>> PRIVMSG #lillebas :@lillebas 🎰 PogChamp | Kreygasm | Kreygasm → +2 (saldo: 16) +[2025-10-05 12:38:38] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=305954156:12-19/41:23-30,34-41;first-msg=0;flags=;id=28af46fb-f321-43bf-a2b6-12c3d68787ce;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660719011;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :@lillebas 🎰 PogChamp | Kreygasm | Kreygasm → +2 (saldo: 16) +[2025-10-05 12:38:38] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=28af46fb-f321-43bf-a2b6-12c3d68787ce;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:38:48] << @badge-info=;badges=broadcaster/1;client-nonce=256282d9c464d6c07828ba52f90e6714;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=f12b70c1-4a49-407b-b6c8-dd2a2dfffe30;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660729246;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!spin 2 +[2025-10-05 12:38:48] << @badge-info=;badges=broadcaster/1;client-nonce=256282d9c464d6c07828ba52f90e6714;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=f12b70c1-4a49-407b-b6c8-dd2a2dfffe30;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660729246;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!spin 2 +[2025-10-05 12:38:49] >>> PRIVMSG #lillebas :@lillebas 🎰 BibleThump | Kappa | PogChamp → -2 (saldo: 15) +[2025-10-05 12:38:49] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=9233dffc-ff45-49e1-bf04-960ac54b77a3;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:38:49] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=25:25-29/305954156:33-40;first-msg=0;flags=;id=9233dffc-ff45-49e1-bf04-960ac54b77a3;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660729825;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :@lillebas 🎰 BibleThump | Kappa | PogChamp → -2 (saldo: 15) +[2025-10-05 12:38:55] << @badge-info=;badges=broadcaster/1;client-nonce=989110f24a6a1824f431f3d1508d5429;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=3b8e7303-7f94-42d4-8a02-64622ffd5784;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660736030;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!spin 2 +[2025-10-05 12:38:55] << @badge-info=;badges=broadcaster/1;client-nonce=989110f24a6a1824f431f3d1508d5429;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=3b8e7303-7f94-42d4-8a02-64622ffd5784;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660736030;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!spin 2 +[2025-10-05 12:38:55] >>> PRIVMSG #lillebas :@lillebas 🎰 LUL | PogChamp | LUL → +2 (saldo: 18) +[2025-10-05 12:38:56] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=425618:12-14,29-31/305954156:18-25;first-msg=0;flags=;id=37a9cacc-3295-4f10-b02c-5a79708429e6;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660736434;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :@lillebas 🎰 LUL | PogChamp | LUL → +2 (saldo: 18) +[2025-10-05 12:38:56] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=37a9cacc-3295-4f10-b02c-5a79708429e6;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:40:02] Starter bot... +[2025-10-05 12:40:03] >>> PASS oauth:******** +[2025-10-05 12:40:03] >>> NICK lillebas +[2025-10-05 12:40:03] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:40:03] >>> JOIN #lillebas +[2025-10-05 12:40:03] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 12:40:03] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 12:40:03] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 12:40:03] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 12:40:03] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 12:40:03] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 12:40:03] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 12:40:03] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:40:04] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:40:04] JOIN bekræftet +[2025-10-05 12:40:04] >>> PRIVMSG #lillebas :Bot online — skriv !points / !spin / !bet +[2025-10-05 12:40:04] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 12:40:04] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 12:40:04] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:40:04] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 12:40:04] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=35aab6b8-528c-4dcd-81c8-9164bfa8a949;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660804614;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Bot online — skriv !points / !spin / !bet +[2025-10-05 12:40:04] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=35aab6b8-528c-4dcd-81c8-9164bfa8a949;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:40:42] << @badge-info=;badges=broadcaster/1;client-nonce=30a69c08b1cd11895732373721b801f2;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=5720e5f9-bcb1-4a89-b335-d47195e3ea2e;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660842806;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!points +[2025-10-05 12:40:42] << @badge-info=;badges=broadcaster/1;client-nonce=30a69c08b1cd11895732373721b801f2;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=5720e5f9-bcb1-4a89-b335-d47195e3ea2e;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660842806;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!points +[2025-10-05 12:40:42] >>> PRIVMSG #lillebas :@lillebas har 1 point +[2025-10-05 12:40:43] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=80650a12-fa8f-4d2a-9888-e5f39cfd8c99;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +sent-ts=1759660843295;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :@lillebas har 1 point +[2025-10-05 12:40:50] << @badge-info=;badges=broadcaster/1;client-nonce=4443a81db3219d376399b1c8219ccb32;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=02568e15-fcbc-4ecf-8f66-4eedfdd73801;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660850840;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!points +[2025-10-05 12:40:50] >>> PRIVMSG #lillebas :@lillebas har 2 point +[2025-10-05 12:40:50] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=36f7f9cf-6220-460c-9535-a60aa3e8aa56;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660851304;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :@lillebas har 2 point +[2025-10-05 12:40:51] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=36f7f9cf-6220-460c-9535-a60aa3e8aa56;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:40:52] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:40:52] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:40:55] << @badge-info=;badges=broadcaster/1;client-nonce=75c6d0326114a0635aabcc971c0f49ff;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=5fb1102c-9c0b-438f-8c36-231c82e747c5;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660855518;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :hej +[2025-10-05 12:40:55] << @badge-info=;badges=broadcaster/1;client-nonce=75c6d0326114a0635aabcc971c0f49ff;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=5fb1102c-9c0b-438f-8c36-231c82e747c5;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660855518;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :hej +[2025-10-05 12:41:02] << @badge-info=;badges=broadcaster/1;client-nonce=697793ec6aa70c1070ccae24a8544adf;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=ea2c8b11-03a9-4f33-979d-ab102b59fe18;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660862938;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :det er sku sjovt +[2025-10-05 12:41:02] << @badge-info=;badges=broadcaster/1;client-nonce=697793ec6aa70c1070ccae24a8544adf;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=ea2c8b11-03a9-4f33-979d-ab102b59fe18;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660862938;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :det er sku sjovt +[2025-10-05 12:41:07] << @badge-info=;badges=broadcaster/1;client-nonce=8b076e74d07748f80a6f0ac0a31a94b0;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=441422ec-be8c-49ff-8fd8-ff4c65a4900b;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660867856;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!points +[2025-10-05 12:41:07] << @badge-info=;badges=broadcaster/1;client-nonce=8b076e74d07748f80a6f0ac0a31a94b0;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=441422ec-be8c-49ff-8fd8-ff4c65a4900b;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660867856;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!points +[2025-10-05 12:41:07] >>> PRIVMSG #lillebas :@lillebas har 5 point +[2025-10-05 12:41:07] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=8edb752d-7808-4203-b92f-e4987e2a55e5;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759660868166;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :@lillebas har 5 point +[2025-10-05 12:41:07] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=8edb752d-7808-4203-b92f-e4987e2a55e5;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:42:53] << PING :tmi.twitch.tv +[2025-10-05 12:42:53] >>> PONG :tmi.twitch.tv +[2025-10-05 12:44:48] Starter bot manager +[2025-10-05 12:44:49] >>> PASS oauth:******** +[2025-10-05 12:44:49] >>> NICK lillebas +[2025-10-05 12:44:49] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:44:49] >>> JOIN #lillebas +[2025-10-05 12:44:49] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 12:44:49] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 12:44:49] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 12:44:50] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 12:44:50] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 12:44:50] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 12:44:50] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 12:44:50] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:44:50] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:44:50] JOIN bekræftet +[2025-10-05 12:44:50] >>> PRIVMSG #lillebas :Bot online — skriv !ping +[2025-10-05 12:44:50] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 12:44:50] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 12:44:50] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:44:50] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 12:44:50] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=b57215f1-ac22-4827-8aa9-ec4f107da15d;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759661090950;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Bot online — skriv !ping +[2025-10-05 12:44:50] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=b57215f1-ac22-4827-8aa9-ec4f107da15d;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:45:08] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:45:08] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:46:55] << PING :tmi.twitch.tv +[2025-10-05 12:46:55] >>> PONG :tmi.twitch.tv +[2025-10-05 12:47:09] Ingen data i 120s – reconnect. +[2025-10-05 12:47:09] Genstarter om 5 sek +[2025-10-05 12:47:14] >>> PASS oauth:******** +[2025-10-05 12:47:14] >>> NICK lillebas +[2025-10-05 12:47:14] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:47:14] >>> JOIN #lillebas +[2025-10-05 12:47:15] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 12:47:15] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 12:47:15] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 12:47:15] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 12:47:15] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 12:47:15] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 12:47:15] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 12:47:15] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:47:16] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:47:16] JOIN bekræftet +[2025-10-05 12:47:16] >>> PRIVMSG #lillebas :Bot online — skriv !ping +[2025-10-05 12:47:16] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 12:47:16] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 12:47:16] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:47:16] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 12:47:16] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=a53441ea-25d8-4436-a9ec-e2a4b6fca122;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759661236637;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Bot online — skriv !ping +[2025-10-05 12:47:16] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=a53441ea-25d8-4436-a9ec-e2a4b6fca122;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:48:12] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:48:12] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:50:13] Ingen data i 120s – reconnect. +[2025-10-05 12:50:13] Genstarter om 5 sek +[2025-10-05 12:50:18] >>> PASS oauth:******** +[2025-10-05 12:50:18] >>> NICK lillebas +[2025-10-05 12:50:18] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:50:18] >>> JOIN #lillebas +[2025-10-05 12:50:19] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 12:50:19] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 12:50:19] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 12:50:19] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 12:50:19] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 12:50:19] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 12:50:19] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 12:50:19] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:50:19] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:50:19] JOIN bekræftet +[2025-10-05 12:50:19] >>> PRIVMSG #lillebas :Bot online — skriv !ping +[2025-10-05 12:50:19] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 12:50:20] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 12:50:20] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:50:20] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 12:50:20] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=fa2c5da6-eb38-46a5-848c-c3ed069e63fc;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759661420501;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Bot online — skriv !ping +[2025-10-05 12:50:20] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=fa2c5da6-eb38-46a5-848c-c3ed069e63fc;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:50:38] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:50:38] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:51:33] << PING :tmi.twitch.tv +[2025-10-05 12:51:33] >>> PONG :tmi.twitch.tv +[2025-10-05 12:52:40] Starter bot manager +[2025-10-05 12:52:41] >>> PASS oauth:******** +[2025-10-05 12:52:41] >>> NICK lillebas +[2025-10-05 12:52:41] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:52:41] >>> JOIN #lillebas +[2025-10-05 12:52:42] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 12:52:42] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 12:52:42] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 12:52:42] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 12:52:42] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 12:52:42] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 12:52:42] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 12:52:42] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:52:42] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:52:42] JOIN bekræftet +[2025-10-05 12:52:42] >>> PRIVMSG #lillebas :Bot online — skriv !ping +[2025-10-05 12:52:42] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 12:52:42] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 12:52:42] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:52:42] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 12:52:42] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=3b689ea8-3b5b-4812-bf41-29cab58519a6;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759661563174;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Bot online — skriv !ping +[2025-10-05 12:52:42] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=3b689ea8-3b5b-4812-bf41-29cab58519a6;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:53:22] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:53:22] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:56:09] << PING :tmi.twitch.tv +[2025-10-05 12:56:09] >>> PONG :tmi.twitch.tv +[2025-10-05 12:56:50] << @badge-info=;badges=broadcaster/1;client-nonce=81fc7156af03ac455af279426a1015c1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=40e1b470-2368-4447-9c69-5a0325bd6bd8;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759661811037;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!spin 2 +[2025-10-05 12:56:50] << @badge-info=;badges=broadcaster/1;client-nonce=81fc7156af03ac455af279426a1015c1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=40e1b470-2368-4447-9c69-5a0325bd6bd8;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759661811037;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :!spin 2 +[2025-10-05 12:56:50] >>> PRIVMSG #lillebas :@lillebas mangler point (har 1) +[2025-10-05 12:56:51] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=6aa5a46d-7874-4278-8e68-dc519552ff46;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759661811475;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :@lillebas mangler point (har 1) +[2025-10-05 12:56:51] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=6aa5a46d-7874-4278-8e68-dc519552ff46;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:57:27] << PING :tmi.twitch.tv +[2025-10-05 12:57:27] >>> PONG :tmi.twitch.tv +[2025-10-05 12:59:36] Starter bot manager +[2025-10-05 12:59:37] >>> PASS oauth:******** +[2025-10-05 12:59:37] >>> NICK lillebas +[2025-10-05 12:59:37] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:59:37] >>> JOIN #lillebas +[2025-10-05 12:59:38] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 12:59:38] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 12:59:38] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 12:59:38] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 12:59:38] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 12:59:38] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 12:59:38] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 12:59:38] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 12:59:38] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 12:59:38] JOIN bekræftet +[2025-10-05 12:59:38] >>> PRIVMSG #lillebas :Bot online — skriv !ping +[2025-10-05 12:59:38] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 12:59:38] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 12:59:38] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 12:59:39] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 12:59:39] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=96a1a6ed-fbdd-42e9-8de8-499e0979d78e;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759661979402;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Bot online — skriv !ping +[2025-10-05 12:59:39] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=96a1a6ed-fbdd-42e9-8de8-499e0979d78e;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 13:00:04] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 13:00:04] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 13:01:07] << PING :tmi.twitch.tv +[2025-10-05 13:01:07] >>> PONG :tmi.twitch.tv +[2025-10-05 13:04:03] << PING :tmi.twitch.tv +[2025-10-05 13:04:03] >>> PONG :tmi.twitch.tv +[2025-10-05 13:05:27] << PING :tmi.twitch.tv +[2025-10-05 13:05:27] >>> PONG :tmi.twitch.tv +[2025-10-05 13:08:11] << PING :tmi.twitch.tv +[2025-10-05 13:08:11] >>> PONG :tmi.twitch.tv +[2025-10-05 13:10:17] << PING :tmi.twitch.tv +[2025-10-05 13:10:17] >>> PONG :tmi.twitch.tv +[2025-10-05 13:12:22] << PING :tmi.twitch.tv +[2025-10-05 13:12:22] >>> PONG :tmi.twitch.tv +[2025-10-05 13:14:38] >>> PRIVMSG #lillebas :Husk at følge kanalen 💜 +[2025-10-05 13:14:38] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=3e7c416d-d839-4154-bfbb-660d851b781a;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 13:14:38] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=3e7c416d-d839-4154-bfbb-660d851b781a;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759662878629;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Husk at følge kanalen 💜 +[2025-10-05 13:15:07] << PING :tmi.twitch.tv +[2025-10-05 13:15:07] >>> PONG :tmi.twitch.tv +[2025-10-05 13:16:23] << PING :tmi.twitch.tv +[2025-10-05 13:16:23] >>> PONG :tmi.twitch.tv +[2025-10-05 13:19:54] << PING :tmi.twitch.tv +[2025-10-05 13:19:54] >>> PONG :tmi.twitch.tv +[2025-10-05 13:21:06] << PING :tmi.twitch.tv +[2025-10-05 13:21:06] >>> PONG :tmi.twitch.tv +[2025-10-05 13:24:29] << PING :tmi.twitch.tv +[2025-10-05 13:24:29] >>> PONG :tmi.twitch.tv +[2025-10-05 13:25:43] Starter bot manager +[2025-10-05 13:25:44] >>> PASS oauth:******** +[2025-10-05 13:25:44] >>> NICK lillebas +[2025-10-05 13:25:44] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 13:25:44] >>> JOIN #lillebas +[2025-10-05 13:25:44] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 13:25:44] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 13:25:44] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 13:25:45] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 13:25:45] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 13:25:45] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 13:25:45] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 13:25:45] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 13:25:45] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 13:25:45] JOIN bekræftet +[2025-10-05 13:25:45] >>> PRIVMSG #lillebas :🙋 TechNet Botten Online 🙋 +[2025-10-05 13:25:45] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 13:25:45] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 13:25:45] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 13:25:45] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 13:25:45] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=656ccafe-5414-4804-8da0-e85839a1d845;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759663545949;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :🙋 TechNet Botten Online 🙋 +[2025-10-05 13:25:45] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=656ccafe-5414-4804-8da0-e85839a1d845;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 13:26:02] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 13:26:02] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 13:28:40] << PING :tmi.twitch.tv +[2025-10-05 13:28:40] >>> PONG :tmi.twitch.tv +[2025-10-05 13:30:01] << PING :tmi.twitch.tv +[2025-10-05 13:30:01] >>> PONG :tmi.twitch.tv +[2025-10-05 13:32:53] << PING :tmi.twitch.tv +[2025-10-05 13:32:53] >>> PONG :tmi.twitch.tv +[2025-10-05 13:34:56] << PING :tmi.twitch.tv +[2025-10-05 13:34:56] >>> PONG :tmi.twitch.tv +[2025-10-05 13:37:39] << PING :tmi.twitch.tv +[2025-10-05 13:37:39] >>> PONG :tmi.twitch.tv +[2025-10-05 13:39:12] << PING :tmi.twitch.tv +[2025-10-05 13:39:12] >>> PONG :tmi.twitch.tv +[2025-10-05 13:39:27] Starter bot manager +[2025-10-05 13:39:28] >>> PASS oauth:******** +[2025-10-05 13:39:28] >>> NICK lillebas +[2025-10-05 13:39:28] >>> CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 13:39:28] >>> JOIN #lillebas +[2025-10-05 13:39:28] << :tmi.twitch.tv 001 lillebas :Welcome, GLHF! +[2025-10-05 13:39:28] << :tmi.twitch.tv 002 lillebas :Your host is tmi.twitch.tv +[2025-10-05 13:39:28] << :tmi.twitch.tv 003 lillebas :This server is rather new +[2025-10-05 13:39:28] << :tmi.twitch.tv 004 lillebas :- +[2025-10-05 13:39:28] << :tmi.twitch.tv 375 lillebas :- +[2025-10-05 13:39:28] << :tmi.twitch.tv 372 lillebas :You are in a maze of twisty passages, all alike. +[2025-10-05 13:39:28] << :tmi.twitch.tv 376 lillebas :> +[2025-10-05 13:39:28] << :tmi.twitch.tv CAP * ACK :twitch.tv/tags twitch.tv/commands twitch.tv/membership +[2025-10-05 13:39:29] << :lillebas!lillebas@lillebas.tmi.twitch.tv JOIN #lillebas +[2025-10-05 13:39:29] JOIN bekræftet +[2025-10-05 13:39:29] >>> PRIVMSG #lillebas :🙋 TechNet Botten Online 🙋 +[2025-10-05 13:39:29] << :lillebas.tmi.twitch.tv 353 lillebas = #lillebas :lillebas +[2025-10-05 13:39:29] << :lillebas.tmi.twitch.tv 366 lillebas #lillebas :End of /NAMES list +[2025-10-05 13:39:29] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 13:39:29] << @emote-only=0;followers-only=-1;r9k=0;room-id=1038635748;slow=0;subs-only=0 :tmi.twitch.tv ROOMSTATE #lillebas +[2025-10-05 13:39:29] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=9a54a354-79b1-40ae-83b9-2e6f84c7a17f;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 13:39:29] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=9a54a354-79b1-40ae-83b9-2e6f84c7a17f;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759664369610;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :🙋 TechNet Botten Online 🙋 +[2025-10-05 13:39:59] << :streamelements!streamelements@streamelements.tmi.twitch.tv JOIN #lillebas +[2025-10-05 13:39:59] << :fossabot!fossabot@fossabot.tmi.twitch.tv JOIN #lillebas +[2025-10-05 13:42:26] << PING :tmi.twitch.tv +[2025-10-05 13:42:26] >>> PONG :tmi.twitch.tv +[2025-10-05 13:44:19] << PING :tmi.twitch.tv +[2025-10-05 13:44:19] >>> PONG :tmi.twitch.tv +[2025-10-05 13:46:35] << PING :tmi.twitch.tv +[2025-10-05 13:46:35] >>> PONG :tmi.twitch.tv +[2025-10-05 13:49:16] << PING :tmi.twitch.tv +[2025-10-05 13:49:16] >>> PONG :tmi.twitch.tv +[2025-10-05 13:51:29] << PING :tmi.twitch.tv +[2025-10-05 13:51:29] >>> PONG :tmi.twitch.tv +[2025-10-05 13:53:28] << PING :tmi.twitch.tv +[2025-10-05 13:53:28] >>> PONG :tmi.twitch.tv +[2025-10-05 13:54:29] >>> PRIVMSG #lillebas :Husk at følge kanalen 💜 +[2025-10-05 13:54:29] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=89fe20cf-4f36-420b-a46a-d94e47da67ab;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 13:54:29] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=89fe20cf-4f36-420b-a46a-d94e47da67ab;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759665269633;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Husk at følge kanalen 💜 +[2025-10-05 13:55:51] << PING :tmi.twitch.tv +[2025-10-05 13:55:51] >>> PONG :tmi.twitch.tv +[2025-10-05 13:58:15] << PING :tmi.twitch.tv +[2025-10-05 13:58:15] >>> PONG :tmi.twitch.tv +[2025-10-05 14:00:16] << PING :tmi.twitch.tv +[2025-10-05 14:00:16] >>> PONG :tmi.twitch.tv +[2025-10-05 14:03:04] << PING :tmi.twitch.tv +[2025-10-05 14:03:04] >>> PONG :tmi.twitch.tv +[2025-10-05 14:04:29] << PING :tmi.twitch.tv +[2025-10-05 14:04:29] >>> PONG :tmi.twitch.tv +[2025-10-05 14:07:31] << PING :tmi.twitch.tv +[2025-10-05 14:07:31] >>> PONG :tmi.twitch.tv +[2025-10-05 14:08:36] << PING :tmi.twitch.tv +[2025-10-05 14:08:36] >>> PONG :tmi.twitch.tv +[2025-10-05 14:09:29] >>> PRIVMSG #lillebas :Husk at følge kanalen 💜 +[2025-10-05 14:09:29] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=4ea60890-6245-469f-8980-ddabbd7d596b;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759666169581;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Husk at følge kanalen 💜 +[2025-10-05 14:09:29] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=4ea60890-6245-469f-8980-ddabbd7d596b;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 14:12:09] << PING :tmi.twitch.tv +[2025-10-05 14:12:09] >>> PONG :tmi.twitch.tv +[2025-10-05 14:12:48] << PING :tmi.twitch.tv +[2025-10-05 14:12:48] >>> PONG :tmi.twitch.tv +[2025-10-05 14:16:47] << PING :tmi.twitch.tv +[2025-10-05 14:16:47] >>> PONG :tmi.twitch.tv +[2025-10-05 14:17:28] << PING :tmi.twitch.tv +[2025-10-05 14:17:28] >>> PONG :tmi.twitch.tv +[2025-10-05 14:21:02] << PING :tmi.twitch.tv +[2025-10-05 14:21:02] >>> PONG :tmi.twitch.tv +[2025-10-05 14:22:22] << PING :tmi.twitch.tv +[2025-10-05 14:22:22] >>> PONG :tmi.twitch.tv +[2025-10-05 14:24:29] >>> PRIVMSG #lillebas :Husk at følge kanalen 💜 +[2025-10-05 14:24:29] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=b33f7e0c-2f95-4eba-91dd-897fcff39a4f;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759667069610;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Husk at følge kanalen 💜 +[2025-10-05 14:24:29] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=b33f7e0c-2f95-4eba-91dd-897fcff39a4f;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 14:25:15] << PING :tmi.twitch.tv +[2025-10-05 14:25:15] >>> PONG :tmi.twitch.tv +[2025-10-05 14:27:18] << PING :tmi.twitch.tv +[2025-10-05 14:27:18] >>> PONG :tmi.twitch.tv +[2025-10-05 14:29:43] << PING :tmi.twitch.tv +[2025-10-05 14:29:43] >>> PONG :tmi.twitch.tv +[2025-10-05 14:31:50] << PING :tmi.twitch.tv +[2025-10-05 14:31:50] >>> PONG :tmi.twitch.tv +[2025-10-05 14:34:34] << PING :tmi.twitch.tv +[2025-10-05 14:34:34] >>> PONG :tmi.twitch.tv +[2025-10-05 14:36:13] << PING :tmi.twitch.tv +[2025-10-05 14:36:13] >>> PONG :tmi.twitch.tv +[2025-10-05 14:39:22] << PING :tmi.twitch.tv +[2025-10-05 14:39:22] >>> PONG :tmi.twitch.tv +[2025-10-05 14:39:29] >>> PRIVMSG #lillebas :Husk at følge kanalen 💜 +[2025-10-05 14:39:29] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emotes=;first-msg=0;flags=;id=3c7f2add-88f0-43a8-abd3-3779529215e8;mod=0;returning-chatter=0;room-id=1038635748;subscriber=0;tmi-sent-ts=1759667969580;turbo=0;user-id=1038635748;user-type= :lillebas!lillebas@lillebas.tmi.twitch.tv PRIVMSG #lillebas :Husk at følge kanalen 💜 +[2025-10-05 14:39:29] << @badge-info=;badges=broadcaster/1;color=;display-name=lillebas;emote-sets=0,300374282;id=3c7f2add-88f0-43a8-abd3-3779529215e8;mod=0;subscriber=0;user-type= :tmi.twitch.tv USERSTATE #lillebas +[2025-10-05 14:40:36] << PING :tmi.twitch.tv +[2025-10-05 14:40:36] >>> PONG :tmi.twitch.tv +[2025-10-05 14:43:57] << PING :tmi.twitch.tv +[2025-10-05 14:43:57] >>> PONG :tmi.twitch.tv +[2025-10-05 14:45:27] << PING :tmi.twitch.tv +[2025-10-05 14:45:27] >>> PONG :tmi.twitch.tv +[2025-10-05 14:48:31] << PING :tmi.twitch.tv +[2025-10-05 14:48:31] >>> PONG :tmi.twitch.tv diff --git a/software/v0.0.1/data/cache/helix_1cba5f30fbf0311e84e1284aabd3cae6_ttl20.json b/software/v0.0.1/data/cache/helix_1cba5f30fbf0311e84e1284aabd3cae6_ttl20.json new file mode 100644 index 0000000..52804e8 --- /dev/null +++ b/software/v0.0.1/data/cache/helix_1cba5f30fbf0311e84e1284aabd3cae6_ttl20.json @@ -0,0 +1 @@ +{"http":200,"data":{"data":[],"pagination":[]},"raw":"{\"data\":[],\"pagination\":{}}","headers":{"content-type":"application\/json; charset=utf-8","content-length":"27","date":"Sun, 05 Oct 2025 12:08:58 GMT","vary":"Origin","ratelimit-limit":"800","ratelimit-remaining":"799","ratelimit-reset":"1759666139","timing-allow-origin":"https:\/\/www.twitch.tv","x-cache":"Miss from cloudfront","via":"1.1 623179a0437e8c560066525ff2e2167a.cloudfront.net (CloudFront)","x-amz-cf-pop":"CPH50-P1","x-amz-cf-id":"55KtLDj66NDu-NyL5DFYI8GP7AUaJLVubVU0ioZzAi5ECvN31kV3lg==","strict-transport-security":"max-age=300; includeSubDomains"}} \ No newline at end of file diff --git a/software/v0.0.1/data/cache/helix_dff8daa4a003fee3be79bc52544b1aec_ttl300.json b/software/v0.0.1/data/cache/helix_dff8daa4a003fee3be79bc52544b1aec_ttl300.json new file mode 100644 index 0000000..ba81753 --- /dev/null +++ b/software/v0.0.1/data/cache/helix_dff8daa4a003fee3be79bc52544b1aec_ttl300.json @@ -0,0 +1 @@ +{"http":200,"data":{"data":[{"id":"1038635748","login":"lillebas","display_name":"lillebas","type":"","broadcaster_type":"","description":"","profile_image_url":"https:\/\/static-cdn.jtvnw.net\/jtv_user_pictures\/5166600b-a1e2-4549-9474-60396d5e0b61-profile_image-300x300.png","offline_image_url":"","view_count":0,"created_at":"2024-02-18T11:15:46Z"}]},"raw":"{\"data\":[{\"id\":\"1038635748\",\"login\":\"lillebas\",\"display_name\":\"lillebas\",\"type\":\"\",\"broadcaster_type\":\"\",\"description\":\"\",\"profile_image_url\":\"https:\/\/static-cdn.jtvnw.net\/jtv_user_pictures\/5166600b-a1e2-4549-9474-60396d5e0b61-profile_image-300x300.png\",\"offline_image_url\":\"\",\"view_count\":0,\"created_at\":\"2024-02-18T11:15:46Z\"}]}","headers":{"content-type":"application\/json; charset=utf-8","content-length":"330","date":"Sun, 05 Oct 2025 12:07:29 GMT","vary":"Origin","ratelimit-limit":"800","ratelimit-remaining":"799","ratelimit-reset":"1759666050","timing-allow-origin":"https:\/\/www.twitch.tv","x-cache":"Miss from cloudfront","via":"1.1 841052f9a0c97fff38ce8ebf168a37aa.cloudfront.net (CloudFront)","x-amz-cf-pop":"CPH50-P1","x-amz-cf-id":"q2vbvD5-SLYvn_UTt9BU-sNCENm_eQyQPNPzEnzDa0rmgzCOH1kjvg==","strict-transport-security":"max-age=300; includeSubDomains"}} \ No newline at end of file diff --git a/software/v0.0.1/data/commands.json b/software/v0.0.1/data/commands.json new file mode 100644 index 0000000..cfec366 --- /dev/null +++ b/software/v0.0.1/data/commands.json @@ -0,0 +1,8 @@ +{ + "hej": "Hej @$display 👋 klokken er $time", + "so": "Smid et follow til @$target — kærlighed! 💜", + "discord": "Join vores Discord: https://discord.gg/XXXXX", + "valg": "Jeg vælger: $pick[pizza|sushi|burger]", + "args": "Du skrev: $arg1 $arg2 (alle: $args)", + "points": "@$display har $points point" +} \ No newline at end of file diff --git a/software/v0.0.1/data/giveaway.json b/software/v0.0.1/data/giveaway.json new file mode 100644 index 0000000..12a7201 --- /dev/null +++ b/software/v0.0.1/data/giveaway.json @@ -0,0 +1,5 @@ +{ + "open": false, + "entries": [], + "winner": null +} \ No newline at end of file diff --git a/software/v0.0.1/data/outbox.txt b/software/v0.0.1/data/outbox.txt new file mode 100644 index 0000000..e69de29 diff --git a/software/v0.0.1/data/permissions.json b/software/v0.0.1/data/permissions.json new file mode 100644 index 0000000..bef8e5e --- /dev/null +++ b/software/v0.0.1/data/permissions.json @@ -0,0 +1,8 @@ +{ + "hej": "chatter", + "so": "mod", + "discord": "chatter", + "valg": "chatter", + "args": "chatter", + "points": "chatter" +} \ No newline at end of file diff --git a/software/v0.0.1/data/settings.json b/software/v0.0.1/data/settings.json new file mode 100644 index 0000000..d484610 --- /dev/null +++ b/software/v0.0.1/data/settings.json @@ -0,0 +1,4 @@ +{ + "watchdog": false, + "timeout": 120 +} \ No newline at end of file diff --git a/software/v0.0.1/data/timers.json b/software/v0.0.1/data/timers.json new file mode 100644 index 0000000..ae084c3 --- /dev/null +++ b/software/v0.0.1/data/timers.json @@ -0,0 +1,7 @@ +[ + { + "text": "Husk at følge kanalen 💜", + "interval": 15, + "enabled": true + } +] \ No newline at end of file diff --git a/software/v0.0.1/start_bot.bat b/software/v0.0.1/start_bot.bat new file mode 100644 index 0000000..50cc37b --- /dev/null +++ b/software/v0.0.1/start_bot.bat @@ -0,0 +1,5 @@ +@echo off +setlocal +set PHP_EXE="C:\xampp\php\php.exe" +cd /d "%~dp0" +%PHP_EXE% bot.php diff --git a/software/v0.0.1/web/api.php b/software/v0.0.1/web/api.php new file mode 100644 index 0000000..556bdcf --- /dev/null +++ b/software/v0.0.1/web/api.php @@ -0,0 +1,246 @@ + 0, 'data' => ['error' => 'missing env: TWITCH_OAUTH / TWITCH_CLIENT_ID']]]; + } + return [true, [ + 'Client-ID: ' . $client, + 'Authorization: Bearer ' . $token, + 'Accept: application/json', + ], null]; +} + +/* ----------------------- CACHE ----------------------- */ + +function cache_dir(): string { + $dir = dirname(__DIR__) . '/data/cache'; + if (!is_dir($dir)) @mkdir($dir, 0777, true); + return $dir; +} + +function cache_path(string $key): string { + return cache_dir() . '/' . preg_replace('/[^a-z0-9_.-]/i', '_', $key) . '.json'; +} + +function cache_meta_path(string $key): string { + return cache_dir() . '/' . preg_replace('/[^a-z0-9_.-]/i', '_', $key) . '.meta.json'; +} + +/* ----------------------- CORE REQUEST ----------------------- */ + +function _curl_handle() { + static $ch = null; + if ($ch === null) { + $ch = curl_init(); + curl_setopt_array($ch, [ + CURLOPT_RETURNTRANSFER => true, + CURLOPT_ENCODING => '', // gzip/deflate/br + CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_2TLS, + CURLOPT_TIMEOUT => DEFAULT_TIMEOUT, + CURLOPT_HEADER => true, // vi splitter headers/body selv + ]); + } + return $ch; +} + +/** + * Helix request med retry/backoff + ETag. + * @return array ['http'=>int, 'data'=>array, 'raw'=>string, 'headers'=>array] + */ +function helix_request(string $method, string $path, array $params = [], $payload = null, array $opts = []): array { + [$ok, $authHeaders, $err] = twitch_auth_headers(); + if (!$ok) return $err; + + $ch = _curl_handle(); + $url = HELIX_BASE . $path . ($params ? '?' . http_build_query($params) : ''); + $ttl = (int)($opts['ttl'] ?? 0); + $ckey = $opts['cache_key'] ?? ($path . '?' . http_build_query($params)); + $useCache = (bool)($opts['use_cache'] ?? false); + + // ETag/Last-Modified support + $metaFile = cache_meta_path('helix_meta_' . md5($ckey)); + $meta = file_exists($metaFile) ? (json_decode((string)file_get_contents($metaFile), true) ?: []) : []; + + $headers = $authHeaders; + if (!empty($meta['etag'])) $headers[] = 'If-None-Match: ' . $meta['etag']; + if (!empty($meta['last_modified'])) $headers[] = 'If-Modified-Since: ' . $meta['last_modified']; + + // Sæt request + $set = [ + CURLOPT_URL => $url, + CURLOPT_HTTPHEADER => $headers, + CURLOPT_CUSTOMREQUEST => strtoupper($method), + CURLOPT_POSTFIELDS => null, + ]; + if (strtoupper($method) === 'POST') { + $set[CURLOPT_HTTPHEADER] = array_merge($headers, ['Content-Type: application/json']); + $set[CURLOPT_POSTFIELDS] = json_encode($payload ?? [], JSON_UNESCAPED_UNICODE); + } + curl_setopt_array($ch, $set); + + $attempts = 1 + DEFAULT_RETRIES; + $backoff = DEFAULT_BACKOFF_MS; + + do { + $response = curl_exec($ch); + $errno = curl_errno($ch); + $error = curl_error($ch); + $status = (int) curl_getinfo($ch, CURLINFO_RESPONSE_CODE); + + if ($response === false) { + if (--$attempts > 0) { usleep(min($backoff, MAX_BACKOFF_MS) * 1000); $backoff *= 2; continue; } + return ['http' => 0, 'data' => ['error' => 'curl_error', 'code' => $errno, 'message' => $error]]; + } + + $headerSize = curl_getinfo($ch, CURLINFO_HEADER_SIZE); + $rawHeaders = substr($response, 0, $headerSize); + $rawBody = substr($response, $headerSize); + + $hdrLines = preg_split('/\r\n/', trim($rawHeaders)); + $hdrAssoc = []; + foreach ($hdrLines as $h) { + $p = strpos($h, ':'); + if ($p !== false) { + $k = strtolower(trim(substr($h, 0, $p))); + $v = trim(substr($h, $p + 1)); + $hdrAssoc[$k] = $v; + } + } + + // Retry på 429/5xx + if ($status === 429 || ($status >= 500 && $status <= 599)) { + $retryAfter = (int)($hdrAssoc['retry-after'] ?? 0); + $sleepMs = max($retryAfter * 1000, min($backoff, MAX_BACKOFF_MS)); + if (--$attempts > 0) { usleep($sleepMs * 1000); $backoff *= 2; continue; } + } + + // 304 = brug cache hvis mulig + if ($status === 304 && $useCache) { + $cacheFile = cache_path('helix_' . md5($ckey) . '_ttl' . $ttl); + if (file_exists($cacheFile)) { + $cached = json_decode((string)file_get_contents($cacheFile), true); + if (is_array($cached)) { + $cached['headers'] = $hdrAssoc; + $cached['http'] = 200; // lever data som 200 fra cache + return $cached; + } + } + return ['http' => 304, 'data' => [], 'raw' => '', 'headers' => $hdrAssoc]; + } + + $data = json_decode($rawBody, true); + if (!is_array($data)) $data = []; + + // Gem ETag/LM til senere + $etag = $hdrAssoc['etag'] ?? null; + $lm = $hdrAssoc['last-modified'] ?? null; + if ($etag || $lm) { + @file_put_contents($metaFile, json_encode(['etag' => $etag, 'last_modified' => $lm])); + } + + $out = ['http' => $status, 'data' => $data, 'raw' => $rawBody, 'headers' => $hdrAssoc]; + + // Cache ved success + if ($useCache && $ttl > 0 && $status === 200) { + @file_put_contents(cache_path('helix_' . md5($ckey) . '_ttl' . $ttl), json_encode($out, JSON_UNESCAPED_UNICODE)); + } + + return $out; + } while ($attempts > 0); +} + +/* ----------------------- PUBLIC WRAPPERS ----------------------- */ + +function helix_get(string $path, array $params = []): array { + return helix_request('GET', $path, $params, null, ['use_cache' => false]); +} + +function helix_post(string $path, array $payload): array { + return helix_request('POST', $path, [], $payload, ['use_cache' => false]); +} + +/** Cachet GET – samme signatur som før. */ +function helix_get_cached(string $path, array $params = [], int $ttl = 30): array { + $ckey = $path . '?' . http_build_query($params); + $file = cache_path('helix_' . md5($ckey) . '_ttl' . $ttl); + if (file_exists($file) && (time() - filemtime($file) < $ttl)) { + $cached = json_decode((string)file_get_contents($file), true); + if (is_array($cached)) return $cached; + } + return helix_request('GET', $path, $params, null, [ + 'ttl' => $ttl, + 'cache_key' => $ckey, + 'use_cache' => true, + ]); +} + +/** Pagineret helper – samler alle sider i ét array. */ +function helix_get_paginated(string $path, array $params = [], int $maxPages = 10, int $ttl = 0): array { + $all = []; + $cursor = null; + $pages = 0; + $http = 200; + + do { + $pages++; + $p = $params; + if ($cursor) $p['after'] = $cursor; + + $res = $ttl > 0 + ? helix_get_cached($path, $p, $ttl) + : helix_get($path, $p); + + $http = $res['http'] ?? 0; + if ($http !== 200) break; + + $chunk = $res['data']['data'] ?? []; + if (is_array($chunk)) $all = array_merge($all, $chunk); + + $cursor = $res['data']['pagination']['cursor'] ?? null; + } while ($cursor && $pages < $maxPages); + + return ['http' => $http, 'data' => $all, 'pages' => $pages]; +} + +/** Slår login op → Twitch user_id (cachet i 5 min) */ +function get_user_id(string $login): ?string { + $r = helix_get_cached('/users', ['login' => $login], 300); + if (($r['http'] ?? 0) === 200 && !empty($r['data']['data'][0]['id'])) { + return (string)$r['data']['data'][0]['id']; + } + return null; +} diff --git a/software/v0.0.1/web/bets.php b/software/v0.0.1/web/bets.php new file mode 100644 index 0000000..e480f42 --- /dev/null +++ b/software/v0.0.1/web/bets.php @@ -0,0 +1 @@ +prepare('INSERT INTO bets(status,option1,option2,created_ts) VALUES(?,?,?,?)'); $st->execute(['open',$o1,$o2,gmdate('c')]); $msg='Bet åbnet.'; } } if(isset($_POST['close'])){ $db->exec("UPDATE bets SET status='closed', close_ts='".gmdate('c')."' WHERE status='open'"); $msg='Bet lukket.'; } if(isset($_POST['resolve'])){ $win=(int)($_POST['winner']??1); $last=$db->query("SELECT * FROM bets WHERE status='closed' ORDER BY id DESC LIMIT 1")->fetch(PDO::FETCH_ASSOC); if($last){ $st=$db->prepare('SELECT user_login, amount FROM bet_entries WHERE bet_id=? AND option=?'); $st->execute([$last['id'],$win]); $wins=$st->fetchAll(PDO::FETCH_ASSOC); foreach($wins as $w){ $db->prepare('INSERT INTO points(user_login,display_name,points) VALUES(?,?,?) ON CONFLICT(user_login) DO UPDATE SET points=points+excluded.points')->execute([$w['user_login'],$w['user_login'],(int)$w['amount']*2]); } $db->prepare('UPDATE bets SET status="resolved", resolved_option=? WHERE id=?')->execute([$win,$last['id']]); $msg='Bet resolved, vinder: option '.$win; } } } $last=$db->query('SELECT * FROM bets ORDER BY id DESC LIMIT 1')->fetch(PDO::FETCH_ASSOC); $entries=$last?$db->query('SELECT * FROM bet_entries WHERE bet_id='.(int)$last['id'])->fetchAll(PDO::FETCH_ASSOC):[]; ?>Bets

💸 Bets

← Tilbage



Status: – # ()

Indskud

'; } ?>
BrugerBeløbOption
@'.htmlspecialchars($e['user_login']).''.(int)$e['amount'].''.(int)$e['option'].'
\ No newline at end of file diff --git a/software/v0.0.1/web/commands.php b/software/v0.0.1/web/commands.php new file mode 100644 index 0000000..4eb1c83 --- /dev/null +++ b/software/v0.0.1/web/commands.php @@ -0,0 +1 @@ +Kommandoer

Bot-kommandoer

← Tilbage📖 Hjælp



$v): ?>
!kommandoSvarHandling
\ No newline at end of file diff --git a/software/v0.0.1/web/control.php b/software/v0.0.1/web/control.php new file mode 100644 index 0000000..8822c0f --- /dev/null +++ b/software/v0.0.1/web/control.php @@ -0,0 +1 @@ +NUL 2>&1'); header('Location: index.php'); exit; } if($a==='stop'){ file_put_contents($stop,'1'); header('Location: index.php'); exit; } if($a==='restart'){ file_put_contents($stop,'1'); echo 'Genstarter...'; exit; } header('Location: index.php'); \ No newline at end of file diff --git a/software/v0.0.1/web/create_admin.php b/software/v0.0.1/web/create_admin.php new file mode 100644 index 0000000..01289f6 --- /dev/null +++ b/software/v0.0.1/web/create_admin.php @@ -0,0 +1,22 @@ +prepare('SELECT id FROM users WHERE username = ?'); +$st->execute([$username]); +if ($st->fetch()) { + echo "❗Brugeren '$username' findes allerede."; + exit; +} + +$hash = password_hash($password, PASSWORD_DEFAULT); +$st = $db->prepare('INSERT INTO users (username, password, role) VALUES (?, ?, ?)'); +$st->execute([$username, $hash, $role]); + +echo "✅ Bruger oprettet: $username / $password (rolle: $role)"; diff --git a/software/v0.0.1/web/db.php b/software/v0.0.1/web/db.php new file mode 100644 index 0000000..717520e --- /dev/null +++ b/software/v0.0.1/web/db.php @@ -0,0 +1,28 @@ + PDO::ERRMODE_EXCEPTION, + ]); + + // Bedre concurrency når bot + web arbejder samtidig + $pdo->exec('PRAGMA journal_mode=WAL'); + $pdo->exec('PRAGMA synchronous=NORMAL'); + $pdo->exec('PRAGMA busy_timeout=3000'); // 3s + + // Sikr users-tabellen findes (kompatibel med både 'password' og 'password_hash') + $pdo->exec(" + CREATE TABLE IF NOT EXISTS users ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + username TEXT UNIQUE NOT NULL, + password TEXT, -- foretrukket kolonne (password_hash()) + password_hash TEXT, -- ældre kolonne (legacy) + role TEXT DEFAULT 'user' + ) + "); + + return $pdo; +} diff --git a/software/v0.0.1/web/events.php b/software/v0.0.1/web/events.php new file mode 100644 index 0000000..2738539 --- /dev/null +++ b/software/v0.0.1/web/events.php @@ -0,0 +1,35 @@ +setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + + if ($type === 'channel.cheer') { + $u = strtolower($ev['user_login'] ?? ''); + $n = $ev['user_name'] ?? $u; + $bits = (int)($ev['bits'] ?? 0); + $st = $db->prepare('INSERT INTO events(type,user_login,user_name,value,ts) VALUES(?,?,?,?,?)'); + $st->execute(['cheer', $u, $n, $bits, gmdate('c')]); + } + + if ( + $type === 'channel.subscribe' || + $type === 'channel.subscription.message' || + $type === 'channel.subscription.gift' + ) { + $u = strtolower($ev['user_login'] ?? $ev['gifter_login'] ?? ''); + $n = $ev['user_name'] ?? $ev['gifter_name'] ?? $u; + $val = (int)($ev['tier'] ?? $ev['total'] ?? 1); + $st = $db->prepare('INSERT INTO events(type,user_login,user_name,value,ts) VALUES(?,?,?,?,?)'); + $st->execute([ + ($type === 'channel.subscription.gift' ? 'subgift' : 'sub'), + $u, + $n, + $val, + gmdate('c') + ]); + } + } catch (PDOException $e) { + error_log('Database error: ' . $e->getMessage()); + http_response_code(500); + echo 'db error'; + exit; + } + + echo 'ok'; + exit; +} + +echo 'ok'; \ No newline at end of file diff --git a/software/v0.0.1/web/eventsub_setup.php b/software/v0.0.1/web/eventsub_setup.php new file mode 100644 index 0000000..4147a9a --- /dev/null +++ b/software/v0.0.1/web/eventsub_setup.php @@ -0,0 +1,54 @@ + $t, + 'version' => '1', + 'condition' => ['broadcaster_user_id' => $uid], + 'transport' => [ + 'method' => 'webhook', + 'callback' => $cb, + 'secret' => $env['EVENTSUB_SECRET'] ?? 'change_this_secret' + ] + ]); + $msg .= $t . ': HTTP ' . $r['http'] . ' ' . substr($r['raw'] ?? '', 0, 120) . "\n"; + } +} +?> + + + + + + EventSub Setup + + + +
+
+

⚡ EventSub Setup

+

← Tilbage

+ +
+ +
+

Callback:

+ +
+

Brug en offentlig URL (fx ngrok) der peger på /bot/web/eventsub.php.

+
+
+ + \ No newline at end of file diff --git a/software/v0.0.1/web/giveaway.php b/software/v0.0.1/web/giveaway.php new file mode 100644 index 0000000..832d73b --- /dev/null +++ b/software/v0.0.1/web/giveaway.php @@ -0,0 +1,70 @@ + false, 'entries' => [], 'winner' => null]; +$msg = ''; + +if ($_SERVER['REQUEST_METHOD'] === 'POST') { + if (isset($_POST['open'])) { + $st = ['open' => true, 'entries' => [], 'winner' => null]; + $msg = 'Giveaway åbnet.'; + } + if (isset($_POST['close'])) { + $st['open'] = false; + $msg = 'Giveaway lukket.'; + } + if (isset($_POST['draw'])) { + $e = array_values(array_unique($st['entries'])); + if ($e) { + $w = $e[array_rand($e)]; + $st['winner'] = $w; + $msg = 'Vinder: @' . $w; + } else { + $msg = 'Ingen entries.'; + } + } + if (isset($_POST['clear'])) { + $st = ['open' => false, 'entries' => [], 'winner' => null]; + $msg = 'Nulstillet.'; + } + file_put_contents($file, json_encode($st, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE)); + header('Location: giveaway.php'); + exit; +} +?> + + + + + Giveaway + + + +
+
+

🎁 Giveaway

+

← Tilbage

+ +

+ +
+ + + + +
+

Status: Åben' : 'Lukket'; ?> + — Vinder:

+

Deltagere ()

+
    + @' . htmlspecialchars($e) . ''; + } ?> +
+

Chat: !join deltager når giveaway er åben.

+
+
+ + \ No newline at end of file diff --git a/software/v0.0.1/web/guard.php b/software/v0.0.1/web/guard.php new file mode 100644 index 0000000..f79d648 --- /dev/null +++ b/software/v0.0.1/web/guard.php @@ -0,0 +1,20 @@ + + + + + Kommando-hjælp + + + +
+
+

🔧 Placeholders

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PlaceholderBeskrivelse
@$userAfsenderens brugernavn (med @)
@$displayDisplay-navn (med @)
@$targetFørste @mention eller første argument
$userBrugernavn
$displayDisplay-navn
$targetSom ovenfor, uden @
$channelKanal
$cmdKommando
$argsHele argumentstrengen
$arg1..$arg5Argumenter
$timeKlokkeslæt
$dateDags dato
$pointsBrugerens point
$random1–100
$random:N1–N
$pick[a|b|c]Tilfældig fra liste
+

+ Eksempel: Hej @$display, klokken er $time — jeg vælger: $pick[pizza|sushi] +

+
+
+ + \ No newline at end of file diff --git a/software/v0.0.1/web/index.php b/software/v0.0.1/web/index.php new file mode 100644 index 0000000..1e1a483 --- /dev/null +++ b/software/v0.0.1/web/index.php @@ -0,0 +1,140 @@ + $uid], 20); + if (($s['http'] ?? 0) === 200 && !empty($s['data']['data'][0])) { + $started_at = $s['data']['data'][0]['started_at']; + $t1 = new DateTime($started_at); + $t2 = new DateTime('now', new DateTimeZone('UTC')); + $diff = $t2->getTimestamp() - $t1->getTimestamp(); + $uptime = sprintf('%02d:%02d', floor($diff / 3600), floor(($diff % 3600) / 60)); + } +} + +$db = db(); // bruger web/db.php (WAL + busy_timeout) +$bits_total = 0; +$cheerers = []; +$subs = []; + +// Summér bits og list subs KUN hvis streamen kører +if ($started_at) { + $st = $db->prepare( + 'SELECT user_name, SUM(value) AS bits + FROM events + WHERE type = "cheer" AND ts >= ? + GROUP BY user_name + ORDER BY bits DESC' + ); + $st->execute([$started_at]); + $cheerers = $st->fetchAll(PDO::FETCH_ASSOC); + foreach ($cheerers as $c) { + $bits_total += (int)($c['bits'] ?? 0); + } + + $st = $db->prepare( + 'SELECT user_name + FROM events + WHERE (type = "sub" OR type = "subgift") AND ts >= ? + ORDER BY id DESC' + ); + $st->execute([$started_at]); + $subs = $st->fetchAll(PDO::FETCH_ASSOC); +} +?> + + + + + Dashboard + + + +
+ + + +
+
+

Total bits (denne stream)

+

+

Cheerers

+
    + +
  • bits
  • + +
+
+ +
+

Subs (denne stream)

+
    + +
  • + +
+
+ +
+

Live log

+
Indlæser...
+

SSE først; fallback til WebSocket (kræver node ws_server.js).

+
+
+ + + + +
+ + +
+

⚙️ Indstillinger

+

← Tilbage

+ +

+ +
+ + +
+ +

+ +
+
+ + +
+

👤 Min profil

+

+

+ +
+ +
+
+
+
+ +
+

Rolle:

+
+ + + +
+

🛠️ Brugerstyring (Admin)

+

+

+ + +
+ +

Opret ny bruger

+
+
+
+
+ +
+ + +

Eksisterende brugere

+ + + + + + + + + + + + + + +
IDBrugernavnRolleNyt password (valgfrit)Handling
+ + + +
+ +
+ + +
+ + + +
+
+

Begrænsninger: Du kan ikke slette dig selv, og systemet forhindrer at stå uden en eneste admin.

+
+ + +
+ + diff --git a/software/v0.0.1/web/slots.php b/software/v0.0.1/web/slots.php new file mode 100644 index 0000000..6a4a0db --- /dev/null +++ b/software/v0.0.1/web/slots.php @@ -0,0 +1,46 @@ +query('SELECT * FROM slots_spins ORDER BY id DESC LIMIT 50')->fetchAll(PDO::FETCH_ASSOC); +?> + + + + + Emote Slots + + + +
+
+

🎰 Emote Slot – Seneste spins

+

← Tilbage

+ + + + + + + + + + + + + + + + + + + + +
TidBrugerIndsatsResultatUdbetaling
@
+
+
+ + diff --git a/software/v0.0.1/web/style.css b/software/v0.0.1/web/style.css new file mode 100644 index 0000000..7554054 --- /dev/null +++ b/software/v0.0.1/web/style.css @@ -0,0 +1,135 @@ +:root { + --bg: #0b0e14; + --card: #121726; + --border: #1e2538; + --text: #e6e6e6; + --btn-bg: #1a2033; + --btn-hover: #232b46; + --btn-border: #334; + --badge-bg: #25304d; +} + +* { + box-sizing: border-box; +} + +body { + font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; + background: var(--bg); + color: var(--text); + margin: 0; +} + +a { + color: var(--text); + text-decoration: none; +} + +.wrap { + max-width: 1100px; + margin: 40px auto; + padding: 0 16px; +} + +.card { + background: var(--card); + border: 1px solid var(--border); + border-radius: 16px; + padding: 20px; + box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3); + margin-bottom: 16px; +} + +h1, +h2, +h3 { + margin: 0 0 10px; +} + +.btn { + display: inline-block; + padding: 10px 14px; + border-radius: 12px; + border: 1px solid var(--btn-border); + padding-inline: 16px; + color: var(--text); + background: var(--btn-bg); + margin-right: 8px; + cursor: pointer; + transition: background 0.2s; +} + +.btn:hover { + background: var(--btn-hover); +} + +.badge { + display: inline-block; + padding: 4px 10px; + border-radius: 999px; + background: var(--badge-bg); + border: 1px solid var(--btn-border); +} + +pre { + white-space: pre-wrap; + background: #0f1320; + padding: 12px; + border-radius: 12px; + border: 1px solid var(--border); + max-height: 260px; + overflow: auto; +} + +label, +input, +textarea, +select { + display: block; + width: 100%; +} + +input, +textarea, +select { + background: #0f1320; + color: var(--text); + border: 1px solid var(--border); + border-radius: 10px; + padding: 10px; +} + +table { + width: 100%; + border-collapse: collapse; +} + +th, +td { + border-bottom: 1px solid var(--border); + padding: 8px 6px; + vertical-align: top; +} + +.grid { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 12px; +} + +.small { + opacity: 0.8; + font-size: 0.9rem; +} + +.notice { + color: #9be39e; +} + +.error { + color: #ff8e8e; +} + +.right { + float: right; +} diff --git a/software/v0.0.1/web/timers.php b/software/v0.0.1/web/timers.php new file mode 100644 index 0000000..f317cf4 --- /dev/null +++ b/software/v0.0.1/web/timers.php @@ -0,0 +1,135 @@ + $text, + 'interval' => $interval, + 'enabled' => $enabled, + ]; + } + } + + // Gem eksisterende timers (bulk update) + if (isset($_POST['save'])) { + $new = []; + $c = (int)($_POST['count'] ?? 0); + + for ($i = 0; $i < $c; $i++) { + $text = $_POST['text_' . $i] ?? ''; + $interval = max(1, (int)($_POST['interval_' . $i] ?? 15)); + $enabled = isset($_POST['enabled_' . $i]); + + if ($text) { + $new[] = [ + 'text' => $text, + 'interval' => $interval, + 'enabled' => $enabled, + ]; + } + } + + $timers = $new; + } + + // Slet alle + if (isset($_POST['clear'])) { + $timers = []; + } + + file_put_contents($file, json_encode($timers, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE)); + header('Location: timers.php'); + exit; +} +?> + + + + + Timers + + + +
+
+

⏱️ Timers

+

← Tilbage

+ + +
+ +
+ +
+ +
+ +
+ + +
+ + + + + + + + $t): ?> + + + + + + + +
#BeskedIntervalAktiv
+ + + + + + > +
+ + +
+ + +
+
+
+ + diff --git a/software/v0.0.1/web/validate.php b/software/v0.0.1/web/validate.php new file mode 100644 index 0000000..a564b0d --- /dev/null +++ b/software/v0.0.1/web/validate.php @@ -0,0 +1,44 @@ + true, + CURLOPT_HTTPHEADER => ['Authorization: OAuth ' . $token], + CURLOPT_TIMEOUT => 10, +]); +$res = curl_exec($ch); +$http = curl_getinfo($ch, CURLINFO_HTTP_CODE); +curl_close($ch); + +// Returnér resultat som JSON +header('Content-Type: application/json'); +echo json_encode( + [ + 'http' => $http, + 'data' => json_decode($res, true), + ], + JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE +); diff --git a/software/v0.0.1/ws_server.js b/software/v0.0.1/ws_server.js new file mode 100644 index 0000000..e661ce6 --- /dev/null +++ b/software/v0.0.1/ws_server.js @@ -0,0 +1,41 @@ +const fs = require('fs'); +const path = require('path'); +const WebSocket = require('ws'); + +const LOG = path.join(__dirname, 'data', 'bot.log'); +const PORT = process.env.PORT || 8090; + +const wss = new WebSocket.Server({ port: PORT }); +console.log('WS server running at ws://localhost:' + PORT); + +// Funktion til at hente de sidste n linjer fra logfilen +function tail(n = 80) { + try { + const t = fs.readFileSync(LOG, 'utf8'); + const L = t.split('\n'); + return L.slice(-n).join('\n'); + } catch (e) { + return ''; + } +} + +// Send seneste log ved ny forbindelse +wss.on('connection', ws => { + ws.send(JSON.stringify({ + type: 'log', + data: tail(80) + })); +}); + +// Tjek for ændringer i logfilen og broadcast +let last = ''; +setInterval(() => { + const t = tail(80); + if (t !== last) { + const payload = JSON.stringify({ type: 'log', data: t }); + wss.clients.forEach(c => { + if (c.readyState === WebSocket.OPEN) c.send(payload); + }); + last = t; + } +}, 500);