1.12.7 i starsze - Robocik 2.0.1
koziolek - 21-06-2008, 14:46
tomekxz napisał/a: | Siema. tak se dzisiaj zjechałem na sam początek sb i widze taki błąd
Kod: | Warning: Invalid argument supplied for foreach() in /home/jaco1992/public_html/shoutbox_view.php on line 242 |
mam zainstalowanego robocika modyfikacji koziołka i nic więcej z sb nie robiłem. | ooo...
w pliku shoutbox_view.php znajdź: Kod: | foreach ( $orig_word as $key => $val )
{
if ( strstr(strtolower($msg), $val) )
{
$robot_wulg_message = ( $userdata['user_wulg'] >= ($shoutbox_config['robocik_max_user_wulg'] - 1) ) ? $shoutbox_config['robocik_warning_text_warn'] : $shoutbox_config['robocik_warning_text_wulg'];
$robot_wulg_message = str_replace('{$name}', $userdata['username'], $robot_wulg_message);
$sql = "UPDATE " . USERS_TABLE . " SET user_wulg = ( `user_wulg` + 1 ) WHERE user_id = '$sb_user_id'";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not update user_wulg', '', __LINE__, __FILE__, $sql);
}
$sql = "INSERT INTO " . SHOUTBOX_TABLE . "
VALUES(NULL, '" . $shoutbox_config['robocik_id'] . "', '$robot_wulg_message', '" . (CR_TIME+2) . "')";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not insert robot message', '', __LINE__, __FILE__, $sql);
}
}
} | i zamień na: Kod: | if( is_array($orig_word) )
{
foreach ( $orig_word as $key => $val )
{
if ( strstr(strtolower($msg), $val) )
{
$robot_wulg_message = ( $userdata['user_wulg'] >= ($shoutbox_config['robocik_max_user_wulg'] - 1) ) ? $shoutbox_config['robocik_warning_text_warn'] : $shoutbox_config['robocik_warning_text_wulg'];
$robot_wulg_message = str_replace('{$name}', $userdata['username'], $robot_wulg_message);
$sql = "UPDATE " . USERS_TABLE . " SET user_wulg = ( `user_wulg` + 1 ) WHERE user_id = '$sb_user_id'";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not update user_wulg', '', __LINE__, __FILE__, $sql);
}
$sql = "INSERT INTO " . SHOUTBOX_TABLE . "
VALUES(NULL, '" . $shoutbox_config['robocik_id'] . "', '$robot_wulg_message', '" . (CR_TIME+2) . "')";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not insert robot message', '', __LINE__, __FILE__, $sql);
}
}
}
} |
tomekxz napisał/a: | Przydało by się też zabezpieczenie przed odpisywaniem na własne wiadomości robocika, ustawiłem sobie teksty na słowo "tak" i "nie", | w pliku shoutbox_view.php znajdź: Kod: | if ( strstr(strtolower($msg), strtolower($user_word)) ) | i zamień na: Kod: | if ( strstr(strtolower($msg), strtolower($user_word)) && $sb_user_id != $shoutbox_config['robocik_id'] ) |
RuseK napisał/a: | Potem może go nawet zainstaluję, przejrzę kod, zobaczę co spieprzy..., znaczy się, co dodałeś nowego |
Radek - 22-06-2008, 17:48
Fajnie że pamiętałeś o moim nicku w instrukcji ( ) ale usuń adres rawaxa, bo tej strony nie ma od minimum roku
Ok, w pliku shoutbox_view.php ten kod:
Kod: | if ( $row = $db->sql_fetchrow($result) )
{
do
{
$robocik_randtxt[$row['cat_id']][] = $row['rand_text'];
}
while ( $row = $db->sql_fetchrow($result) );
} |
zamień na:
Kod: |
while ( $row = $db->sql_fetchrow($result) )
{
$robocik_randtxt[$row['cat_id']][] = $row['rand_text'];
} |
Kolejny fragment:
Kod: |
if ( $row = $db->sql_fetchrow($result) )
{
do
{
$robocik_words[$row['user_word']] = $row['robot_word'];
}
while ( $row = $db->sql_fetchrow($result) );
} |
zastąp tym:
Kod: |
while ( $row = $db->sql_fetchrow($result) )
{
$robocik_words[$row['user_word']] = $row['robot_word'];
}
|
I dalej ten kod:
Kod: | if ( $row = $db->sql_fetchrow($result) )
{
do
{
$orig_word[] = str_replace('\*', '', $row['word']);
$word_list[$row['word']] = $row['replacement'];
}
while ( $row = $db->sql_fetchrow($result) );
} |
zamień na:
Kod: |
while ( $row = $db->sql_fetchrow($result) )
{
$word_list[$row['word']] = $row['replacement']; // I tak zapisywales tylko word_list, orig_word nie uzywales
}
|
I tak to chyba wszystko, te fragmenty wykonuja sie tylko, jezeli zapytania sie sa w /cache/ ale poprawek wprowadzic nie zaszkodzi
Pliku admin_robocik.php nie sprawdzałem jeszcze i raczej nie będę.
Przy okazji poprawiłbym też instalację - przed wykonaniem zapytań ( pierwsze uruchomienie pliku administracyjnego ) dodałbym okienko z polem na wpisanie nicku robota i przy instalacji zapytanie, ktore dodaje usera o wprowadzonym nicku do bazy
jaco1992 - 22-06-2008, 18:08
Dzięki działa
Jarek 11 - 24-06-2008, 23:02
Ja bym proponował dodać coś takiego np.
User pisze:
Robicik odpowiada: Kod: | papa ide sobie i czekam na przeprosiny |
I dopóki ten user nie napisze robocik przepraszam to robocik nie będzie reagował na jego komendy.
2.
Coś takiego pisze się:
Robocik pisze: Kod: | dziś są imieniny tej i tej osoby |
3.
Pisze się:
Robocik odpowiada Kod: | np. jest godzina 11:30 |
Seraphe - 25-06-2008, 09:57
Jarek 11 napisał/a: | a bym proponował dodać coś takiego np.
User pisze:
Kod:
Robocik spadaj stąd
Robicik odpowiada:
Kod:
papa ide sobie i czekam na przeprosiny
I dopóki ten user nie napisze robocik przepraszam to robocik nie będzie reagował na jego
komendy. |
A ja bym proponował aby umiał pocieszyć gdy dostaniesz jedynkę w szkole, lub gdy rzuci Cię dziewczyna!
A i żeby telepatycznie wykrywał jaki humor ma dany user.
kamilko - 28-06-2008, 11:43
Czy działa on w SB 3.0 Sheryego?
Jarek 11 - 03-07-2008, 13:33
Mam problem:
Kod: |
[Dzisiaj 14:32] Jarek24: elo
[Dzisiaj 14:32] Robocik: siemanko Jarek24 ;)
[Dzisiaj 14:32] Robocik: siemanko Jarek24 ;)
|
Czemu odpowiada 2 razy
koziolek - 03-07-2008, 16:03
hmmm... tylko na to "elo" tak działa? czy na jakieś inne teksty też?
może masz np. ustawione żeby odpowiadał na: "elo", "el" lub "lo" i dlatego jest 2x
Jarek 11 - 03-07-2008, 16:46
na wszystko odpowiada podwujnie
koziolek - 03-07-2008, 17:03
hmmm... dobrze wyedytowałeś pliki?
Jarek 11 - 03-07-2008, 17:08
pliki wrzuciłem te gotowe.
[ Dodano: 03-07-2008, 18:08 ]
Znalazłem proble dwa razy dodałem kod bo jeden plik ręcznie edytowałem.
Tavaro - 09-07-2008, 21:18
Mam zainstalowanego Robocika od kilku tygodni i muszę powiedzieć, że jestem zadowolony koziolek, jak zwykle dobrze wykonana robota.
Mam tylko jedną propozycję: czy dałoby się wprowadzić jakąś blokadę, by Robocik nie dodawał warnów administratorom? Albo przynajmniej głównemu adminowi (ID 2) - bo efektem mojej zabawy z cenzurą słów (sprawdzałem jak skuteczne jest zamienianie po fragmentach wyrazów) było to, że musiałem się odblokowywać przez PhpMyAdmina
chomik - 10-07-2008, 08:59
@koziolek
wielkie dzięki za moda
koziolek - 10-07-2008, 10:18
Tavaro, w pliku shoutbox_view.php znajdź: Kod: | if ( strstr(strtolower($msg), $val) ) | i zamień na: Kod: | if ( strstr(strtolower($msg), $val) && $userdata['user_level'] != ADMIN ) |
chomik, notioty nać pańńńńńń
Radek - 10-07-2008, 17:55
Aby Robocik był jeszcze lepszy, wymyśliłem system pluginów.
Teraz każdy będzie mógł sprawdzić, że jego Robot będzie wyświetlał czas / datę, mówił, kto ma dziś imieniny, wyświetlał wiadomości albo cytaty z basha (lub kretyna, jak kto woli ).
Pluginy są niczym nie ograniczone, więc każdy będzie mógł napisać swój własny plugin z własnymi fajnymi funkcjami
Pluginy instalujemy kopiujac jeden plik i kilkając 'uruchom' w pa.
Wersja rc już dziś! (ew. jutro)
|
|
|