lgbot: never take over or kick a human named lgbot; live values in show; direction debug

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
esefandClaude Opus 5.5 committed 2026-10-15 14:37:30 +03:00
1 parent d2fb4be349
commit aac104206b
3 files changed
+81 -13

No files matched your search

+18 -1
View File
@@ -1,7 +1,7 @@
import math, os, random, sys, unittest
sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "home", "minqlx-plugins"))
from lgbot import (PRESETS, KEYS, resolve, Strafer, wanted_range, steer, fix_z, pick_target, to_int, is_bot)
from lgbot import (PRESETS, KEYS, resolve, Strafer, wanted_range, steer, fix_z, pick_target, to_int, is_bot, is_lgbot)
def preset(n, **kw):
@@ -129,6 +129,12 @@ class Misc(unittest.TestCase):
self.assertTrue(is_bot(0))
self.assertFalse(is_bot(76561198000000000)) # real SteamID64
def test_is_lgbot_needs_bot_id(self):
self.assertTrue(is_lgbot("lgbot", 90071996842377216))
self.assertTrue(is_lgbot("LGBot", 90071996842377217))
self.assertFalse(is_lgbot("lgbot", 76561198000000000)) # a human calling themselves lgbot
self.assertFalse(is_lgbot("hunter", 90071996842377216))
def test_to_int(self):
self.assertEqual(to_int("5"), 5)
self.assertEqual(to_int(" -1 "), -1)
@@ -207,6 +213,17 @@ class Parsing(unittest.TestCase):
self.assertEqual(v, 2)
self.assertEqual(len(said), 2)
def test_human_named_lgbot_is_not_the_bot(self):
status = STATUS_WITH_BOT.replace("lgbot 0 bot ", "lgbot 0 1.2.3.4:5")
self.assertFalse(setup.bot_present(status))
self.assertTrue(setup.impostor(status))
self.assertFalse(setup.impostor(STATUS_WITH_BOT))
def test_cvar_value(self):
reply = 'zmq RCON command from x: lgbot_fake' + chr(10) + '"lgbot_fake" is:"60" default:"-1"'
self.assertEqual(setup.cvar_value(reply, "lgbot_fake"), "60")
self.assertIsNone(setup.cvar_value("(no output: ok, or server down)", "lgbot_fake"))
def test_bot_present(self):
self.assertTrue(setup.bot_present(STATUS_WITH_BOT))
self.assertFalse(setup.bot_present(STATUS_WITH_BOT.replace("lgbot ", "Hunter")))