Jump to content

Witaj gościu! Zarejestruj się tutaj, aby móc w pełni korzystać z funkcji forum. Zachęcamy Cię również do pisania postów i uczestniczenia w forumowym życiu!

Jeżeli jesteś już użytkownikiem naszego forum, zaloguj się klikając tutaj.

____________________

Twoi Administratorzy :)

Sign in to follow this  
Dark_Side

[TuT] Wyświetlanie Unique ID, Database ID i Connections dowolnego użytkownika na TS3

Recommended Posts

Często potrzebujemy na TS3 sprawdzić unikalne ID danej osoby, albo ilość logowań na serwer, szczególnie tyczy się to moderatorów i administratorów serwerów. Opcje te są jednak dostępne dla wszystkich, a jedynie nieco ukryte. Aby znacznie uprościć sprawdzanie powyższych wartości musimy nieco zmodyfikować pliki naszego klienta. Tak więc do dzieła!
 
 
 
 
Wyświetlanie: CLIENT_UNIQUE_ID, CLIENT_DATABASE_ID, CLIENT_TOTALCONNECTIONS
Wchodzimy w do folderu naszego klienta TS, domyślnie jest to: 

C:\Program Files\TeamSpeak 3 Client\

Następnie odnajdujemy plik wybierając jednocześnie odpowiedni styl, którego używamy np `default`:

C:\Program Files\TeamSpeak 3 Client\styles\default\clientinfo.tpl

I zaczynamy go edytować.. ; )
 
W zawartości pliku odnajdujemy linie:

<tr title="Created: %%CLIENT_CREATED%%, Connections: %%CLIENT_TOTALCONNECTIONS%%">
    <td class="label">Online since:</td>
    <td>%%CLIENT_CONNECTED_SINCE%%</td>
  </tr>
</table>

A następnie nad linia zawierającą:

</table>

 Dodajemy ten oto kod:
 

<hr/>
<tr><td class="label">Client Unique ID</td><td>%%CLIENT_UNIQUE_ID%%</td></tr>
<tr><td class="label">Client Database ID</td><td>%%CLIENT_DATABASE_ID%%</td></tr>
<tr><td class="label">Created</td><td>%%CLIENT_CREATED%%</td></tr>
<tr><td class="label">Connections</td><td>%%CLIENT_TOTALCONNECTIONS%%</td></tr>
<hr/>

Cały plik clientinfo.tpl już po modyfikacjach wyglądać powinien tak:


 
<!--
TeamSpeak 3 Client Infoframe Template
Copyright 2009-2014 (c) TeamSpeak Systems GmbH


The replaceable variables are embedded in "%%" like %%CLIENT_NAME%%. At this time you can 
also use %%?CLIENT_NAME%% (note the questionmark), which is a tiny "if"- query. Use it, to 
remove the whole line, if a variable is empty or just "0".


Templates can be placed in "styles/" for default theme or in a sub folder named like an available 
theme (e.g. "styles/bluesky/"). Be aware that this template will not automaticly be translated when 
displayed.


Predefined values have to be inside the html comment-tag to make sure that they will be parsed
before the replacing begins! Remove the "#" to enable.


#%%AVATAR_MAX_WIDTH%%128
#%%AVATAR_MAX_HEIGHT%%128
#%%CLIENT_SERVER_SHOW_MAX_GROUPS%%3


