:) W takim razie Ty chyba krytyki nie słyszałeś :) No ale już piszę:
- Nie wiemy totalnie jak ma działać Twoja aplikacja
- Z kodu widzę że w pliku data.php masz zbiór tekstów - i dopisujesz do niego to co dostajesz z php:input (mówię o pliku czat.php)
- Następnie tworzysz obiekt MessageBuildera - nie wiemy jak on wygląda, jak działa itp itd, więc dla nas to po raz kolejny wróżenie z fusów
- Robisz switch na ciągu znaków który z opisu w czat.php może się zmieniać - więc jest to konstrukcja bez sensu, tym bardziej jedyną instrukcją w switchu jest default - czyli: nie wiesz w ogóle do czego służy switch - ja Ci tego tłumaczyć nie będę, bo od tego jest manual phpa i miliony stron w necie
- Nadal nie wiemy jak działa MessageBuilder, a co za tym idzie jak działa metoda addText()
- Wielokrotnie odczytujesz plik data.php - co jest o tyle problematyczne, bo ten plik może zmienić się w locie
Zalecenia:
- Zawartość pliku odczytuj tylko raz (przypisz zawartość do zmiennej i operuj na niej)
- Nie rób bezsensownych switch'y
- Jak odczytasz zawartość pliku - to przekonwertuj to na postać np tablicy, gdzie każdy wiersz w pliku to kolejny indeks w tablicy czyli
$responses = [
0 => "No siema",
1 => "Dzień dobry",
....
];
- Jak już załadujesz takie odpowiedzi - to użyj funkcji rand - aby pobrać losowy indeks.
- Twoje podejście nie uwzględnia żadnych kontekstów tego co ktoś piszę, więc miej na uwadze że Twój bot na tekst
Dzień dobry
może odpisać Do widzenia
(o ile będziesz miał takie teksty w tym pliku)
- Zrób chociaż jakąś walidację tego co użytkownik może dopisać do tego pliku, bo jeszcze ktoś Ci coś zepsuje
Nie wiemy jak wygląda plik data.php, nie wiemy jak wygląda klasa MessageBuildera, nie wiemy jak składujesz dane z tekstami, nie wiem jakie dane dostajesz na wejściu, tak więc w Twoim kodzie nie brakuje tylko rand() - a moim zdaniem - o wiele więcej. Dodatkowo jeśli sam nie rozumiesz kodu który napisałeś, a na to mi wygląda, nam tym bardziej będzie kłopotliwe napisanie Ci dobrej porady, która rozwiąże Twój problem. Wrzuć tutaj poprawiony, kompletny kod, zadaj konkretne pytanie i wtedy jeśli będzie to miało sens - na pewno dostaniesz porządną odpowiedź.
No i jeszcze raz polecam przejść kursy, tutki, czytać manuala do phpa.