私はPythonにかなり慣れていないので、誰かが私を助けてくれるかどうか疑問に思っていました.TS3サーバーに管理者がいるかどうかを確認するスクリプトを作成しようとしています. しかし、私は一日中それを理解することはできません。
私が使用する API はここにリンクされています: http://py-ts3.readthedocs.io/en/latest/index.html
import time
import ts3
def admincheck(nickname, id):
while True:
client = ts3conn.clientdbfind(pattern=nickname)
group = ts3conn.servergroupclientlist(sgid=id)
for client in client:
print("client db id:\n" + (client["cldbid"]))
for group in group:
print("client db ids with admin:\n" + (group["cldbid"]))
time.sleep(1.5)
if int(client["cldbid"]) in range(int(group["cldbid"])):
print("client has admin")
else:
print("client does not admin")
with ts3.query.TS3Connection("localhost") as ts3conn:
ts3conn.login(
client_login_name="serveradmin",
client_login_password="<ommited>"
)
ts3conn.use(sid=1)
admincheck("test", "6")
私の問題はこの部分にあると思います:
if int(client["cldbid"]) in range(int(group["cldbid"])):
print("client has admin")
else:
print("client does not admin")
誰かが助けてくれたら最高です:) よろしくお願いします!
EDIT 私は手元に質問を述べていないので(ここではnoob)、これは出力例です:
client db id:
2
client db ids with admin:
2
client db ids with admin:
3
client db ids with admin:
4
client does not admin
ご覧のとおり、クライアント データベース ID が管理者を持つ ID を持つリスト内のエントリに対応しているにもかかわらず、出力にはクライアントに管理者がいないことが示されています。