Replacable variables for clients:
CLIENT_NAME
CLIENT_NAME_PERCENT_ENCODED
CLIENT_CUSTOM_NICK_NAME
CLIENT_COUNTRY_TOOLTIP
CLIENT_COUNTRY_IMAGE
CLIENT_ID
CLIENT_UNIQUE_ID
CLIENT_AWAY_MESSAGE
CLIENT_PLATFORM
CLIENT_VERSION
CLIENT_VERSION_SHORT
CLIENT_VERSION_STATE   [Alpha|Beta|Stable]
CLIENT_DESCRIPTION
CLIENT_ICON
CLIENT_TOTALCONNECTIONS
CLIENT_CREATED
CLIENT_LASTCONNECTED
CLIENT_CONNECTED_SINCE
CLIENT_FLAG_AVATAR
CLIENT_IGNORE_AVATAR
AVATAR_MAX_WIDTH
AVATAR_MAX_HEIGHT
CLIENT_TALK_REQUEST_TIME
CLIENT_TALK_REQUEST_MSG
CLIENT_VOLUME_MODIFIER
CLIENT_CHANNEL_GROUP_NAME
CLIENT_CHANNEL_GROUP_ICON
CLIENT_SERVER_GROUP_NAME
CLIENT_SERVER_GROUP_ICON
CLIENT_DATABASE_ID
CLIENT_SERVER_SHOW_MAX_GROUPS
PLUGIN_INFO_DATA
-->


<style type="text/css">
  table#info { 
    border-collapse: collapse;
border-spacing: 0px;
  }
  table#list {
    border-collapse: collapse;
    border-spacing: 0px;
    margin-bottom: 10px;
  }
  td {
    padding: 0px 4px 0px 1px;
  }
  td.label {
    font-weight: bold;
    white-space: nowrap;
  }
  td.space {
    padding-top: 6px;
  }
  td.list {
    padding: 0px 1px 0px 8px;
  }
  .blue {
    color: blue;
  }
  .red {
    color: red;
  }
</style>


<table id="info">
  <tr>
    <td class="label">Nickname:</td>
    <td>
      <img src="%%?CLIENT_COUNTRY_IMAGE%%" alt="" title="%%CLIENT_COUNTRY_TOOLTIP%%"/>&nbsp;&nbsp;
 <a href="client://%%CLIENT_ID%%/%%CLIENT_UNIQUE_ID%%~%%CLIENT_NAME_PERCENT_ENCODED%%" class="TextMessage_UserLink">%%CLIENT_NAME%%</a>&nbsp;
      <span class="blue" title="Custom Nickname">[%%?CLIENT_CUSTOM_NICK_NAME%%]</span>
    </td>
  </tr>
  <tr><td class="label">Description:</td><td>%%?CLIENT_DESCRIPTION%%</td></tr>
  <tr><td class="label">Volume Modifier:</td><td class="red">%%?CLIENT_VOLUME_MODIFIER%% dB</td></tr>
  <tr title="%%CLIENT_VERSION%%">
    <td class="label">Version:</td>
    <td>%%CLIENT_VERSION_SHORT%% %%CLIENT_VERSION_STATE%% on %%CLIENT_PLATFORM%%</td>
  </tr>
  <tr title="Created: %%CLIENT_CREATED%%, Connections: %%CLIENT_TOTALCONNECTIONS%%">
    <td class="label">Online since:</td>
    <td>%%CLIENT_CONNECTED_SINCE%%</td>
  </tr>
  
  <hr/>
<tr>
<td class="label">Client Unique ID</td>
<td>%%CLIENT_UNIQUE_ID%%</td>
</tr>
<tr>
<td class="label">Client Database ID</td>
<td>%%CLIENT_DATABASE_ID%%</td>
</tr>
<tr>
<td class="label">Created</td>
<td>%%CLIENT_CREATED%%</td>
</tr>
<tr>
<td class="label">Connections</td>
<td>%%CLIENT_TOTALCONNECTIONS%%</td>
</tr>
<hr/>


</table>


<table id="list">
  <tr><td class="space label"><img src="iconpath:PERMISSIONS_SERVER_GROUPS?size=16x16" height="12" width="12" alt=""> Server Groups:</td></tr>
  <tr><td class="list">
    <div>%%CLIENT_SERVER_GROUP_ICON%% %%CLIENT_SERVER_GROUP_NAME%%</div>
  </td></tr>
  <tr><td class="space label"><img src="iconpath:PERMISSIONS_CHANNEL_GROUPS?size=16x16" height="12" width="12" alt=""> Channel Group:</td></tr>
  <tr><td class="list">
    <div>%%CLIENT_CHANNEL_GROUP_ICON%% %%CLIENT_CHANNEL_GROUP_NAME%%</div>
  </td></tr>
  <tr><td class="red"><br />*** Client requested Talk Power at <b>%%?CLIENT_TALK_REQUEST_TIME%%</b>.</td></tr>
  <tr><td class="red">&nbsp;&nbsp;&nbsp;&nbsp;(%%?CLIENT_TALK_REQUEST_MSG%%)</td></tr>
