Название скрипта: SmileLimiter
Версия API: API 2
Автор: Nickolya
Описание скрипта: Банит за флуд смайлами
чот не пойму в чом проблема ?
Синтаксис D:\Program Files\ptokax\scripts\SmilesLimiter.lua:128: attempt to index local 'sHandle' (a nil value)
помогите кто может
вроде разобрался но выдаёт новую ошибку
Синтаксис D:\Program Files\ptokax\scripts\SmilesLimiter.lua:129: bad argument #1 to 'pairs' (table expected, got nil)
как составить таблицу смайлов ??? можете рассказать
По-идее такой ошибки быть не должно или же перед ней должна быть другая, все пути в скрипте, на сколько я вижу, правильные!
А... извиняюсь, сейчас все будет, скрипт выложен без его папки!
Папку в 1 пост положил, ее класть в папку scripts, сейчас ошибок быть не должно. Смайлы все в файле SmilesHere.txt
Вот кстати удаленное обсуждение: http://mydc.ru/topic2708.html
ошибки больше нет
но скрипт предупреждения не выдаёт проверил базу смайлов всё в порядке но предуприждений нет
добавил в базу смайлов все существующие толку нету)) вот сам скрипт с папкой хз чо не так
Сори всё зделал нужно было поднять скрипт в птохе с каким то конфликтует
появилась идея можно ли создать лимит ??? в час или день ?
например в сутки можно использовать не более 30 смайлов
такой вопросик:
в функции CountSmiles идет подсчет количества смайлов в сообщении. При этом сравнивается с довольно нехилой таблицей смайлов. Я думаю, что можно было бы оптимизировать данную функцию, если счетчик смайлов останавливался при iSmilesCount ==iBadSmilesCount, т.к. уже нет смысла проверять оставшуюся часть сообщения.
Я прав?
to steppnov
по ip состовлять
Охота вам запрещать флуд смайлами - поставьте ограничение на количество смайлов в одном сообщении (например, 3) и на количество смайлов в чате на 50 сообщений от всех (к примеру, 100 смайлов на 50 сообщений)..
Жаль что нету подобных скриптов совместимых с Linux на Win версии птоки работает изумительно, но под линь хотелось бы...
Вообще должно всё работать, скрипт даже не использует библиотек, так что если будут ошибки - выставляй их на обозрение, исправим!
скрипт не работает под debian linux
возможные проблемы связаны с относительностью путей, и luasocket так как под вайном и виндовс работает без проблем.
ниже привожу диалог 2х людей которые занимались этим вопросом (заточка под линь)
zorx007, еще раз: луасокет не нужен этому скрипту, с путями в нем всё хорошо. Если "не работает" должны быть или ошибки или другие причины. Другими причинами может быть: блокировка скриптом выше, отсутствие папки скрипта, еще могу предположить что надо перекодировать файл под никсы (убрать \r в переносах строки), на всякий случай прилагаю преобразованный файл...
И либо вы сообщаете ошибки или рассказываете КАК не работает, КАК вы пробовали это исправить и что еще делали, либо ответа и не ждите.
Можете пояснить? У меня подозрение что у вас просто какой-то кривой линукс))) Файлы кодированы в ANSI все (только что это проверил)... Почему-то подобной подгонки на других *никс-системах не требовалось...
Разница двух файлов только лишь в символах перевода строки. 0D 0A против 0A. Т. е. отсутствует \r.
Скрипт срабатывает на некоторые магнет ссылки...... интересно нельзя ли это какнибудь пофиксить?
мы ограничение в 2 смайлика поставили в одном сообщении на хабе.. (на 3 уже банит)
zorx007, могу предложить попробовать вставить после
баг выявился у нас на хабе...
настройки скрипта: 2 смайлика разрешено на 3 банит сразу без предупреждений на 10 минут
":хе-хе: не понимаю о чем ты :Хмм:" - при использовании такого вот словосочетания (без кавычек) забанило....
где ":хе-хе:" и ":Хмм:" это смайлики в кавычках
я подозреваю что
баг видимо состоит в том что ":не понимаю о чем ты:" он принял за смайлик
P.S при написании данного багрепорта вспомнилось детское стихотворение
А И Б сидели на трубе
А упала
Б пропала
кто остался на трубе?
zorx007, смайлы все прописаны в файле, они берутся только оттуда и это вроде очевидно. Под раздачу попало слово :Хмм: в нем содержится 2 смайла: сам :Хмм: и :Х оба смайла прописаны в файле и т.к. 2й смайл архитектурно другой, но входит в состав первого, то произошел такой глюк (оторвать руки тем, кто делал эти буквенные обозначения смайлов). Решение данной проблемы - удалять найденные смайлы в сообщении, вот что для этого делаем:
на подобные сцылки тоже срабатывает антисмайлофлуд
zorx007, ну так... :/ %D за смайлы принимает, а %D не одна в ссылке
С ссылками делаем так же, как и с магнетами, т.е. дописываем после
Ещё один баг найден: при использовании одного смайлика