Версия для печати темы
MyDC.ru _ Служебные скрипты [PtokaX] _ Txt_manager
Автор: Setuper 27.1.2009, 14:06
Название: Txt_Manager
Версия API: API 2
Версия скрипта: 1.0
Автор: Setuper
Описание: Скрипт управления текстовыми файлами.
Перенесён из раздела "Запросы скриптов"
1. Команда "+changetxt [имя_файла] [текст]" - изменяет содержимое файла, то есть полностью заменяет содержимое файла на [текст]
Примечание: Если файла с указанным именем нет, то он автоматически создается! Если параметр [текст] отсутствует, то файл становится пустым.
2. Команда "+addtxt [имя_файла] [текст]" - добавляет к содержимому файла, то есть после содержимого файла дописывает [текст]
Примечание: Если файла с указанным именем нет, то он автоматически создается! Если параметр [текст] отсутствует, то в файл ничего не добавляется.
3. Команда "+deletetxt [имя_файла]" - удаляет указанный файл.
Примечание: Данная команда выполняется всегда, даже если файла с указанным именем нет.
Txt_Manager.lua ( 3.07 килобайт )
: 150
Автор: Николай 7.2.2009, 19:53
Выдает ошибку...
Автор: Setuper 7.2.2009, 20:12
Какую ошибку?
Единственное, что может не работать, так это удаление файла в системе windows. Для того, чтобы работало нужно написать:
Код
os.execute(string.gsub("del \""..Core.GetPtokaXPath().."texts/"..hFile.."\"","/","\\"))
Автор: Николай 7.2.2009, 20:17
unfinished string near "<eof>"
Посмари я те лс написал...
Автор: Setuper 7.2.2009, 20:22
Такой ошибки не может быть!
Автор: Николай 7.2.2009, 20:29
Цитата(Setuper @ 7.2.2009, 20:22)
Такой ошибки не может быть!
Ну а ты сам птоку запусти и проверь... И напиши плз простой скрипт блокировоки поиска и скачки незарегиным...
Автор: Wariner 7.2.2009, 20:41
Такой ошибки действительно быть не может ибо только что запускал. если ты уже в скрипте полазил не надо гнать на других....
Автор: Setuper 7.2.2009, 21:08
http://mydc.ru/ipb.html?s=&showtopic=1164&view=findpost&p=9560
Автор: Николай 7.2.2009, 23:09
Цитата(Setuper @ 7.2.2009, 21:08)
http://mydc.ru/ipb.html?s=&showtopic=1164&view=findpost&p=9560
Спс огромное =)
Да реал не пашет((
Автор: Vizunchik 19.2.2009, 22:25
пикольная вещь
Автор: Отшельник 15.6.2009, 19:34
Поставил скрипт,добавил меню
Код
Core.SendToNick(user.sNick,"$UserCommand 1 3 Меню админа\\Текстовые файлы\\Создать txt файл$<%[mynick]> +addtxt %[line:имя_файла] %[line:текст]||")
Core.SendToNick(user.sNick,"$UserCommand 1 3 Меню админа\\Текстовые файлы\\Исправить txt файл$<%[mynick]> +changetxt %[line:имя_файла] %[line:текст]||")
Core.SendToNick(user.sNick,"$UserCommand 1 3 Меню админа\\Текстовые файлы\\Удалить txt файл$<%[mynick]> +deletetxt %[line:имя_файла]||")
меню работает,файл создаёт,но что-то не могу понять почему при запросе не выдает то что в файле я вписал и как правельно запрашивать текст который был создан в файле ??
(я запрашивал как в обычных файлах "+тест" или "!тест )"
Подскажите как им правельно пользоватся)
Автор: Alexey 16.6.2009, 0:38
Цитата(Отшельник @ 15.6.2009, 20:34)
как правельно запрашивать текст который был создан в файле ??
(я запрашивал как в обычных файлах "+тест" или "!тест )"
Подскажите как им правельно пользоватся)
Новые текстовые файлы будут недоступны для вызова командой, пока не выполнишь !reloadtxt.
Автор: Отшельник 16.6.2009, 10:07
перезапустил но не помогло....кстати файлы создаются не в блокноте а в ..... блин даже не могу его сюда загрузить " Неудачная загрузка. Вам запрещено загружать такой тип файлов"
Автор: fixx 16.6.2009, 10:56
Подозреваю, что при создании файла нужно указывать его расширение: тест.txt
И еще пару мыслей добавлю.
1. Нежелательно создавать тхт файлы с русским именем, поскольку некоторые скрипты конфликтуют с командами в кириллице.
2. Создавать через меню хаба файлы с возможностью выбора расширения, "не есть гуд" с точки зрения безопасности.(ИМХО)
Автор: Отшельник 16.6.2009, 16:42
Цитата(fixx @ 16.6.2009, 10:56)
Подозреваю, что при создании файла нужно указывать его расширение: тест.txt
заработало )))
P.S А можно сделать что бы и MOTD через меню можно было делать незалазевши в саму птоку?
Автор: Jaska 16.6.2009, 17:39
Да, за это отвечает функция SetMan.SetMOTD(sString) =)
Автор: Отшельник 16.6.2009, 17:43
Цитата(Jaska @ 16.6.2009, 17:39)
Да, за это отвечает функция SetMan.SetMOTD(sString) =)
спс за инфу...но я нефига не могу сделать
хм... случайно не место этого
Core.GetPtokaXPath() ставить
SetMan.SetMOTD(sString) ?
Автор: Jaska 16.6.2009, 17:55
Английский знаешь? Если перевести то получим:
1) GetPtokaXPath - ПолучитьПтокаПуть, по-русски говоря получить путь до хаба. Эта функция возвращает путь до папки с PtokaX.exe (в Win-версии)
2) SetMOTD - Установить(Message Of The Day)Cообщение дня.
Вот и думай насколько эти функции подходят.
Автор: Отшельник 16.6.2009, 18:28
ладно....хрен с этой задумкой ,вручную буду вводить))
Автор: Jaska 16.6.2009, 18:52
Ну почему сразу "хрен с ней"! С таким подходом ничего не добьешься!
В первом приближении выглядит примерно так .. хотя я думаю есть более оптимальное решение.
CODE
sBot = SetMan.GetString(21) -- Имя бота
tProfiles = { -- Разрешенные профили
[0] = 1,
}
function ChatArrival(tUser,sData)
local sData = sData:sub(1,-2)
local _,_,sCmd = sData:find"%b<>%s+(%S+)"
if sCmd == "!setmotd" then
local _,_,sMsg = sData:find"%b<>%s+%S+%s+(.*)"
if sMsg then
if tProfiles and tProfiles[tUser.iProfile] == 1 then
SetMan.SetMOTD(sMsg)
Core.SendToUser(tUser,"<"..sBot.."> Сообщение дня успешно изменено!")
else
Core.SendToUser(tUser,"<"..sBot.."> Ошибка! У вас нет прав на использование данной команды!")
end
else
Core.SendToUser(tUser,"<"..sBot.."> Ошибка! Вы не ввели текст сообщения дня!")
end
end
return true
end
Автор: Отшельник 16.6.2009, 23:36
Вот сижу и ломаю голову уже полтора часа и не могу понять что и куда притулить .... самому аж смешно.
Автор: fixx 17.6.2009, 0:08
Отшельник
Попробуй это использовать как отдельный скрипт
Уверен - поможет 100%
ЗЫ Сам уже попробовал - работает
Автор: Отшельник 17.6.2009, 0:39
И правда работает!!!
Спасибо Jaska за скрипт,спасибо fixx за пояснения!