quote.tcl

Решение вопросов при работе с TCL скриптами.

Модератор: Модераторы

quote.tcl

Сообщение Бриллиант » 15 ноя 2010 10:21

Скрипт quote.tcl 1.3 выводит цитаты с "" как то криво то заменяет их на "{}" то ставит "\" перед, а если добавить """ (три ковычки) то вообще перестаёт работать, такие же косяки и с другими символами.
Бриллиант
 
Сообщения: 7
Зарегистрирован: 15 ноя 2010 10:12
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Версия бота: Windrop 1.8

Re: quote.tcl

Сообщение tvrsh » 16 ноя 2010 01:03

Замени все
[lrange $res 4 end]
на
[join [lrange $res 4 end]]
и
[lrange $q 4 end]
на
[join [lrange $q 4 end]]

Таким образом текст цитаты мы превратим из списка в строку, что по идее никак не должно сказаться на секурности скрипта.
<@tvrsh> !addquote 1"11"""
<@Info> tvrsh, Цитата добавлена. (номер: 1)
<@tvrsh> !q
<@Info> [1/1] :: 1"11""" [added by tvrsh 15-11-2010 on 23:58:32]
<@tvrsh> !delquote 1
<@Info> Удалена цитата номер 1 :: 1"11""" (added by tvrsh 15-11-2010 on 23:58:32).
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi

Re: quote.tcl

Сообщение Бриллиант » 16 ноя 2010 08:55

Больше различных цитат надо было протестировать) проблема осталась например если есть кавычки и запятые, да и вообще может перестать работать с обычными кавычками, я не знаю как этот скрипт устроен, но на одной и той же цитате он ведёт себя по разному.

!addquote привет "мэн", как дела
Цитата добавлена. (номер: 2)
!quote
Tcl error [::quote::quote]: list element in quotes followed by "," instead of space


Может быть стоит саму цитату брать в базе в {}? Пробовал вроде работает, но он берёт в скобки только последнюю цитату, при добавление следующей убирал скобки с предыдущих

set wrstr [list $chan $nick!$uhost $qtime \{$text\}]
Бриллиант
 
Сообщения: 7
Зарегистрирован: 15 ноя 2010 10:12
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Версия бота: Windrop 1.8

Re: quote.tcl

Сообщение tvrsh » 16 ноя 2010 12:03

Проблема была в том, что команды работы со списками(lindex, lrange) применялись к строкам. Подправил скрипт, брать тут: http://www.egghelp.ru/files/332
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi

Re: quote.tcl

Сообщение Бриллиант » 16 ноя 2010 13:19

Теперь при добавление таких цитат с символами через какое то время стирается база и выходит опять эта ошибка
Бриллиант
 
Сообщения: 7
Зарегистрирован: 15 ноя 2010 10:12
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Версия бота: Windrop 1.8

Re: quote.tcl

Сообщение tvrsh » 16 ноя 2010 15:29

Бриллиант писал(а):Теперь при добавление таких цитат с символами через какое то время стирается база и выходит опять эта ошибка

Бред какой-то, сама база стираться не может, да и появляться ошибка тоже не может, так как она исправлена.
Показывай .set errorInfo
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi

Re: quote.tcl

Сообщение Бриллиант » 16 ноя 2010 15:55

!aq привет всем "2""
Цитата добавлена. (номер: 4)
!aq привет всем "2"" d

Tcl error [::quote::addquote]: list element in quotes followed by """ instead of space
.set errorInfo
Currently: list element in quotes followed by """ instead of space
Currently: while executing
Currently: "join $line"
Currently: (procedure "writedata" line 4)
Currently: invoked from within
Currently: "writedata "$quotedir/$quotedata" $qdata"
Currently: (procedure "::quote::addquote" line 28)
Currently: invoked from within
Currently: "::quote::addquote $_pub1 $_pub2 $_pub3 $_pub4 $_pub5"

!q
В базе нет ни одной цитаты.


Присоединил скрипт на пару дней новее версия, но в ней та же беда, скрипт хороший но надо довести до ума.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Бриллиант
 
Сообщения: 7
Зарегистрирован: 15 ноя 2010 10:12
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Версия бота: Windrop 1.8

Re: quote.tcl

Сообщение tvrsh » 16 ноя 2010 16:57

Надоело мне копаться с этой переделкой оригинального скрипта. Взял исходный скрипт, который работает без ошибок, и прикрутил к нему показ времени и даты добавления цитаты. И стали они одинаковы по функционалу.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi

Re: quote.tcl

Сообщение Бриллиант » 16 ноя 2010 17:54

Теперь из-за времени, после перезагрузки бот не видит цитаты, и время добавлено только в рандомные
Бриллиант
 
Сообщения: 7
Зарегистрирован: 15 ноя 2010 10:12
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Версия бота: Windrop 1.8

Re: quote.tcl

Сообщение tvrsh » 17 ноя 2010 12:00

Поправил, смотри в предыдущем посте.
Have fun.
-
Получить помощь можно на каналах #egghelp в сети IrcNet.ru и #eggdrop в сети RusNet(Ключ канала eggdrop).
Перед созданием новой темы внимательно читайте Правила оформления топиков.
Аватара пользователя
tvrsh
 
Сообщения: 1230
Зарегистрирован: 19 авг 2008 16:55
Откуда: Russian Federation, Podolsk
Благодарил (а): 6 раз.
Поблагодарили: 130 раз.
Версия бота: Eggdrop 1.6.20+suzi


Вернуться в TCL скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron