Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Inne] TeamSpeak 3 C++ API


ExusX

Rekomendowane odpowiedzi

Opublikowano

Witam, jako że mój bot potrzebuje wygodnego API dla użytkowników, zmuszony jestem do zrobienia API pod C++ dla serwerów TeamSpeak3. Jako że aktualnie praktycznie nie ma żadnej dobrej dokumentacji ani przykładów (pojawią się w najbliższych dniach, godzinach) zapraszam do pytań odnośnie obsługi. Jeżeli ktoś przejrzy pliki nagłówkowe (.hpp) na pewno ogarnie co i jak. Aktualnie API pozwala na jakąś w miarę podstawową manipulacje na użytkownikach, kanałach i serwerze. Na pewno przejdzie jeszcze nie jedną refaktoryzacje więc proszę nie hejtujcie zbyt mocno. :D W tym momencie nie ma żadnej obsługi transferu plików, obsługa eventów nie ma jeszcze pełnej implementacji, cały kod jest pod do przygotowany, wystarczy dopisać menadżera eventów.

 

Aktualne cechy:

  • Przyjazny obiektowy interfejs (no może jeszcze nie do końca ale na pewno będzie coraz lepszy)
  • Dynamicznie uruchamiany receiver, jeżeli zarejestrujemy jakiś event (WIP) zostanie uruchomiony receiver
  • Przystosowane do pracy w wielowątkowych programach
  • Do zbudowania w 32 i 64 bitowych systemach, odpowiednia opcja CMake
  • Możliwość pracy w systemie Windows (WIP)

Jak przetestować?

 

Pobieramy repozytorium na swój komputer/serwer, tworzymy katalog build, przechodzimy do katalogu, wykonujemy polecenie "cmake .. && make", możemy uruchomić plik TeamSpeak-c-api.

 

Plik wykonywalny budowany jest na podstawie src/main.cpp. Jest tam jakiś mini przykład łączenia z serwerem (spokojnie hasło do mojego serwera jest inne :) ).

 

 

Zapraszam do komentowania, proponowania i wprowadzania własnych poprawek.

 

Link do API:

https://github.com/Exus1/TeamSpeak3-C-Query-API

Opublikowano

Jak najbardziej na plus, dziś sobie potestujemy :)

Od razu mówię że sporo jeszcze do poprawy, nie ma jako takiego standardu sprawdzania obiektów i edycji, ale ogólny zarys jest i już można coś z tym zrobić. :D

Opublikowano

Bardzo ciekawe, fajnie gdybyś nawet API rozwijał publicznie coś na styl ts3.adminclass w PHP - na pewno dużej ilości osób się przyda też z uwagi na to że nie ma podobnego produktu aktualnie :)

Desktop - Procesor: Intel i7-7700k 4.20Ghz  | Karta Graficzna: EVGA Geforce GTX 1070 | RAM: 16GB 

Laptop - Procesor: Intel i5-8250U 2.5Ghz | Karta Graficzna: Radeon 530 | RAM: 8GB

 

 

 

 

 

 

Opublikowano

Ciekawy projekt. Kiedyś podejmowałem się próby napisania bota w C++, ale miałem problem z stworzeniem API do obsługi query.

Chętnie sobie przetestuję i życzę powodzenia w rozwijaniu :)


Pozdrawiam, ArrMeeR

Opublikowano

Szanuje za napisanie tego w cpp. Mam pewną propozycje - proponuje zrobić jakąś formę odbioru "prymitywnych" zapytań i ich wysyłania, czyli możemy pobierać poszczególnego fielda z danego zapytania, oraz odpowiednie fieldy wysyłać. To byłoby stanowczo lepsze, do momentu skończenia własnego API.

Chyba nie rozumiem :D

Bardzo ciekawe, fajnie gdybyś nawet API rozwijał publicznie coś na styl ts3.adminclass w PHP - na pewno dużej ilości osób się przyda też z uwagi na to że nie ma podobnego produktu aktualnie :)

Taki jest plan. ;) 

Jeśli ktoś chciałby zrobić jakiś moduł pod eBot'a może zapoznać się z tym API chociaż na pewno lekko się zmieni do czasu implementacji w bocie. Możliwe że eBot niedługo też pojawi się na github'ie.

Opublikowano

 

 

Szanuje za napisanie tego w cpp. Mam pewną propozycje - proponuje zrobić jakąś formę odbioru "prymitywnych" zapytań i ich wysyłania, czyli możemy pobierać poszczególnego fielda z danego zapytania, oraz odpowiednie fieldy wysyłać. To byłoby stanowczo lepsze, do momentu skończenia własnego API.

Chyba nie rozumiem :D

Bardzo ciekawe, fajnie gdybyś nawet API rozwijał publicznie coś na styl ts3.adminclass w PHP - na pewno dużej ilości osób się przyda też z uwagi na to że nie ma podobnego produktu aktualnie :)

Taki jest plan. ;)

 

Jeśli ktoś chciałby zrobić jakiś moduł pod eBot'a może zapoznać się z tym API chociaż na pewno lekko się zmieni do czasu implementacji w bocie. Możliwe że eBot niedługo też pojawi się na github'ie.

Chodzi o to, ze jak API odbiera zapytania od serwera i je przetwarza na obiekty czy na inne rzeczy, to pasuje dodac mozliwosc nasluchiwania tych zapytan, dzieki temu nie bedziemy musieli korzystac z tych obiektow Channel, Client etc. Przyklad czegos takiego masz tutaj (C#): https://github.com/Thefilippop1PL/iQuery

 

Jest taka możliwość "executeCommand" w klasie Server. Ale nie polecam używać ponieważ w tych wszystkich obiektach itd. jest ziarno optymalizacji. Bakuje kilku rzeczy ale bez tego na razie też może bezproblemowo działać a planowana optymalizacja nie będzie wypływałą na interfejs, więc "executeCommand()" tylko jeżeli naprawdę trzeba albo coś nie działa jak trzeba.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...