Jak zrobić chat?

0

Hej, chcialbym do mojej strony dodac chat, cos w stylu messengera albo tego co jest na fiverr. Czyli w momencie w ktorym ktos do mnie napisal, powinienem to od razu widziec na ikonce koperty (np. poprzez czerwona kropke) i jak ja klikne to powinien sie pojawic widok calego czatu, tam wszyscy uzytkownicy z ktorymi prowadze konwersacje, w tym te nieodczytane. Jak sie dodaje taki czat i jakie to sa koszty? Zalozmy ze mam strone z zarejestrowanymi 10k uzytkownikow i w jednej chwili 2000 z nich jest zalogowana i byc moze bedzie chciala uzyc czatu. Czy to sa drogie rzeczy?

0

Bez kozery powiem pincet. Ale koszt czego? Zaczynasz od websocetow a potem trochę baz danych i gotowe.

2

Tak, to są drogie rzeczy, bo to nie tylko koszt wytworzenia ale utrzymania ale tez infrastruktury, zwłaszcza jak to ma byc skalowalne. Lepiej poszukaj gotowej platformy tak jak to robi większość firm. Ja używalem tawk.to - mają darmowy plan w sam raz na start a potem też jakoś drogo to nie wychodzi przy niewielkim ruchu.

W rzeczywistości mało kto decyduje się na pisanie takich rzeczy od zera.

2

Najłatwiejszym rozwiązaniem jest GG Czat. Wklejasz wygenerowany kod na stronę, odwiedzający klika przycisk i otwiera mu się czat (w obrębie Twojej strony), a Ty możesz z nim rozmawiać z poziomu swojego konta na GG. Nie potrzebujesz dodatkowego oprogramowania po stronie serwera, nie musisz w ogóle nic programować.

0

Zacznij od serwera. Bo będzie potrzebował go odpytywać regularnie bez opóźnień. Jak odpytywałem gmaila to dosyć szybko mnie rozłączało.

1

Spróbuj tego - https://sendbird.com/ platforma do ogarniania czatów. Przez API możesz sobie dowolnie ogarniać

  • czaty 1:1
  • grupowe
  • broadcasty
  • zarzadzanie metadanymi czatów (aby np utworzyć sobie automatyczne przypisywanie ludzi do kanałów).

Opcji jest sporo, jest darmowy plan. Polecam.

3

Tu pewnie znajdziesz jakieś open sourcowe chaty:
https://github.com/awesome-selfhosted/awesome-selfhosted?search=1

1
Kokos12345 napisał(a):

Zalozmy ze mam strone z zarejestrowanymi 10k uzytkownikow i w jednej chwili 2000 z nich jest zalogowana i byc moze bedzie chciala uzyc czatu. Czy to sa drogie rzeczy?

Na tyle to wystarczy sqlite z historią komunikacji w czasie. Resztę ogarniesz tym.

0

To sie da zrobic jedynie w websockecie czy Server Sent Events tez sie nada? Tylko wciaz nie wiem jakie to sa koszty orientacyjnie. Nie zakladam zeby czat byl jakos bardzo monco wykorzystywany na mojej stronie, ma to byc dodatek, takze uzytkownkow moze byc duzo ale niewielu z nich bedzie na raz korzystac z czatu

0

Ale koszty czego pytasz infrastruktury, pracy przy zbudowaniu? Co znaczy mocno wykorzystywany? Dla jednego to jest 10 użytkowników dziennie. Dla innego to jest 10tys. Ale.mysle że spoko da radę VPS za 10 euro miesiąc

0
S4t napisał(a):

Ale koszty czego pytasz infrastruktury, pracy przy zbudowaniu? Co znaczy mocno wykorzystywany? Dla jednego to jest 10 użytkowników dziennie. Dla innego to jest 10tys. Ale.mysle że spoko da radę vs za 10 euro miesiąc

Mam na mysli infrastrukture. Co to vs? 10 euro/msc bralbym z pocalowaniem raczki xd

0

Znalazlem jeszcze cos takiego: https://aws.amazon.com/api-gateway/pricing/#WebSocket_APIs

Dobrze rozumiem ze koszt chatu bedzie uzalezniony od calkowitej liczby godzin przez ktora uzytkownicy beda zalogowani miesiecznie na stronie oraz ilosci (oraz rozmiaru) wyslanych wiadomosci? Bo zakladajac ze uzytkownikow bedzie 10k ale beda zalogowani powiedzmy 2h dziennie i raczej sporadycznie wymieniali sie wiadomosciami to nie wyglada tak strasznie.

0

Jeśli nie chcesz pisać to to są gotowe rozwiązania:
od wersji darmowych: https://www.google.com/search?q=free+chat+on+website
po komercyjne np.: https://www.onwebchat.com/chat-pricing.php (całe 5€ / mies. ) albo : https://www.livechat.com/

