Bot kci - ciekawe przypadki zachowania się - Wersja do druku +- Polfan.pl - forum dyskusyjne (https://forum.polfan.pl) +-- Dział: Polfan (https://forum.polfan.pl/forumdisplay.php?fid=5) +--- Dział: Konsole, Boty i Narzędzia (https://forum.polfan.pl/forumdisplay.php?fid=14) +--- Wątek: Bot kci - ciekawe przypadki zachowania się (/showthread.php?tid=558) |
Bot kci - ciekawe przypadki zachowania się - MajorMajorMajorMajor - 22-02-2017 Zajawka tematu, który pojawi się wkrótce. Akurat nie mam czasu, by napisać coś więcej. Ale będzie, bo materiał badawczy mam. Sprawa jest taka: postanowiłem w scrypcie bota dać jego reakcję na słowa-klucze. Reakcja polega na tym, że bot userowi przypisuje kolor z palety, którą ma. W scrypcie jest napisane, że takich reakcji może być maksymalnie 32. Czyli 32 różne kolory nicka nadawane losowo. W zapędzie dałem nawet 34 reakcje. Teraz wybór sposobu: czy zwykła reakcja na słowa czy też wyrażenie regularne? Reakcja na wyrażenie regularne jest dokładnie taka, jakie ono jest. Gdy wpiszę pojedyncze słowa, to owszem, reakcja jest na pojedyncze słowo, ale już na słowo użyte w zdaniu reakcji nie ma. Ale można mieszać reakcje na słowa z reakcjami na emoty. To działa, ale w ograniczonym zakresie. SetTalkTable $name regexp.kolorlosowy $word ^(<luzak>|<zla>|tam|tu|nie|tak|wiem|on|ty|ja|<len>|<lol11>|<zaczepka>|<lwrr>|<shy>|<ha>|<smieszek>)$ Zmieniłem zatem wyrażenie regularne na zwykłą reakcje na słowa. Umieszczone w "" i oddzielone spacją. Słowa i kody emot. Zadziałało. Ale zauważyłem, że bot stał się jakby ociężały na polecenia. No nic, działało. Dopiero w nocy spojrzałem w konsolę bota i się mocno zdziwiłem tym, co w niej zobaczyłem. Przyczyna ociężałości bota stała się jasna. Bot seriami zaczął wypisywać komunikat: 15:33:13 Mardziandzia: miłych dyskusji i s p a d a m papa 15:33:20 ** odchodzi Mardziandzia 15:33:21 ~bidulenka: Mardziandzia paaa 15:34:29 czteryem: !rehash 15:34:29 polfan: *** Konfiguracja bota została wczytana ponownie. 15:34:42 Użytkownika o takim nicku nie ma w pokoju 15:34:43 Użytkownika o takim nicku nie ma w pokoju 15:34:44 Użytkownika o takim nicku nie ma w pokoju Zacząłem się zastanawiać, dlaczego to wypisuje. Wcześniej zdarzało mu się to sporadycznie. Jakaś przyczyna tego być musi. I to w tym kawałku kodu, który napisałem teraz. Na początku zredukowałem liczbę kolorów do 32. Nie pomogło. Potem znalazłem podwójny znak ". Usunięcie go nie pomogło. Nadal seriami wypisywał komunikat Użytkownika o takim nicku nie ma w pokoju. Zacząłem kombinować. Zmieniłem na powrót zwykłe wywołanie na wyrażenie regularne. Pomogło. Na krótko. Więc wróciłem do zwykłej reakcji na słowa. Powróciłem do 34 kolorów, tylko z warunku wyrzuciłem słowa, pozostały tylko kody emotek. SetTalkTable $name user.kolorlosowy $word "<luzak>" "<zla>" "<len>" "<lol11>" "<zaczepka>" "<lwrr>" "<shy>" "<ha>" "<smieszek>" I działa. Nie sypie komunikatami. Poeksperymentuję jeszcze z samymi słowami. Zachęcam do podobnego eksperymentowania i dzielenia się swoimi spostrzeżeniami. Odp: Bot kci - ciekawe przypadki zachowania się - stefan - 22-02-2017 Gdybyś wrzucił całe reakcje, byłoby prościej dojść, czy ten błąd pojawia się tylko u Ciebie Odp: Bot kci - ciekawe przypadki zachowania się - MajorMajorMajorMajor - 22-02-2017 A proszę bardzo. To całość. SetTalkTable $name user.kolorlosowy $word "<luzak>" "<zla>" "<len>" "<lol11>" "<zaczepka>" "<lwrr>" "<shy>" "<ha>" "<smieszek>" ClearTalkTable AddTalk $text /guest %s #660033 AddTalk $text /guest %s #CC0066 AddTalk $text /guest %s #9900CC AddTalk $text /guest %s #9966CC AddTalk $text /guest %s #660099 AddTalk $text /guest %s #330033 AddTalk $text /guest %s #6666FF AddTalk $text /guest %s #0066FF AddTalk $text /guest %s #00FFFF AddTalk $text /guest %s #669999 AddTalk $text /guest %s #003333 AddTalk $text /guest %s #006633 AddTalk $text /guest %s #66FF66 AddTalk $text /guest %s #00FF33 AddTalk $text /guest %s #33FF00 AddTalk $text /guest %s #999900 AddTalk $text /guest %s #999966 AddTalk $text /guest %s #FFCC33 AddTalk $text /guest %s #FF9900 AddTalk $text /guest %s #FF9966 AddTalk $text /guest %s #663300 AddTalk $text /guest %s #330000 AddTalk $text /guest %s #663333 AddTalk $text /guest %s #CC6666 AddTalk $text /guest %s #FF3333 AddTalk $text /guest %s #B5A642 AddTalk $text /guest %s #A67D3D AddTalk $text /guest %s #2F4F2F AddTalk $text /guest %s #4A766E AddTalk $text /guest %s #9932CD AddTalk $text /guest %s #6B238E AddTalk $text /guest %s #2F4F4F AddTalk $text /guest %s #DBDB70 AddTalk $text /guest %s #238E23 Powinno działać. Odp: Bot kci - ciekawe przypadki zachowania się - Shado - 23-02-2017 Proponuję w pierwotnej wersji skryptu usunąć na moment reakcje i dodać tylko jedną: Kod: AddTalk $text %s Odp: Bot kci - ciekawe przypadki zachowania się - MajorMajorMajorMajor - 23-02-2017 Proszę bardzo: Kod: [14:26:45] czteryem: <zla> |