</table>


<table style="padding-top: 6px;">%%?PLUGIN_INFO_DATA%%</table>

I zapisujemy.

 
 
 
Problem z zapisaniem pliku?
Jeśli podczas próby zapisania pojawi się jakiś błąd trzeba będzie nadać sobie uprawnienia do zapisywania w tym pliku. aby to zrobić klikamy na niego prawym przyciskiem myszy i wybieramy kolejno:
`Właściwości` > `Zabezpieczenia` > `Edytuj` 
Klikamy: `Użytkownicy` i zaznaczamy `Modyfikacja`, a następnie klikamy `Zastosuj`.
Po zapisaniu warto tę czynność z nadawaniem uprawnień odwrócić, chociaż nie jest to obowiązkowe.
 
 
 
 
Wyświetlanie: CHANNEL_ID
Dodatkowo opisze jeszcze tutaj jak wyciągnąć CHANNEL_ID.
Wchodzimy do znanego już katalogu z templatami i edytujemy plik channelinfo.tpl
Odnajdujemy:

<tr><td class="label">Voice Data Encryption:</td><td>%%CHANNEL_VOICE_DATA_ENCRYPTED%%</td></tr>

Pod tym dodajemy:

<tr><td class="label">Channel ID:</td><td>%%CHANNEL_ID%%</td></tr>

I zapisujemy.W przypadku problemu z zapisem patrz punkt `Problem z zapisaniem pliku?`.
 
 
Cały plik channelinfo.tpl już po modyfikacjach wyglądać powinien tak:

<!--
TeamSpeak 3 Channel Infoframe Template (EN) 
Copyright 2009-2014 (c) TeamSpeak Systems GmbH
 
The replaceable variables are embedded in "%%" like %%CHANNEL_NAME%%. At this time you can also use 
%%?CHANNEL_NAME%% (note the questionmark), which is a tiny "if"- query. Use it, to remove the whole 
line, if a variable is empty or just "0".

Templates can be placed in "styles/" for default theme or in a sub folder named like an available 
theme (e.g. "styles/bluesky/"). Be aware that this template will not automaticly be translated when 
displayed.

Predefined values have to be inside the html comment-tag to make sure that they will be parsed
before the replacing begins! Remove the "#" to enable.

#%%IMAGES_MAX_WIDTH%%256
#%%IMAGES_MAX_HEIGHT%%256

Replacable variables for channels:
CHANNEL_NAME
CHANNEL_ID
CHANNEL_TOPIC
CHANNEL_MAXCLIENTS
CHANNEL_MAXFAMILYCLIENTS
CHANNEL_NEEDED_TALK_POWER
CHANNEL_ORDER
CHANNEL_CODEC
CHANNEL_CODEC_BITRATE
CHANNEL_FLAGS
CHANNEL_SUBSCRIPTION
CHANNEL_CLIENTS_COUNT
CHANNEL_VOICE_DATA_ENCRYPTED
CHANNEL_VOICE_DATA_ENCRYPTED_FLAG
CHANNEL_DESCRIPTION
CHANNEL_ICON
PLUGIN_INFO_DATA
IMAGES_MAX_WIDTH
TEMP_CHANNEL_DELETE_DELAY
TEMP_CHANNEL_TIME_TO_DELETE
-->