Jeśli chcesz pisać samemu to też nie jest to wybitnie trudne zadanie.
Możesz wykorzystać WebSockets albo mniej elegancko odpytywać API. Tworzysz bazę danych, w której trzymasz na każda sesję każdy zainicjowany przez użytkownika strony "chat". Od Ciebie zależy czy chcesz mieć historię dla użytkowników zalogowanych czy przy każdym wyłączeniu przeglądarki rozmowa zaczyna się od "0". Identyfikator rozmowy możesz trzyma
ć w localStorage albo w cookie. Możliwości jest sporo.
Tak czy siak żeby ogarnąć okienka do rozmowy oraz prosty panel do obsługi tych rozmów przez "callcenter" jedno lub wieloosobowe nie potrzeba więcej niż 2 góra 3 dni roboczych aby to wszystko zadziałało i było estetyczne - zakładając, że sam już znasz wszystkie założenia i wiesz dokładnie jak to ma działać. VPS za 20zł brutto miesięcznie z postawioną bazą MySQL i jakimś API spokojnie obsłuży to obsłuży. Zakładając nawet, że z tych 2000 zalogowanych 20% jednocześnie gada na czacie - pytanie kto przy tej ilości ich obsługuje po stronie biura?

Z drugiej strony zastanów się czy za 5€/mies. jest sens pisać kolejnego już 10000 czata?
Szczególnie jeśli jak piszesz- masz jednocześnie 2000 zalogowanych użytkowników na stronie to ta strona raczej jakieś profity przynosi więc oszczędność kilku euro wydaje się być dziwna.

0
4w0rX4t4X napisał(a):

Jeśli nie chcesz pisać to to są gotowe rozwiązania:
od wersji darmowych: https://www.google.com/search?q=free+chat+on+website
po komercyjne np.: https://www.onwebchat.com/chat-pricing.php (całe 5€ / mies. ) albo : https://www.livechat.com/

Jeśli chcesz pisać samemu to też nie jest to wybitnie trudne zadanie.
Możesz wykorzystać WebSockets albo mniej elegancko odpytywać API. Tworzysz bazę danych, w której trzymasz na każda sesję każdy zainicjowany przez użytkownika strony "chat". Od Ciebie zależy czy chcesz mieć historię dla użytkowników zalogowanych czy przy każdym wyłączeniu przeglądarki rozmowa zaczyna się od "0". Identyfikator rozmowy możesz trzyma
ć w localStorage albo w cookie. Możliwości jest sporo.
Tak czy siak żeby ogarnąć okienka do rozmowy oraz prosty panel do obsługi tych rozmów przez "callcenter" jedno lub wieloosobowe nie potrzeba więcej niż 2 góra 3 dni roboczych aby to wszystko zadziałało i było estetyczne - zakładając, że sam już znasz wszystkie założenia i wiesz dokładnie jak to ma działać. VPS za 20zł brutto miesięcznie z postawioną bazą MySQL i jakimś API spokojnie obsłuży to obsłuży. Zakładając nawet, że z tych 2000 zalogowanych 20% jednocześnie gada na czacie - pytanie kto przy tej ilości ich obsługuje po stronie biura?

Z drugiej strony zastanów się czy za 5€/mies. jest sens pisać kolejnego już 10000 czata?
Szczególnie jeśli jak piszesz- masz jednocześnie 2000 zalogowanych użytkowników na stronie to ta strona raczej jakieś profity przynosi więc oszczędność kilku euro wydaje się być dziwna.

Dzieki za szczegolowy opis. Zalaczam zdjecie jak powinien wygladac efekt koncowy czatu (fiverr)
Chat.png

Czyli jest to chat pomiedzy uzytkownikami z zapisana cala historia konwersacji wiec mozna scrollowac w gore w nieskonczonosc i wczytwac starsze wiadomosci. Dodatkowo chcialbym zeby wiadomosci mogly byc bardziej skomplikowane niz zwykly text (wliczajac ikonki, przesylanie zdjecia itp) - do tego mam osobny edytor. Czyli zakladam ze wysylaloby sie kod html ktory pozniej moznaby bylo ladnie wyswietlic w okienku chatu. Czy te gotowe rozwiazania jak onwebchat sie tutaj sprawdza (rowniez pod wzgledem stylowania)?

0
Kokos12345 napisał(a):

Czy te gotowe rozwiazania jak onwebchat sie tutaj sprawdza (rowniez pod wzgledem stylowania)?

Większość rozwiązać SaaS będzie miało dużo popularnych funkcji (grupy, kanały, formatowanie, obrazki, pluginy, emotki, giphy, etc.) i zrobią to "tak jak większość dobrych programistów by to zrobiła". Można to też zintegrować bardzo szybko i tanio. Ale ma też wady: mianowicie, to jest duże poleganie na tych serwisach, oraz nie dodasz tam niczego czego autor takiego rozwiązania nie przewidział (chyba że ma pluginy, to możesz kombinować, tylko wtedy też nie dodasz tam niczego, czego twórca systemu pluginów nie przewidział).

1 użytkowników online, w tym zalogowanych: 0, gości: 1