Projekt ma na celu stworzenie bota na Twitch'a w celu nauki Scali, programowania aktorowego, systemów rozproszonych i wzorców CQRS, Event Sourcing
- Podstawowe komendy (np. !help, !uptime, !stats)
- Archiwizacja chatu, zapis watchtime'u
- System rekomendacji - polecane kanały na podstawie aktywności
- Analiza sentymentu na podstawie modeli językowych (BERT)
- $watchtime [channel] [broadcaster] - watchtime na kanale
- $topwatchtime [channel] - ranking kanałów z największym watchtimem
- $lastseen [channel] - gdzie i kiedy był ostatnio widziany kanał
- $lastmessage [channel] [broadcaster] - ostatnia wiadomość
- $uptime [channel] - ile trwa stream
- $viewers [channel] - ilu widzów ma kanał
- $top10pl - top 10 aktualnych polskich kanałów
- $recommended [channel] - top 5 polecanych kanałów
- $usersentiment [channel] - analiza sentymentu (sentiment analysis) użytkownika
- $channelsentiment [broadcaster] - analiza sentymentu (sentiment analysis) kanału
Przed rozpoczęciem upewnij się, że masz zainstalowane następujące narzędzia:
- Java JDK 18
- sbt 1.10.7
- Docker
Aby uruchomić projekt, wykonaj następujące kroki:
- Sklonuj repozytorium:
git clone https://github.com/skni-kod/StreamScout.git
- Skonfiguruj pliki
.env
i.sbtopts
, korzystając z przykładów w plikach.env.example
i.sbtopts.example
- Dodaj listę streamerów, na których bot będzie aktywny w pliku
src/main/resources/channels.json
(limit 50 kanałów / token) - Uruchom projekt i kontenery za pomocą skryptu
./run.sh
- Scala
- Akka
- Cassandra
- Kafka
- Docker