<style type="text/css">
  table#info {
    border-collapse: collapse;
    border-spacing: 0px;
  }
  table#list {
    border-collapse: collapse;
    border-spacing: 0px;
	margin-bottom: 10px;
  }
  td {
    padding: 0px 4px 0px 1px;
  }
  td.label {
    font-weight: bold;
	white-space: nowrap;
  }
  td.space {
    padding-top: 10px;
  }
  td.list {
    padding: 4px 1px 0px 8px;
  }
  .blue {
    color: blue;
  }
  .red {
    color: red;
  }
</style>

<table id="info">
  <tr title="Channel Order: %%CHANNEL_ORDER%%">
    <td class="label">Name:</td>
    <td><a class="TextMessage_ChannelLink" href="channelid://%%CHANNEL_ID%%">%%CHANNEL_NAME%%</a></td>
  </tr>
  <tr><td class="label">Topic:</td><td>%%?CHANNEL_TOPIC%%</td></tr>
  <tr>
    <td class="label">Codec:</td>
    <td>%%CHANNEL_CODEC%%</td>
  </tr>
  <tr>
    <td class="label">Codec Quality:</td>
    <td>%%CHANNEL_CODEC_QUALITY%% (estimated bitrate: %%CHANNEL_CODEC_BITRATE%%/s)</td>
  </tr>
  <tr><td class="label">Type:</td><td class="blue">%%?CHANNEL_FLAGS%%</td></tr>
  <tr><td class="label">Current Clients:</td><td>%%?CHANNEL_CLIENTS_COUNT%% / %%CHANNEL_FLAG_MAXCLIENTS%%</td></tr>
  <tr><td class="label">Needed Talk Power:</td><td class="red"><img src="iconpath:MODERATED?size=16x16" height="12" width="12" alt="" title="Request Talk Power to be able to talk in this Channel." />&nbsp;&nbsp;%%?CHANNEL_NEEDED_TALK_POWER%%</td></tr>
  <tr>
    <td class="label">Subscription Status:</td>
    <td>%%CHANNEL_SUBSCRIPTION%%</td>
  </tr>
  <tr><td class="label">Voice Data Encryption:</td><td>%%CHANNEL_VOICE_DATA_ENCRYPTED%%</td></tr>
  <tr><td class="label">Channel ID:</td><td>%%CHANNEL_ID%%</td></tr>
  %%?PLUGIN_INFO_DATA%%
</table>

<p style="margin-top: 4px; color:darkRed;">Channel will be deleted in %%?TEMP_CHANNEL_TIME_TO_DELETE%%.</p>

<table id="list" width=100%>
  <tr><td class="space label"><img src="iconpath:CHANGE_NICKNAME?size=16x16" height="12" width="12" alt=""> Description:</td></tr><tr><td class="list">%%?CHANNEL_DESCRIPTION%%</td></tr>
</table>
 


 
 
 
Efekt końcowy
To tyle efekt końcowy jaki ujrzycie w swoim kliencie TeamSpeak to:
 
gwt_1373131764__unique_id_database_id_i_
 
Teraz już będziemy mieli możliwość sprawdzenia Unique ID, Database ID i Connections dowolnego użytkownika na każdym serwerze głosowym TeamSpeak3 ! ; )

Styl developerski dla TeamSpeak3.exe

  • Like 3

Share this post


Link to post
Share on other sites

Dark doceniam Twój trud oraz wysiłek włożony w tą prace, Na pewno się to przyda aż sam to sprawdzę.

 

Oby to było tak proste jak to opisałeś. :) 

Share this post


Link to post
Share on other sites

U mnie działa świetnie i znacznie ułatwia pracę z serwerem (np dawanie registerek dopiero dla stałych bywalców). Może jeszcze jakieś dodatkowe informacje przydałoby się wyciągnąć?

Share this post


Link to post
Share on other sites

Dodam jeszcze, że ostatnio potrzebowałem wyciągnąć CHANNEL_ID, gdyż jest dość często potrzebne do ustawień niektórych botów na TeamSpeak3. Jak to zrobić dodane jest w poradniku.

  • Like 2

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Prosimy o akceptacje Regulaminu Forum Guidelines