mirror of
https://github.com/onyx-and-iris/q3rcon-cli.git
synced 2026-03-24 02:39:18 +00:00
31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
from aioq3rcon import Client
|
|
from clypi import Command, Positional, arg
|
|
from typing_extensions import override
|
|
|
|
from q3rcon_cli.console import Console
|
|
|
|
|
|
class Hostname(Command):
|
|
"""Get or set the current hostname of the server."""
|
|
|
|
new_hostname: Positional[str] = arg(
|
|
help='The new hostname to change to (optional). If not provided, the current hostname will be printed.',
|
|
default='',
|
|
)
|
|
host: str = arg(inherited=True)
|
|
port: int = arg(inherited=True)
|
|
password: str = arg(inherited=True)
|
|
|
|
@override
|
|
async def run(self):
|
|
if not self.new_hostname:
|
|
async with Client(self.host, self.port, self.password) as client:
|
|
if response := await client.send_command('sv_hostname'):
|
|
Console.print_cvar(response)
|
|
return
|
|
|
|
async with Client(self.host, self.port, self.password) as client:
|
|
await client.send_command(f'sv_hostname {self.new_hostname}')
|
|
if response := await client.send_command('sv_hostname'):
|
|
Console.print_cvar(response)
|